The boundary
Every report starts with one polygon: the area a patient can actually reach in the drive time you chose. It is built from live-traffic routing, not a circle. The engine probes 24 bearings from your address, each at 10 distances, and asks the routing network how long each point really takes to reach. The reachable points become the boundary.
Departure time is pinned to a representative weekday mid-morning, so the same search reproduces the same boundary instead of drifting with the hour you happened to run it.
Radii lie. A 10-mile circle claims the far side of a river, the wrong side of a highway interchange, and a mountain pass, all as if they were next door. Drive time does not.
One polygon measures everything. Competitors are counted inside the line. Population is weighted inside the line. Because supply and demand share the same boundary, the office density (saturation) ratio cannot be gamed by measuring competitors in a small area and patients in a large one.
The provider base
The supply side comes from the full federal NPI registry, filtered to dentistry: 406,859 provider records, refreshed monthly. The registry answers two questions with federal authority: who is licensed, and where they practice.
Licensure alone does not define competition. An orthodontist is not a competitor to an endodontist. The registry's specialty taxonomy codes sort every record into seven specialty lenses, and your report counts competitors through the lens you chose. A general dentistry search counts general dentists; a pediatric search counts pediatric practices. The same lens also identifies referral targets: the specialists nearby who send or receive the work your practice would trade in.
Live verification
Registries go stale. Providers retire, move, and sell without updating their federal record, and peer-reviewed audits of provider directories put inaccuracy near half of all entries. A count built on the registry alone would be a count of paperwork, not of practices.
So the engine checks. At search time, every nearest competitor and every referral target is verified against live business listings: open or closed, listed or unlisted, current ratings, current contact details. This happens during your report run, not from a cache built last quarter.
- Confirmed open offices are counted as competitors, with their live rating and details attached.
- Confirmed closed offices are flagged as closed in the report. They are never silently counted against you.
- Unlisted records are shown as unverified, so you can see exactly which entries rest on the registry alone.
Demand
The demand side uses the American Community Survey 5-year estimates at census block group resolution, the smallest unit for which income data is published. The engine intersects every block group with your drive-time boundary and weights each one by the share of its area inside the line. A block group half inside the boundary contributes half its population.
The result is population and median household income for the people inside the line, not for the county around it. County averages flatter some markets and slander others; area-weighting to the boundary does neither.
The fee layer
Reimbursement is where methodology pages usually go quiet. Ours does not. The fee layer has two kinds of numbers, and the report labels which is which.
Floors are facts. Medicaid fee-for-service rates are compiled from all 51 official state schedules, 1,148 verified rows, each one re-verified against the source document it came from. One exception is stated rather than hidden: Idaho publishes no dental FFS schedule, so Idaho shows modeled bands only, labeled as modeled.
Bands are estimates. Private-pay ranges are modeled from national benchmark data and geo-adjusted to your market. Insurer-typical figures are modeled below the private p50, reflecting how negotiated rates actually sit. Every modeled figure is labeled an estimate in the report. Estimates are never presented as quotes, and no report figure should be read as a promise of what any payer will pay you.
The analysis
The comparisons are arithmetic, not opinion. Density is your specialty's offices per 100,000 residents inside the boundary, against the national benchmark for that specialty: 61 per 100k for general dentistry, lower for each specialist lens. Below the benchmark reads as room; above it reads as crowded. Income, growth, and age compare with state medians.
Every input is listed with its source, so nothing is adjusted by hand. The written narrative in each report is generated from that report's own figures, so the prose cannot say anything the numbers do not.
Given the boundary, the verified competitor count, and the weighted population, you could recompute every comparison yourself. That is the point.
Reproducibility and limits
Run the same market at the same drive-time minutes within the same day and you get the same report. Pinned departure time, a monthly registry snapshot, and deterministic weighting make the output stable enough to hand to a lender. A typical report takes 60 to 90 seconds to build, because verification happens live. Searches that fail never count against your daily quota.
The limits, stated plainly:
- Modeled bands are modeled. Private-pay and insurer-typical figures are estimates, useful for comparing markets, not for setting your fee schedule.
- A listing can be wrong the day we check it. Live verification is the strongest available signal, not omniscience. An office can close the week after your report.
- Brand-new rural markets load slower. Sparse areas give the boundary and verification passes less to work with, and first runs there can take longer.
- State fee schedules change. States revise Medicaid rates on their own calendars. We monitor every source monthly, so a very recent revision may not appear until the next verification pass.
Change control
What gets refreshed, and when:
- Provider registry: re-ingested monthly from the federal source.
- Fee sources: all 51 state schedules watched monthly; changed rows are re-verified against the new source document before they enter a report.
- Business listings: verified live at every search. Nothing is served from a stale verification.
If a number in your report looks wrong, dispute it. Send the market and the figure through the contact form, and we re-run the market and audit the result against its sources while you watch. If the source proves us wrong, the report changes, and so does this page if the method was at fault.
See also the FAQ and the Terms of Service.