Research · 6 of 6
How every figure here is verified
Most tax data online is a copy of a copy. Here is how ours is checked.
Most tax figures on the internet are a copy of a copy. Someone reads a statute and writes a summary; someone else reads the summary and builds a table; a third party scrapes the table into a calculator. Each step loses something, and the thing lost first is almost always the date.
That matters more than it sounds. A tax rate without a date is not a fact — it is a claim about a moment, presented as though it were permanent. This piece is about how we avoid that, and how you can tell the difference in any source you read.
Why secondary sources go wrong
Not usually through carelessness. Through three specific, repeatable mechanisms.
Staleness. A figure was correct when written and has since changed. States amend rates mid-session, thresholds index to inflation on differing schedules, and a summary compiled in January can be wrong by July. Nothing about the original sourcing was sloppy; time passed and nobody re-checked.
Flattening. A graduated schedule gets summarised as a single number, because the table it is being copied into has one column headed "rate". Missouri is the textbook case: it operates an eight-bracket schedule, and its top rate is frequently reproduced as though it applied to every dollar. Verified against the state's own withholding formula, the marginal rate at $75,000 is 4.70% — not the flat figure many tables print. Montana has the same shape and attracts the same error; the correct figure there is 5.65%.
Omission. A state has a headline rate plus something else — a surtax above a threshold, a local levy, a separate schedule for one filing status. The something else is what gets dropped. California's marginal rate at $75,000 is 8.00%, but that changes above $1,000,000 in a way most summaries never mention, because the summary was written for the typical case and the exception was inconvenient.
How to tell whether a source is current
Three questions, and they will disqualify most of what you find.
Does it name a tax year? Not "updated 2026" in a footer — which usually means the page template was touched — but the tax year the figures apply to. Rates for different years coexist, and a page that does not say which one it means cannot be checked at all.
Does it link to the statute or the agency? A link to another summary is not a citation. The chain has to terminate somewhere with authority, and if you cannot follow it there in one hop, the figure is a rumour with good typography.
Does it distinguish marginal from effective? A source quoting one number for a graduated state has already made the flattening error, whatever that number is.
What we do instead
- Primary sources only. A figure ships when it has been checked against the statute or the agency that sets it. Where a well-known aggregator and a state revenue bulletin disagree — which happens more than you would expect — the bulletin wins, every time.
- Every figure carries its source's publication date. Not the date we wrote it down. That distinction is what makes staleness detectable, and it is why the data-for-nerds panel on every result shows an "as of" beside each source.
- Confidence is stated, not implied. Where a national average stands in for a local figure, the result says so and that layer is marked at a lower confidence. An estimate presented as a measurement is the specific failure this project exists to avoid.
- Expected test values are hand-derived from the published schedule — never from our own implementation. A test written from the same reading as the code verifies that you were consistent, which is a different and much weaker claim than verifying you were right.
- The data is structured so flattening is impossible. A graduated schedule is stored as brackets, not as a number. There is nowhere to put a single rate.
Why the last one matters most
It is tempting to treat correctness as a matter of care — read closely, check twice, be diligent. Care helps. It also does not scale, and it does not survive a tired afternoon.
Structure does. If a state's rate can only be stored as a list of brackets, nobody can accidentally store a top rate as a flat rate, because the shape of the data refuses it. If every figure requires a dated source, an undated figure cannot ship. The goal is not a team that never misreads a statute; it is a system where a misreading fails loudly instead of rendering confidently.
Most of the verification work behind this site is that: not checking harder, but arranging things so the common errors have no route in.
Freshness is a property of the build
Every figure on this site is compiled in at build time, which has a useful consequence: there is no live database that can quietly drift out of date between deployments. The numbers you see were correct as of a specific build, from sources with specific dates, and both are inspectable.
It also means staleness is computable rather than a matter of opinion. Each data layer has a refresh window appropriate to how fast it actually moves — federal brackets change annually, county sales tax quarterly, market assumptions rarely — and anything past its window is flagged in the interface rather than served silently.
What we still cannot promise
Being serious about method means being clear about its limits.
County-level sales tax is representative, not exhaustive. The US has roughly 3,100 counties and thousands of overlapping special districts; we model named counties per state and always say which one a figure came from. If you live elsewhere, entering your own combined rate is the escape hatch — which is why that input is visible rather than buried behind an "advanced" toggle.
Ownership costs lean on national averages where a state-level figure could not be verified against a primary source. Those are marked at a lower confidence rather than presented as measured. A national average for car insurance is genuinely useful and genuinely not your premium.
And the model assumes wage income for a filer with no dependants, no itemised deductions and no credits. That is a real simplification, and it errs consistently in one direction: most households face a lower true cost than these figures show. We would rather state the direction of the error than pretend there is not one.
The standard
An old number presented honestly beats a wrong number presented confidently.
That is the whole editorial policy. It is why every result carries its sources, its dates and its confidence class where you can see them rather than buried in a methodology page nobody opens — and why, when a figure is past its refresh window, the interface says so instead of quietly continuing to serve it.
Tax data has a shelf life. Anything presenting it is publishing something perishable, and the only honest response is to keep checking, cite the source, and show the date.
The full method, layer by layer →