A benchmark for AI purchasing in a simulated wholesale distributor.
October 2026 · Results · Design · Explore a season · Limitations
LarkBench tests how well AI models handle a simulated distributor buyer's job: what to order, how much, and when, week after week, while demand moves around and vendors ship late. We want to know two things: how much profit today's models leave on the table, and whether they beat representative ordering rules.
At a distributor, the buyer decides what's on the shelves. Margins are thin and stock ties up a lot of cash, so mistakes cost real money either way: buy too little and customers go elsewhere, buy too much and the money sits in the warehouse. Many distributors let their ERP suggest orders with a reorder point, which just says "when stock drops below this level, order more." A good buyer earns their keep on everything that rule misses: a truck that's late or never comes, demand that shifts for good, a big one-off job, an item the vendor is dropping, a rep's tip that turns out to be wrong.
LarkBench tests how AI models handle realistic purchasing scenarios across a vendor’s full product line, including business constraints and edge cases such as order minimums, free-freight thresholds, pack sizes, spending limits, late deliveries and bad data. Each model manages 15 to 30 products at a simulated distributor. We measure how much profit it keeps after costs and compare its results with rule-based buyers.
A book is one vendor's product line at a simulated distributor: 15 or 30 items, each with at least a year of sales history, normal starting stock and some open POs. A season is 26 weeks, with one ordering decision a week. Customers order every week. If something is out of stock the order waits, it may get cancelled, and a customer who gets shorted too often stops ordering. The vendor has an order minimum, a free-freight threshold, pack sizes and lead times, and shipments can come late, come short, or not come at all. The 30-item books also have a weekly spending limit.
The benchmark covers a broad set of real-world purchasing problems and edge cases. The scenarios draw on public statistics, research papers and trade reporting, trends we have observed among our customers, and conversations with more than 50 distributors. We set how often they occur in the simulator using published numbers where available and stated assumptions otherwise.
Each scheduled disruption leaves a clue in the information the buyer can access, such as a change in sales, a vendor notice, or an unconfirmed purchase order. Across the benchmark, products go through a full 26-week season without a scheduled disruption about half the time.
| What happens | The clue | The right move |
|---|---|---|
| A shipment comes late, short or not at all | silent the PO is never confirmed; the vendor will say where it is if asked | Ask the vendor and reorder in time |
| Demand goes up or down for good | silent the sales history | Tell a real shift from a noisy week |
| A big one-off customer order | announced it shows up on the books weeks ahead | Have the stock before it ships |
| The vendor drops an item | announced a notice with the last order date | Sell it down without getting stuck with leftovers |
| A price increase | announced a notice with the date it starts | Buy some ahead, not a year's worth |
| Tips from customers, reps and the vendor | rumored right about 65% of the time, more or less depending on who said it | Trust each source as much as it has earned |
| Substitutes and look-alikes | silent the item descriptions | Only count a substitute if it really is one |
| Bad data | silent units that don't match, dead PO lines, renamed items | Check before you trust it |
| A supply crunch | silent late and short deliveries keep piling up | Keep extra on hand and chase the vendor early |
Each week, the model reviews a simulated ERP screen showing inventory, open orders, recent sales and suggested purchases. It can investigate with look-ups and send vendor questions, answered the following week. It then places one PO and writes a note for next week. All models have the same interface and limits within each setup.
| Item | On hand | On order | Sales4 / 13 / 52 weeks | ERP suggests | Status |
|---|---|---|---|---|---|
| Nitrile gloves, large, box of 100Item 3 | 2 | 0 BX | 2 / 29 / 117 | 14 BX | — |
| Floor scraper blade 4 inItem 5 | 0 | 2 PK (2) | 0 / 0 / 0 | — | Out of stockPO line past due |
| Circuit breaker 20A single poleItem 13 | 0 | 12 EA (1) | 8 / 21 / 69 | — | Out of stock |
| Copper coupling 3/4 inItem 14 | 0 | 0 EA | 19 / 95 / 255 | 24 EA | Out of stock |
We compare three setups:
Demand margin is the margin on all customer orders at list prices and costs. Net profit is earnings after costs, including an adjustment for the inventory, open orders and waiting customers left at week 26.
The adjustment uses another 26 weeks of simulated trading to account for future overstock and shortages. Losses count in full, and scores can exceed 100%.
All 160 books contribute to our difficulty-weighted score. We give 40 harder books three times the weight, selected using separate calibration runs. Books with larger demand margins also contribute more.
We compare the models with three non-AI purchasing strategies:
This gives the starting order. The rule then applies stock limits and a check on potential write-offs, and adjusts for freight, vendor minimums, promotions and pack sizes. It also handles stale orders and recorded substitutes.
The screen-only planner provides a reference score; it is not a proven optimum.
Scores show how much of the margin on all customer orders the buyer keeps after costs. 100% means keeping the full margin at the listed buying and selling prices; 63.6% means $63.60 in net profit for every $100 of that margin. Discounts can push scores above 100%.
| Model or baseline | Score |
|---|---|
| GPT-6.1 Sol | 63.6% |
| Gemini 4 Argon | 58.3% |
| Claude Opus 5.5 | 57.6% |
| Careful rule | 56.3% |
| ERP reorder point | 37.7% |
| Screen-only planner (reference) | 59.5% |
Table 1. Difficulty-weighted scores on the same 160 books × 3 draws. Each AI model completed one full run using look-ups.
Sol leads the other models and the careful rule under the current scoring method. Opus and Gemini score close to the careful rule, with no clear difference in this evaluation. All three models outperform the ERP reorder rule.
Figure 2 compares three setups on the same 50 books. Rule-based suggestions raised the recorded scores modestly. Showing records up front helped Opus in this run and made little difference for Sol and Gemini. The setups supply different information, so this comparison does not isolate the value of tools.
| Setup | Score | Estimated cost per season |
|---|---|---|
| GPT-6.1 Sol | ||
| With look-ups | 62.6% | $3.98 |
| Formula → AI | 63.3% | $3.97 |
| One screen | 62.6% | $2.32 |
| Claude Opus 5.5 | ||
| With look-ups | 57.7% | $3.45 |
| Formula → AI | 59.5% | $3.01 |
| One screen | 60.2% | $4.53 |
| Gemini 4 Argon | ||
| With look-ups | 59.0% | $6.55 |
| Formula → AI | 61.0% | $6.37 |
| One screen | 58.7% | $4.54 |
| Model | Run 1 | Run 2 | Run 3 |
|---|---|---|---|
| GPT-6.1 Sol | 66.1% | 65.8% | 65.1% |
| Claude Opus 5.5 | 59.5% | 62.8% | 61.4% |
| Gemini 4 Argon | 60.2% | 60.6% | 60.6% |
| Careful rule | 60.9% (no randomness) | ||
Table 2. Each model played the same 20 books × 3 draws three times, with Run 1 taken from the main evaluation. Scores use the same difficulty weighting. These books are easier than the full set, so compare scores within this table.
After the runs, we analyzed where the models lost sales and incurred costs that reduced their profit. We split what each model didn't keep into five parts: sales missed because the shelf was empty, the cost of holding stock, customers kept waiting, other operating costs (ordering, freight and fees, net of discounts), and the end-of-season adjustment from section 2.3, which charges for excess stock and for a short shelf alike.
Per $100 of margin on customer orders, all three models lose about $10–$12 to missed sales. Holding stock costs Sol $10.00, Opus $12.90 and Gemini $13.50. End-of-season adjustments cost another $4.60 for Sol, $8.00 for Opus and $10.30 for Gemini, reflecting both excess stock and shortages. The logs show several recurring mistakes:
The replay below rebuilds full seasons on two practice books from the models' logs. Pick a book and a model or baseline to see what it looked up each week, what it ordered and why, what happened to stock and sales, and what the season threw at it. The moments below jump straight to the week.
The vendor says a gauge is being discontinued, with last orders by week 11. All three models and both baselines run it down without getting stuck with leftovers.
Breaker demand drops 30% with no warning. Sol cuts back in this example; across the scored demand drops it responds less than the other models. Gemini orders 20 more while it still has 31, about 22 weeks of stock.
A customer books nine clamps, two weeks out. All three models see it. None of them has the clamps when the order ships.
A customer books 22 washers, three weeks out. Every model and baseline has them ready.
Linked clamp stock already covers its nine-unit booking.
The substitute didn't fill the order, and nine units of sales were lost.
Next, we plan to evaluate the 52-week version already built and test more models.