Pages differ widely in what they cost to process. Why that makes per-page tiers the fair way to price extraction, and how to set them up.
A clean page exported from Word and a scanned page full of tables don’t cost the same to process. Charge one price for both and you either lose money on the hard pages or overcharge for the easy ones.
Some of our pages didn’t have a cost at all, because they never finished. With our old extractor, pages packed with drawing objects timed out after more than 75 seconds.
At BHyve, extraction now comes in three tiers, Lite, Auto and Agentic, priced per page. This is why the cost varies so much, why that leads to tiers, and how to set them up.
Where the cost of a page comes from
Pages fall into a few kinds that behave very differently:
- Born-digital pages were made by software and carry a text layer you can read directly. They’re the cheap ones. On our Lite tier they take 2 seconds instead of 81.
- Scanned pages are pictures of text, so they need OCR (optical character recognition: reading text from an image). OCR takes real compute, and 91% of our corpus needs it.
- Dense pages hold thousands of drawing objects, the separate lines and curves of a technical drawing or a detailed chart. An engine that analyses every object on a page slows down as the count climbs, and these were the pages that timed out.
Then there’s how often the expensive step runs. Our pipeline ran OCR nine times per page. When the costliest step repeats, every page pays for it several times over.
An average cost per document hides all of this. Split by page kind, the spread is obvious, and so is the long tail of pages that cost the most.
The cost that mattered was time, not money
The finding that surprised us: compute cost isn’t the limit, wall-clock time is. Wall-clock time is the time that actually passes while someone waits, as opposed to CPU time added up across machines.
A full re-index of about 136,000 pages costs $4.70 on Lite and $86.48 on the deepest tier with OCR. A re-index means running every document through extraction again, which you need whenever extraction improves and you want old documents to benefit. Neither figure is the problem. What a customer notices is how long they wait before a document shows up in answers.
So the real choice isn’t cheap against expensive. It’s speed against fidelity: how fast a document becomes searchable, against how much of its structure survives.
The principle: price where the cost lives, sell the trade-off people feel
Three ideas follow from that.
Price the page. A document can be one page or several hundred. A page is the smallest unit you process on its own, so it’s where cost is easiest to measure, predict and explain.
Fix the tail before you set a price. You can’t price a page that might never finish. An average that includes timeouts is a guess.
Tier by what the customer gets. If cost per page swings widely and customers care about different things, one price is unfair to someone. Tiers let each customer pick speed or fidelity, and pay for what they pick.
How to set it up
- Measure cost per page on your own corpus, split by page kind. Cost per page is the machine’s price per hour divided by the pages it gets through in an hour. Anything that raises pages per hour on the same machine lowers the price.
- Find the slow tail first, and give it its own path. We send dense pages to a lighter inspector instead of the full engine. A cheap check before full parsing, such as counting drawing operations, is one general way to spot them.
- Count how many times your most expensive step runs per page. Remove the repeats. It’s usually the cheapest saving you’ll find.
- Work out what a full re-index costs on every tier. It’s the cost of rolling out every future improvement.
- Track wall-clock time next to dollars. It may be the number customers actually feel.
- Name tiers by what the customer gets, speed or fidelity, not by the engine underneath.
- Let customers choose per document type. A folder of plain exported reports and a folder of scanned forms full of tables don’t need the same treatment.
- Measure on the hardware you pay for, or your per-page cost is a guess. Benchmark on the hardware you pay for shows how far off it can be.
What it changed
- Dense pages that timed out after more than 75 seconds now finish in 0.02 to 1.4 seconds.
- One OCR pass per page replaced nine, and OCR time went from 9.9 s to 0.8 s.
- Lite costs $0.03 per 1,000 pages and is 40× faster on born-digital PDFs. The deepest tier, with OCR, costs up to $0.64 per 1,000 pages.
- A full re-index costs $4.70 on Lite and $86.48 on the deepest tier.
The knock-on effects matter as much as the numbers. Pages that never finished now have a known cost, so every page can be priced. Customers choose speed or fidelity per document type, and the deepest tier keeps tables and charts intact for the documents that need it.
When one tier is enough
Tiers aren’t free. Every tier is another path to test, and every customer has to understand the choice. If your documents are all much the same, say every one is a born-digital export, one tier and one price is simpler and fair.
Tiers earn their place when cost per page swings widely and customers want different things. Ours do: most pages need OCR, some are dense drawings, and some documents need their tables intact while others just need to be fast.
The lesson
Price the unit where the cost lives, and fix the slowest pages before you set the price.
The engines behind the tiers came out of a bake-off, written up in PDF extraction for RAG. The full numbers are in the extraction case study.
Quick answers
- How much does PDF extraction cost per page?
- It depends on the page. Born-digital pages with a text layer are cheap, and scanned pages that need OCR cost more. In BHyve's pipeline it runs from $0.03 per 1,000 pages on the Lite tier to up to $0.64 per 1,000 pages with OCR.
- Why do some PDF pages take so long to extract?
- Pages made of thousands of vector drawing objects, such as detailed drawings or charts, slow down engines that analyse every object on the page. Sending those pages down a lighter path avoids the timeouts.
- Should document processing be priced per page or per document?
- Per page is easier to get right. A document can be one page or hundreds, while a page is the smallest unit you process, so its cost can be measured and predicted.
- What is a born-digital PDF?
- A PDF created directly by software, such as an export from a word processor, with a text layer that can be read without OCR. A scanned PDF holds only images of pages, so it needs OCR.