Article
CommunityJev Guides & Articles
I Tested Jev on Entity Resolution
Kervin Hu's Neo4j Developer Blog experiment runs Jev Noul over 1,822 blocker-filtered candidate pairs from 703 synthetic contact records: F1 0.943 at a 0.5 threshold, about two cents per thousand pairs, and a hybrid reaching 0.972.
- Format
- Article
- Reading time
- 3 min
- Published by
- Community
- Author
- Kervin Hu
- Last verified
- Oct 2026
- Capabilities
- Requires API key
Highlights
- 703 synthetic contact records for 330 fake people from CRM, email, event sign-ups, and LinkedIn, plus 34 pairs of different people sharing a full name.
- Neo4j blocking reduced 246,753 possible pairs to 1,822, a 135x cut that kept 95% of true duplicate pairs; company and email domain were rejected as keys.
- One Jev Noul call per candidate pair, about 300-500 ms each and roughly two cents per thousand pairs at a shared 0.5 threshold.
- Jev scored F1 0.943, between Claude Haiku 4.5 and Claude Opus 5 (0.967); GPT-5.6 Sol led at 0.985, and Jev cost about one hundredth of Sol.
- The hybrid escalated the 194 pairs (10.6%) where Jev returned 0.3-0.7 to Opus, reaching F1 0.972 at 17% of Opus's cost.
Watch out
Synthetic data and one author's setup: the 0.985-0.943 comparisons are Kervin Hu's own runs using each vendor's structured output with vendor-default prompts, not vendor benchmarks. Jev's reliability curve is S-shaped (too eager near 0.4, too cautious near 0.7), and GPT-5.6 Luna's probability field behaved like confidence in its boolean.
Questions about this entry
Short answers drawn from the linked project or page.
Entity resolution over 703 synthetic contact records for 330 fake people from four systems (CRM, email, event sign-ups, LinkedIn), with realistic duplicate perturbations and 34 pairs of different people who share a full name.
From 246,753 possible pairs to 1,822, a 135x reduction, while keeping 95% of true duplicate pairs. Company and email domain were rejected as blocking keys because they produced 4,821 pairs with 89% noise.
About two cents per thousand pairs and 300-500 ms per call, with one Noul call per candidate pair whose state carries record_a and record_b. The full Jev benchmark in the companion repository costs about three cents.
At a shared 0.5 threshold: GPT-5.6 Sol F1 0.985, Claude Opus 5 0.967, Jev 0.943 (between Claude Haiku 4.5 and Opus). Jev cost about one hundredth of Sol and had about one fifth of its median latency.
Only the 194 pairs (10.6%) where Jev returned 0.3-0.7 go to Claude Opus 5. The hybrid reaches F1 0.972, slightly above Opus alone, at 17% of Opus's cost; Haiku had no pairs in the 0.4-0.7 band to escalate.
Its boolean agreed with ground truth on 98% of pairs, but its probability field behaved like confidence in the boolean, so 1,226 non-matches came back as same_person false with probability 0.99; the graph merged 330 people into 197. The author calls this the strongest argument for the Noul design.
Jev's 46 false positives were same-name, different-employer, nickname, or typo cases; its 15 false negatives had a personal email, no phone, and no company. Its reliability curve is S-shaped: too eager around 0.4 and too cautious around 0.7.
From the Jev guides
Original write-ups on what this entry is for.
From the Jev AI model community
Posts from builders shipping with Jev right now.