If you provide raw data to agents, the best way to bankrupt your clients is to just keep doing what you're doing.
Here's the core problem: agents are being forced to download a mountain of data to derive answers the data source should have provided directly.
We did an experiment to show how serious this problem is.
The experiment
We used a Mycelium network (an experimental data layer that returns derived stats instead of raw rows) to run these tests.
Imagine an AI agent that needs one career baseball stat. Hank Aaron's career home runs or Nolan Ryan's ERA, WHIP, or strikeouts per nine.
In the traditional raw-data model the agent doesn't get the answer. It gets every season row required to compute the answer itself, dumped as JSON.
In the derivative model the agent asks for the finished number and receives one value.
We ran this on the full historic Lahman baseball database using Hank Aaron and Nolan Ryan. Token counts came from OpenAI's cl100k_base tokenizer on the actual JSON payloads an agent would see. The DIY side only received the minimum columns needed for each calculation. That is the generous case for raw data.
The results were not ambiguous.
The numbers
| What we asked for | Season rows | DIY tokens | One-answer tokens | Reduction |
|---|---|---|---|---|
| Career home runs (Aaron) | 23 | 502 | 20 | 96% |
| OPS (Aaron) | 23 | 1,215 | 21 | 98% |
| Career ERA (Ryan) | 27 | 707 | 23 | 97% |
| Fielding percentage (Aaron) | 36 | 1,063 | 23 | 98% |
| Career strikeouts (Ryan) | 27 | 572 | 22 | 96% |
| WHIP (Ryan) | 27 | 815 | 23 | 97% |
Same pattern for simple sums, fixed rate formulas, and LLM-derived stats. Ten pre-defined stats cost 6,074 tokens when fetched separately versus 213 tokens when the source returned the finished answers (96% savings). Eight derived stats cost 6,402 versus 182 (97% savings).
The bigger picture
- Separate fetches for all 18 example stats: 12,476 tokens and 439 season rows.
- One derived answer per stat: 395 tokens.
- Savings: 12,081 tokens (97%).
Even a smart client that reuses three shared pulls (Aaron batting + Ryan pitching + Aaron fielding) still burns 3,854 tokens. Mycelium stays at 395. That's still a 90% cut.
And remember, these numbers already give raw data the benefit of the doubt. Full database rows typically cost two to three times more.
Why this matters
Agents can compute batting average or OPS. But they shouldn't have to. When a thousand agents all want the same deterministic result, making every one of them re-download the same rows and redo the same math isn't flexibility. It's pure waste.
Think of it this way: if a robot asks for a screwdriver, handing it a mine, a smelter, and a steel mill is technically complete, but practically insane. Raw records are the ore. Derivative data is the screwdriver.
A serious data source shouldn't stop at exposing raw data. It should also return derivative data that agents request. These derivative results aren't approximations, they are exact, relative to the source records and the derivation logic. A well-designed system can optionally return the provenance so any client can audit the answer.
Traditional data interfaces were built for expensive human analysts. Agents are cheap and they arrive in volume. 97% fewer tokens is not a nice-to-have. It is the difference between a data source that scales and one that quietly bankrupts its clients.