NexAI Advisors · AI product · prototype

Coverage BenchmarkInsurance Program Gap Analysis

Describe a business in one sentence and it classifies the account against the Census NAICS index, reads its current insurance program, and shows where every coverage line sits against a peer cohort - with the evidence behind each finding on the page.

Built with Next.js 16, React 19, TypeScript, Tailwind CSS v4, Vitest, Recharts, pdf.js, US Census NAICS 2022, Vercel.

In numbersfrom the project
Figure

86.4%

Top-1 classification accuracy on a 66-case held-out set never used for tuning - 92.4% top-3

Figure

20,373 Terms

The real US Census 2022 NAICS index - 1,012 six-digit codes across 20 sectors

Figure

18 Coverage Lines

Including six yacht and marine lines general commercial tools do not carry

Screensscreenshots, not mockups
Coverage Benchmark: Insurance Program Gap Analysis, desktop screenshot 1
Coverage Benchmark: Insurance Program Gap Analysis, desktop screenshot 2
Coverage Benchmark: Insurance Program Gap Analysis, phone screenshot 1
The storyproblem, build, outcome

What it is

Commercial insurance benchmarking usually means a broker's memory and a spreadsheet. Coverage Benchmark makes it a measured, three-step process. Type a plain-English description of a business and a local BM25 classifier matches it against the real US Census 2022 NAICS index, returning a ranked list with the index terms that fired and a calibrated confidence rather than one unexplained code. Key the current program in or drop a declarations page, and a browser-side parser extracts each coverage line with its own confidence and the source text it came from, routing anything it will not assert to a human review queue. The engine then places every line against a peer cohort matched on NAICS, revenue band and state, ranks the gaps by severity, and names the peer statistic each recommendation rests on. It carries 18 coverage lines including six yacht and marine lines - hull, protection and indemnity, crew, tenders, charter liability and pollution - which general commercial benchmarking tools do not cover.

The problem

A broker looking at an account has to answer two different questions at once: is this program missing something its peers carry, and is it paying too much for what it has. Those pull in opposite directions, and collapsing them into one score destroys the most useful finding a benchmark can produce - a program that sits above its peers on breadth and limits and still carries a critical hole. Doing it properly also needs a defensible classification, and most tools return a code without showing why.

What I built

Classification runs locally and deterministically: BM25 over the 20,373 official Census index terms with a curated alias layer and activity priors, calibrated on the margin between the top hit and its runners-up so a three-way tie scores near zero. No model API is called at runtime, so a query costs about 0.08ms, results are reproducible rather than resampled, and there is no API bill attached to a public URL. Accuracy is measured by an eval harness against a hand-labelled set and the number the interface displays is the number the test suite gates on. Declarations-page extraction runs in the browser via a lazy pdf.js import, so an uploaded policy never leaves the user's machine, and per-field confidence is earned from label-match quality, parse ambiguity and value plausibility. Cohorts widen along a defined ladder when a NAICS, revenue and state match returns too few peers, and report in plain English exactly what they widened and why rather than presenting a cohort of five as a market read.

What happened

Live as a working prototype with the full three-step flow, five worked accounts including a marine control case, a methodology page publishing both its development-set and held-out accuracy, and 578 tests across 33 files gating the build. The peer corpus is synthetic - 11,000 policies from a documented, seeded model, not market data - and the interface states that above every number rather than in a footnote.

What it changed

  • Turns a broker's account review into a ranked list of gaps, each tied to the peer statistic behind it so the recommendation can be argued with
  • Covers yacht and marine programs, which general commercial benchmarking tools leave out entirely
  • Separates what a program costs from what it buys, so a renewal conversation can be about cover rather than price alone

Who it fits

  • Brokers reviewing an SMB commercial program ahead of renewal
  • Marine and yacht programs where hull, crew, charter liability and pollution need benchmarking together
  • Producers who need a defensible NAICS classification with the matching terms shown
Under the hoodthe decisions a senior engineer would ask about
  • Local BM25 NAICS classifier with alias layer and activity priors - no LLM call at runtime, about 0.08ms per query
  • Confidence calibrated on top-hit margin, with a 55% threshold routing low-confidence answers to human review instead of guessing
  • Held-out evaluation harness written before tuning, with the displayed accuracy gated by the test suite
  • Browser-side declarations-page parsing via lazy pdf.js, so an uploaded policy never leaves the user's machine
  • Two-axis posture model that reports cover bought separately from defects found, so a well-funded program with a critical hole is not scored as healthy
  • Cohort-widening ladder that explains in plain English what it widened and why, with a minimum cohort of 40 before any figure is shown
  • Byte-for-byte reproducible synthetic peer corpus with a committed generator seed and an artifact test that does not self-heal

Want something like this built?

Bring the idea or the app. Step 1 is a free 15-minute fit call. Step 2 is a paid discovery session, $500, that ends in a written plan. Step 3 is a fixed quote for the build, or you take the plan and build it yourself.

Book a 15-minute fit call
or email david@nexaiadvisors.com with a link or a short note