# Jev Lead Scoring on 183 Real Businesses

> We ran Jev on 183 real scraped leads. One sentence, no tuning: 175 right, against 176 for rules we tuned by hand on the same data. A third of the list was junk.

[Home](https://quanticdata.io/)/[Blog](https://quanticdata.io/blog/)/Jev Lead Scoring on 183 Real Businesses

# Jev Lead Scoring on 183 Real Businesses

Lead generationSep 28, 2026·7 min read·By [Aldo Morese](https://quanticdata.io/about/), founder of QuanticData

Correctly classified leads out of 183 from a real scraped list of motor workshops: keep everything 120, category filter 173, hand-tuned keyword rules 176, the Jev model with one untuned instruction 175

On this page [A scraped lead list is one third junk](/blog/jev-lead-scoring/#a-scraped-lead-list-is-one-third-junk) [Four ways to sort the same list](/blog/jev-lead-scoring/#four-ways-to-sort-the-same-list) [The probability tells you which leads to check](/blog/jev-lead-scoring/#the-probability-tells-you-which-leads-to-check) [What it costs](/blog/jev-lead-scoring/#what-it-costs) [How to write the one sentence](/blog/jev-lead-scoring/#how-to-write-the-one-sentence)

Everyone showing Jev on lead scoring shows the same thing: a handful of invented leads, a question, a confident number. Nobody shows it on a real list. So we took one. In September we built a list of motor workshops for a lubricant distributor, scraped from a business directory and Google Maps, and cleaning it took several rounds of writing keyword rules. On 28 September 2026 we drew 200 businesses from that list at random, labelled them by hand, and asked Jev, the decision model TypeSafe AI released on 15 September, to sort them with a single sentence. It got 175 of 183 right. Our rules got 176.

## A scraped lead list is one third junk

The list started as 7,322 raw rows: every result of searching the directory and Maps for "mechanic workshop" and its synonyms in each town of the province of Caserta, in southern Italy. Merged and deduplicated, that was 1,257 businesses. The buyer sells engine oil and lubricants, so the target is precise: workshops that service or repair cars, vans and trucks. Search does not respect that boundary. Of the 183 businesses we could label with confidence, 63 were not targets:

| What search returned | Businesses |
| --- | --- |
| Target: repair and maintenance workshops, auto electricians, inspection centres, brand service shops | 120 |
| Tyre shops | 13 |
| Body shops and car glass | 12 |
| Fuel stations (the directory files them under roadside assistance) | 11 |
| Car dealers, brokers and rental | 9 |
| Unrelated: a florist, a bar, a hairdresser, a library, a jeweller, a medical lab, a food company | 8 |
| Parts stores | 4 |
| Industrial machine shops and equipment suppliers | 4 |
| Motorcycle and scooter shops | 2 |

The unrelated ones are there because "officina" means workshop in Italian and turns up in the names of a florist, a hair salon and a cultural centre. Seventeen more businesses in the sample were genuinely ambiguous, for example a listing that Maps calls a tailor and the directory calls a workshop, or a towing company that may or may not repair cars; we left those out rather than guess. Labels were made by one person reading the name, both categories, the directory description and the website domain.

## Four ways to sort the same list

Each method saw the same fields a buyer's pipeline would have: business name, Google Maps category, directory category, directory description and website domain. No web visits, no extra data.

| Method | Correct of 183 | Wrong leads kept | Good leads dropped |
| --- | --- | --- | --- |
| Keep everything search returned | 120 (65.6%) | 63 | 0 |
| Category filter (the Maps or directory category says workshop) | 173 (94.5%) | 8 | 2 |
| Our keyword rules, tuned by hand on this data for the delivery | 176 (96.2%) | 7 | 0 |
| Jev, one Noul, threshold 0.5 | 175 (95.6%) | 6 | 2 |

The rules deserve a word, because they are the honest baseline. They took several rounds of work: two category allow lists and two deny lists, a name pattern to rescue workshops filed as roadside assistance, and exceptions discovered by reading hundreds of rows (Google labels many workshops in the province "Auto machine shop", which a naive list would drop). They were written on this very data, so they are as good as rules get. Jev got one sentence describing the target, written once, and matched them within one lead.

Where they disagree is instructive. The rules kept a tyre shop because the directory also filed it under workshops; Jev read "professional tyres" in the name and dropped it. Jev dropped a dealer that also runs a service workshop, and a body shop whose name says it is also an auto electrician; the rules, which had been told about those cases, kept both. And both methods kept five body shops that Google files as "Auto repair shop". Those may even be right: many Italian body shops do some mechanical work. They are the cases where a human would pick up the phone.

## The probability tells you which leads to check

As in [our test on scraped block pages](https://quanticdata.io/blog/jev-block-page-detection/), Jev's probabilities were more useful than its yes or no. Targets scored a median of 0.91; non-targets a median of 0.08. Every one of the eight disagreements with our labels fell between 0.3 and 0.8:

| Policy | Accepted | Dropped | Sent to review | Errors |
| --- | --- | --- | --- | --- |
| Single threshold at 0.5 | 124 | 59 | 0 | 8 |
| Accept above 0.8, drop below 0.3, review the rest | 109 | 55 | 19 | 0 |

That second line is what a lead vendor wants: 164 of 183 businesses decided automatically with no errors, and 19 (about 10%) flagged for a human, which is roughly one phone call per ten rows. We chose 0.3 and 0.8 by looking at these same scores, so treat them as a starting point, not a law.

## What it costs

The 183 calls cost $0.0047 through OpenRouter, a median of 612 input tokens each and 331 ms median latency. That is about $0.026 per 1,000 leads to score. For scale: our [Google Maps collector](https://quanticdata.io/collectors/google-maps-scraper-api/) charges $0.001 per delivered place, so filtering with Jev adds under 3% to the cost of the raw list, and the [local business leads collector](https://quanticdata.io/collectors/lead-scraper-api/) charges $0.01 per delivered lead with contacts. Against a list where a third of the rows are not the buyer's target, a quarter of a cent per hundred leads is the cheapest cleaning step in the pipeline.

```
import requests

OR_KEY = "your-openrouter-key"

TARGET = ("This business is a workshop that does mechanical maintenance or repair on cars, vans or trucks "
          "(an auto repair shop, auto electrician, vehicle inspection centre with a workshop, brand service "
          "workshop, radiator, exhaust or gas-system specialist), and so would buy engine oil and lubricants. "
          "It is not mainly a body shop, tyre shop, parts store, car dealer, fuel station, towing service, "
          "motorcycle or scooter shop, industrial machine shop, or an unrelated business.")

def score_lead(lead):
    state = {
        "business_name": lead["name"],
        "google_maps_category": lead.get("maps_category") or "(none)",
        "directory_category": lead.get("directory_category") or "(none)",
        "directory_description": lead.get("description") or "(none)",
        "website_domain": lead.get("domain") or "(none)",
    }
    r = requests.post("https://openrouter.ai/api/alpha/decisions",
        headers={"Authorization": "Bearer " + OR_KEY},
        json={"model": "typesafe/jev-1.13", "state": state,
              "questions": {"target": {"type": "noul", "instructions": TARGET}}},
        timeout=30)
    p = r.json()["answers"]["target"]["noul"]
    return "keep" if p > 0.8 else "drop" if p < 0.3 else "review"
```

## How to write the one sentence

The instruction is the whole model, so it is worth writing like a spec:

- **Say what the buyer does with the lead.** "Would buy engine oil and lubricants" does more work than any list of business types, because it lets the model reason about the edge cases you did not list.

- **Name the near misses explicitly.** Tyre shops, body shops, dealers and fuel stations are the neighbours search drags in. Naming them is what separates this from "is this a car business".

- **Keep structure in code.** Phone present, address in the province, business still operating: those are fields, not judgments, and checking them costs nothing.

- **Add a Choice when you need the reason.** We also asked Jev what each business mainly was; on the 63 non-targets it said tyres 13 times, fuel 11, dealer 9, body shop 7, unrelated 7. That breakdown is what you show a buyer who asks why their list shrank.

What Jev does not replace is the data. It sorted these businesses from five short fields because those fields existed: two independent sources, categories from both, a description where the directory had one. The reason the list was worth sorting is that it was [collected from more than one source](https://quanticdata.io/scrape-company-data/) in the first place. We wrote about what those fields actually contain, and how often, in [our analysis of 458 Google Maps leads](https://quanticdata.io/blog/what-a-google-maps-lead-contains/).

### Sources & further reading

- [OpenRouter API reference: Submit a Decisions request](https://openrouter.ai/docs/api/api-reference/alphadecisions/submit-a-decisions-request)

- [OpenRouter model page: TypeSafe Jev 1.13](https://openrouter.ai/typesafe/jev-1.13)

- [TypeSafe AI docs: Models (limits and pricing)](https://docs.typesafe.ai/models)

- [Introducing System One Models and Jev, TypeSafe AI blog](https://typesafe.ai/blog/introducing-system-one-models-and-jev)

- [Jev (AI model), Wikipedia](https://en.wikipedia.org/wiki/Jev_(AI_model))

## FAQ

Quick answers on jev lead scoring.

[Something else? Ask us →](mailto:hello@quanticdata.io)

### Can Jev score leads accurately?

On 183 hand-labelled businesses from a real scraped list it judged 175 correctly with one untuned instruction, against 176 for keyword rules we had tuned on the same data and 120 for keeping everything. Its eight disagreements with our labels all scored between 0.3 and 0.8.

### How much does lead scoring with Jev cost?

Our 183 calls cost $0.0047 through OpenRouter, a median of 612 input tokens each, which is about $0.026 per 1,000 leads. Median latency was 331 ms.

### What threshold should I use?

On our sample, accepting above 0.8 and dropping below 0.3 decided 164 of 183 leads with no errors and left 19 for review. We picked those cut-offs on the same data, so check them against a labelled sample of your own.

### Is Jev better than keyword rules for filtering leads?

It matched them, which is the point: the rules took rounds of reading rows and writing exceptions, while Jev needed one sentence written once. For a new niche or country, that difference is the whole cost of the cleaning step.

### What information does Jev need to qualify a lead?

Text only. We gave it the business name, the Google Maps category, the directory category, the directory description and the website domain. Structured checks such as phone present or address in the right province are better done in code.

### Why do scraped lead lists contain the wrong businesses?

Because search matches words, not trades. In our sample searching for mechanic workshops also returned tyre shops, body shops, fuel stations, dealers, parts stores, and a florist and a hairdresser whose names contain the Italian word for workshop: 63 of 183 businesses.

## Start from a list worth sorting

Our collectors deliver Google Maps places and local business leads from more than one source, priced per delivered result, with failed runs never billed. Every account gets $2 of free usage each month.

[Start free — $2/month included](https://quanticdata.io/signup/)[Explore Scrape Company Data with AI](https://quanticdata.io/scrape-company-data/)

## Related reading

[Lead generation Google Maps Leads: What 458 Rows Contain Every Google Maps scraper page lists the fields you get. None of them publish how often those fields are actually filled. We collected 458 dentist listings across Milan, Berlin, Madrid, Paris and London on one afternoon and counted: phone 99.3%, website 96.5%, rating 99.6%, review count 12.7%, an email on the site pass 60.3%. Cost per usable lead, the Paris booking-platform problem, the method, the limitations and the published dataset. Read →](https://quanticdata.io/blog/what-a-google-maps-lead-contains/) [Lead generation How Much Does a Lead Cost? Price by Source The word "lead" covers a scraped business record and a booked sales meeting, and they differ in price by four orders of magnitude. Published per-record prices from named list vendors, agency retainer and pay-per-lead rates, paid-search cost per lead, blended cost-per-lead benchmarks by industry, and our own first-hand measurement of $0.0101 to $0.0143 per usable business record from public data. What each number does and does not include. Read →](https://quanticdata.io/blog/how-much-does-a-lead-cost/) [Lead generation How to Find B2B Clients From Public Data Businesses publish their category, location, phone and website on maps, and their email addresses on their own sites. Collecting that into a targeted prospect list is the cheap part: our measurement puts a usable business record at $0.0143. The workflow, the yield you should expect at each step from 458 measured records, and the part most guides skip: which lawful basis lets you actually email the list in Italy, Germany, Spain, France and the UK, with the regulator page for each. Read →](https://quanticdata.io/blog/how-to-find-b2b-clients-from-public-data/)

## Also on this site

Quantic**Data**

Residential proxies & web data APIs for AI.

#### Proxies

- [Residential Basic](https://quanticdata.io/residential-proxies/#basic)

- [Residential Premium](https://quanticdata.io/residential-proxies/#plans)

- [Cheap Residential](https://quanticdata.io/cheap-residential-proxies/)

- [Mobile Proxies](https://quanticdata.io/mobile-proxies/)

- [Datacenter Proxies](https://quanticdata.io/datacenter-proxies/)

- [ISP Proxies](https://quanticdata.io/isp-proxies/)

- [Rotating Proxies](https://quanticdata.io/rotating-proxies/)

- [Sneaker Proxies](https://quanticdata.io/sneaker-proxies/)

- [SOCKS5 Proxies](https://quanticdata.io/socks5-proxies/)

- [IPv6 Proxies](https://quanticdata.io/ipv6-proxies/)

- [Proxy locations](https://quanticdata.io/proxies/)

#### Data APIs

- [MCP Server](https://quanticdata.io/mcp-server/)

- [Web Scraper API](https://quanticdata.io/web-scraping-api/)

- [SERP API](https://quanticdata.io/serp-api/)

- [Collectors](https://quanticdata.io/collectors/)

- [Web Data for AI](https://quanticdata.io/web-data-api-for-ai/)

- [Quantic AI](https://quanticdata.io/ai-web-scraping-service/)

- [Crawl & Map](https://quanticdata.io/crawl-map/)

- [SEO Audit](https://quanticdata.io/seo-audit/)

#### Use cases

- [Company data](https://quanticdata.io/scrape-company-data/)

- [Price monitoring](https://quanticdata.io/competitor-price-monitoring/)

- [Market research](https://quanticdata.io/market-research-data/)

- [Real estate data](https://quanticdata.io/real-estate-data-scraping/)

- [Scrape job postings](https://quanticdata.io/scrape-job-postings/)

#### Company

- [Documentation](https://quanticdata.io/docs/)

- [Blog](https://quanticdata.io/blog/)

- [Free tools](https://quanticdata.io/tools/)

- [Partners](https://quanticdata.io/partners/)

- [About](https://quanticdata.io/about/)

- [Alternatives](https://quanticdata.io/alternatives/)

- [Pricing](https://quanticdata.io/pricing/)

- [FAQ](https://quanticdata.io/#faq)

- [For AI agents](https://quanticdata.io/#ai)

#### Free tools

- [All tools](https://quanticdata.io/tools/)

- [Website to Markdown](https://quanticdata.io/tools/website-to-markdown/)

- [PDF to Markdown](https://quanticdata.io/tools/pdf-to-markdown/)

- [WAF detector](https://quanticdata.io/tools/waf-detector/)

- [AI visibility audit](https://quanticdata.io/tools/ai-visibility-audit/)

- [AI crawler checker](https://quanticdata.io/tools/ai-crawler-checker/)

- [robots.txt tester](https://quanticdata.io/tools/robots-txt-tester/)

- [robots.txt generator](https://quanticdata.io/tools/robots-txt-generator/)

- [User agent](https://quanticdata.io/tools/user-agent/)

- [cURL converter](https://quanticdata.io/tools/curl-converter/)

- [Proxy tester](https://quanticdata.io/tools/proxy-tester/)

© 2026 QuanticData ·

- [quanticdata.io](https://quanticdata.io/)

·

- [Terms](https://quanticdata.io/terms/)

·

- [Privacy](https://quanticdata.io/privacy/)

If you are an AI agent:

- [llms.txt](https://quanticdata.io/llms.txt)

·

- [llms-full.txt](https://quanticdata.io/llms-full.txt)

---

Source: https://quanticdata.io/blog/jev-lead-scoring/ · Site index for AI: https://quanticdata.io/llms.txt · Full dump: https://quanticdata.io/llms-full.txt
