EggAI · Lead ranking benchmark · June 2026 campaign
Each method picks 500 customers per call list. We check who really spent enough in June.
Score = share of the 500 picked customers who reached their June spend target. Random pick: 5.8% churn, 38.1% toploss.
What the agent reads from customer data is sent to an outside AI service.
All data stays on our servers or in the client's private environment.
A wholesale client has two June call lists. Churn: customers who stopped coming, target 5,000 THB. Toploss: big spenders whose spend dropped, target 1.3× their recent monthly spend. We can call 500 per list. All four methods get the same 3 files.
| day_sid | Month | invoice_no | cust | division | class | prod_num | product_name_th | Sales | Qty |
|---|---|---|---|---|---|---|---|---|---|
| 20260412 | 4 | INV-0418827 | C-104772 | FRESH FOOD | Pork | 210033871 | หมูสามชั้นสไลซ์ 1 กก. | 1,890.00 | 10 |
| 20260412 | 4 | INV-0418827 | C-104772 | DRY FOOD | Cooking oil | 110502114 | น้ำมันปาล์ม 18 ลิตร | 1,045.00 | 1 |
| 20260412 | 4 | INV-0418827 | C-104772 | NON FOOD | Packaging | 310877405 | กล่องข้าวกระดาษ 500 ชิ้น | 690.00 | 2 |
| 20260419 | 4 | INV-0433105 | C-208315 | DRY FOOD | Rice | 110100045 | ข้าวหอมมะลิ 15 กก. | 2,350.00 | 5 |
| 20260503 | 5 | INV-0450911 | C-208315 | FRESH FOOD | Vegetables | 220410382 | ผักกาดหอม 1 กก. | -85.00 | -1 |
| row_id | cust | offer_month | offer_min_spend | file |
|---|---|---|---|---|
| 8000001 | C-104772 | 2026-06-01 | 5,000 | candidates_churn |
| 8000002 | C-311940 | 2026-06-01 | 5,000 | candidates_churn |
| 8000003 | C-208315 | 2026-06-01 | 14,300 | candidates_toploss |
| 8000004 | C-415006 | 2026-06-01 | 6,000 | candidates_toploss |
| 8000005 | C-500218 | 2026-06-01 | 31,800 | candidates_toploss |
Example rows are made up. Real customer data stays on the secure server.
Next run starts over.
The agent runs inside. No data goes out.
Random pick: 38.1% (below the axis).
Potential redeemers = customers whose June spend reached the promotion target. How many does each method catch in its top 10,000?
| Random pick | Claude Code | EggAI extended | EggAI agent | |
|---|---|---|---|---|
| Churn · 4,127 potential redeemers in 70,908 | ||||
| Caught in top 10,000 | 582 | 1,682 | 2,033 (+351) | 2,002 (+320) |
| Share of all redeemers caught | 14% | 41% | 49% | 49% |
| Toploss · 18,551 potential redeemers in 48,631 | ||||
| Caught in top 10,000 | 3,815 | 7,005 | 7,688 (+683) | 7,644 (+639) |
| Share of top 10,000 who redeem | 38% | 70% | 77% | 76% |
Claude Code only hands in 500 names, so we re-ran each Claude run's own final code to score every candidate (the re-run gives back exactly the same 500). Claude Code = mean of 3 runs (churn 1,674 / 1,680 / 1,691).
Each dot is one run. Tighter = more consistent.
| Claude Code | EggAI pretrained | EggAI extended | EggAI agent | |
|---|---|---|---|---|
| Cost | ||||
| 1 run | $0.60 | $0.17 | $0.20 | $0.13 |
| 100 runs | $60 | $17 | $20 | $13 |
| 1,000 runs | $598 | $172 | $198 | $126 |
| Time (Claude Code: 32 CPU cores, 32 GB RAM · EggAI: GPU batch inference) | ||||
| 1 run | 4.6 min | 1.6 min | 2.5 min | 1.2 min |
| 100 runs | 7.6 h | 1.7 h | 2.0 h | 1.3 h |
| 1,000 runs | 76 h | 17 h | 20 h | 13 h |
| Potential redeemers in the churn top 500 (vs Claude Code) | ||||
| 1 run | 163 | 192 (+29) | 242 (+79) | 253 (+90) |
| 100 runs | 16,250 | 19,200 (+2,950) | 24,200 (+7,950) | 25,300 (+9,050) |
| 1,000 runs | 162,500 | 192,000 (+29,500) | 242,000 (+79,500) | 253,000 (+90,500) |
1 run = rank both lists once. EggAI cost = GPU time of all reads (3 per list, 2 lists) at $1.25 per GPU-hour; data prep runs ahead of time. Claude Code = Claude Opus 5.5 API as billed + CPU at $0.05 per core-hour. EggAI time is GPU batch inference. Claude Code runs one agent at a time on 32 CPU cores and 32 GB RAM. 100 and 1,000 runs = measured run × 100 / × 1,000. EggAI agent also spends 23 min of one GPU (about $0.47) once, the first time it sets up a new kind of list; later runs reuse that set-up.
| Claude Code | EggAI pretrained | EggAI extended thinking | EggAI agent | |
|---|---|---|---|---|
| Data privacy | ||||
| Private transaction data sent outside | Yes: everything the agent reads goes to an outside AI service | No: stays on our servers or private environment | No: stays on our servers or private environment | No: the agent runs on our servers too |
| Paid to an outside AI service, per 1,000 runs | $477 | $0 | $0 | $0 |
| Works with the client's private data | Only by sending it to the outside AI service | Yes: plugs into private data inside the client's environment | Yes: plugs into private data inside the client's environment | Yes: plugs into private data inside the client's environment |
| Accuracy | ||||
| Churn score | 32.5%3 runs ranged 28.6 – 36.2% (7.6 pts) | 38.4%single reads 34.6 – 37.0% (2.4 pts) | 48.4%single reads 47.4 – 49.4% (2.0 pts) | 50.6%single reads 47.8 – 50.4% (2.6 pts) |
| Toploss score | 96.1%3 runs ranged 93.4 – 98.2% (4.8 pts) | 97.6%single reads 96.6 – 98.0% (1.4 pts) | 98.2%single reads 96.8 – 97.6% (0.8 pts) | 97.8%single reads 96.6 – 97.8% (1.2 pts) |
| Churn vs random pick | 5.6× | 6.6× | 8.3× | 8.7× |
| Churn: potential redeemers in top 10,000 | 1,682 | 1,244 | 2,033 | 2,002 |
| Toploss: potential redeemers in top 10,000 | 7,005 | 7,050 | 7,688 | 7,644 |
| Consistency (3 runs) | ||||
| Churn: lowest to highest | 28.6 – 36.2% (7.6 pts) | 34.6 – 37.0% (2.4 pts) | 47.4 – 49.4% (2.0 pts) | 47.8 – 50.4% (2.6 pts) |
| Toploss: lowest to highest | 93.4 – 98.2% (4.8 pts) | 96.6 – 98.0% (1.4 pts) | 96.8 – 97.6% (0.8 pts) | 96.6 – 97.8% (1.2 pts) |
| Same method every run | No: 3 runs, 3 different methods | Yes | Yes | Yes |
| Cost | ||||
| Per run | $0.60 | $0.17 | $0.20 | $0.13 |
| Per 1,000 runs | $598 | $172 | $198 | $126 |
| Per 1,000 potential redeemers (churn top 500) | $3.68 | $0.90 | $0.82 | $0.50 |
| Speed | ||||
| Time per run | 4.6 min (3.3 – 5.9) | 1.6 min | 2.5 min | 1.2 min |
| 1,000 runs | 76 h | 17 h | 20 h | 13 h |
| How it works | ||||
| Input | Same 3 files | Same 3 files | Same 3 files | Same 3 files |
| Trains a new model each run | Yes | No | No | No |
| Set-up for a new kind of list | One sentence + retail/wholesale analyst and data scientist skill.md | One-time set-up | One-time set-up | AI agent on our servers sets it up itself (23 min, once) |
| Hardware | 32 CPU cores, 32 GB RAM | GPU | GPU | GPU |
EggAI · Lead ranking benchmark · June 2026 campaign