📄  Whitepaper

Measuring Extraction Accuracy

A gold-dataset evaluation methodology for specialty P&C submission intake — and the results it produces across PDF, Excel, and Word documents.

Audience: Underwriting operations, data & platform leaders Reading time: ~12 min Topic: Accuracy, evaluation, trust

Abstract

Every extraction vendor claims high accuracy. Almost none publish how they measure it. This paper describes the evaluation methodology InsightXtract uses to hold its own agents to account: synthetic gold datasets generated from known ground truth, scored at both the per-document and consolidated level, across every document type an insurance submission contains. We define the method, the scoring rules, and report measured results on representative Directors & Officers and excess-casualty bundles.

Executive summary

You cannot manage what you cannot measure — and in document extraction, the measurement is the hard part.

A submission is not one document. It is an email, an ACORD form, a broker application, an exposure workbook, sometimes a loss run — each in a different format, each contributing overlapping and occasionally contradictory facts. "95% accurate" means nothing without answers to: accurate on which field, in which document, measured against what truth? InsightXtract answers those questions with a repeatable harness that produces exact, field-level scores.

36
gold submission bundles across 12 lines of business
99
source documents (PDF, Excel, Word, email)
100%
consolidated field accuracy on the D&O and excess bundles reported here
1% / $1
numeric match tolerance — strict, not fuzzy

1. Why accuracy is hard to claim

Three problems make extraction accuracy easy to overstate and hard to verify:

  • There is no ground truth. Real submissions don't come with an answer key. Hand-labelling is slow, expensive, and itself error-prone — so most "accuracy" numbers are estimates over a handful of cherry-picked documents.
  • One number hides everything. A document-level "95%" can hold a 100%-correct header and a table that silently dropped half its rows. The failures that hurt underwriting — a missing limit, a mis-keyed loss — are exactly the ones an aggregate score conceals.
  • Consolidation is untested. The output that reaches your systems is merged from several documents. Even if each document extracts perfectly, the merge can pick the wrong source. Almost no benchmark scores the consolidated record at all.

Our methodology is built to remove all three excuses.

2. Gold datasets: ground truth by construction

Instead of labelling documents, we generate documents from labels. Each gold sample starts as a single structured record of known-correct values — the insured, the coverage limits, the financials, every table row. From that record we render realistic source documents: a multi-page audited financial statement, a supplemental application form, an exposure workbook, a broker email. Because the documents are produced from the record, the ground truth is exact and complete — not an approximation.

Every sample carries two answer keys, because there are two questions to answer:

  • ground_truth.json — the correct fields and table rows per document. This scores each document against what it, specifically, contains.
  • expected_unified.json — the correct consolidated record after all documents are merged. This scores the output that actually reaches downstream systems.

Why generate rather than label? A generated corpus is exact, reproducible, and instantly extensible — add an insured, a line of business, a new document type, and the answer key comes with it. It complements (not replaces) evaluation on real, customer-labelled documents; it is what lets us regression-test every change to the engine before it ships.

3. How we score

Scoring is deterministic and deliberately strict — no LLM grades the output, so the number can't drift.

  • Fields are matched with a tolerance of 1% or $1, whichever is larger, for numbers; strings are normalized (case, whitespace, glossary namespacing) then compared exactly. A field is matched, wrong, or missing.
  • Tables are scored on row count and cell accuracy — the fraction of expected cells that match — so a table that drops rows or mangles a column is caught, not averaged away.
  • Null discipline. A field the source genuinely doesn't contain is not scored as a miss; conversely, inventing a value for an absent field counts against the score.
  • Two levels. Every sample is scored per-document and consolidated, so a regression is localized to the document, field, and column where it happened.
// a per-field miss report pinpoints exactly what moved
"exposure_schedule": { rows gold=3 ext=3 cell_acc=100% }
"benefit_plans"   : { rows gold=2 ext=2 cell_acc=100% }
"fields"       : 38/38 matched (100%)

4. Results

The tables below report measured runs of the production engine against two representative bundles. Scores use the gold-null-aware scorer described above.

Directors & Officers (private company) — 3-document bundle

Audited financial statements, a supplemental application, and a renewal application — consolidated into one management-liability record.

Document / outputFieldsTables
Financial statements4 / 4fiscal_years 100% cells
Supplemental application43 / 43crime_agreements 100%
Renewal application10 / 10benefit_plans (rows 2/2)
Consolidated record38 / 38 (100%)all tables 100% cells

Excess casualty — 4-document bundle

Broker email, application, ACORD form, and an Excel exposure workbook — consolidated into one excess-casualty submission record.

Document / outputFieldsTables
Exposure workbook (Excel)6 / 6exposure_schedule 100%
Application (PDF)20 / 20
ACORD form (PDF)31 / 31coverage & underlying 100%
Broker email12 / 13
Consolidated record29 / 29 (100%)all tables 100% cells

Reading the one "miss." The broker email scored 12/13 because it captured $50,000,000 excess/umbrella where the key held $50,000,000 — a more faithful reading of the source, not an error. The consolidated record is still 100%, because priority sourcing takes that field from the application and ACORD. This is exactly the kind of nuance a single aggregate score would erase.

5. One method, every document type

A submission is multi-format, so the harness — and the engine — must handle every format first-class. Each document type takes the path that preserves the most signal:

FormatHow it's readWhat that buys
PDF / scansVision extraction over rendered pagesLayout + tables + bounding-box citations
ExcelDeterministic layout analyzer (metadata blocks vs. tables, header-name mapping)Complex sheets without an LLM guessing cell positions
Word / officeConverted to PDF, then visionSame citations & display as native PDFs
Email (.eml/.msg)Exploded into body + attachments; each part extractedAttachments become first-class documents

The results in section 4 span all four paths — the D&O bundle was also run as Word documents (converted to PDF) and reproduced the same 100% consolidated score, with page-level citations on every field.

6. From benchmark to production

A benchmark is only useful if it governs the real system. The same harness runs as a regression gate: before any change to the extraction engine ships, it is scored against the full gold corpus, and a drop in any field, in any document, blocks the release. In production, the same per-field, per-document scoring underpins confidence routing — high-confidence fields auto-accept, uncertain ones are flagged for a human — so the measurement discipline that proves accuracy is the same one that decides what needs review.

The claim we're comfortable making. Not "99% accurate." Instead: here is the corpus, here is the scoring, here are the field-level numbers, and here is the harness that keeps them honest on every release. That is a claim you can audit.

Appendix: corpus coverage

The full gold corpus spans 12 lines of business × 3 insureds = 36 submission bundles, totalling 99 source documents across email, PDF application, and Excel workbook formats, plus the specialized D&O and excess-casualty bundles reported here (in both PDF and Word). Each bundle carries per-document and consolidated answer keys and is re-scored on every engine change.

See it measured on your documents

We'll run the same methodology against a sample of your real submissions and show you the field-level scorecard.

Talk to us → Next: Auditable extraction →

InsightXtract — agentic document extraction for specialty P&C. Figures in this paper are measured runs of the production engine against the described gold datasets and reflect the configuration at time of writing.