How we verify our pay figures
Our pay figures are computed from contracts we actually posted, and a gate checks every one of them before the site can be published. This page explains that process, and it is held to it: every number below is registered and recomputed the same way as the figures on the Pay Index.
Every published figure is a registered claim
When a page here states a number — a median weekly package, how many contracts sit behind it, a per-diem ceiling — that number is not typed into the HTML and forgotten. It is recorded as a claim, carrying the dimension it applies to: the discipline, the state, the setting, and for government figures the fiscal year. A claim without a dimension is not checkable, because nobody can tell what it was a statement about.
Before anything is published, every claim on every page is recomputed from its source — the contract data for pay figures, the federal API snapshot for per-diem — and compared against what the page says. If a single figure disagrees with its source, the deploy stops. Not a warning in a log; the publish does not happen.
What one claim looks like
Take a figure from the Pay Index. Travel PT contracts in California: a median advertised weekly gross of $2,570, standing on 45 live contracts. Stored, that is not a sentence. It is a statistic (a median), a dimension (state: California, discipline: PT), and a value.
Two things then have to hold, and they fail separately. The median is recomputed over the California PT contracts in the source data and has to come back as $2,570. And the string $2,570 has to appear in the page you are reading. A machine-readable figure that has drifted away from the copy printed beside it fails exactly the way a wrong figure does — and that drift is how a stale number sits on a page for months with every automated check still green.
What that covers right now
These counts are themselves claims, recomputed on the same run as everything else: the corpus currently holds 1,257 published figures across 153 pages on 4 sites; on the run that produced this page, 0 disagreed with its source.
That last number can only ever read zero here. A run that found a disagreement would not have published the page you are reading. Stating it is still worth doing, because it is checked rather than asserted — the gate recomputes the count of its own failures and would reject this sentence if it were wrong.
Thin samples are withheld, not reported
A median calculated from two contracts is not a market rate; it is two contracts. So a figure is published only where at least 5 live contracts stand behind it. Below that threshold we show nothing for that cell and say why, rather than printing a number that would look identical to a well-supported one.
The cost of that rule is not theoretical. We currently hold travel PT contracts in 47 states and publish a PT median for 24 of them. The rest get a contract count and a range and nothing more. That is the trade the rule makes: less coverage, and no figure left standing on a sample too thin to carry it.
This is the rule that costs us the most coverage, and it is the one we are most confident about. A gap is honest. A median built on a thin sample is not, and it is indistinguishable from a real one once it is on the page.
The figures are advertised contract rates, not a model
Every pay figure is the total weekly gross package as advertised on a real posted assignment — taxable wages plus non-taxable stipends. Nothing is modelled, extrapolated from a national average, or adjusted by a multiplier.
We also do not publish take-home or after-tax figures anywhere on this site. What anyone actually keeps depends on their withholding, their benefit elections and their tax-home situation, none of which we can see. A number presented as your take-home would be a guess wearing the costume of a calculation, so we do not render one.
Government figures name their fiscal year
Federal per-diem rates change every fiscal year, and a per-diem figure with no year attached cannot be checked by anyone. The meals-and-incidentals rates we publish are recomputed against a snapshot taken directly from the federal per-diem API, and the fiscal year is part of the claim. For FY2026 the daily range runs $68 to $92.
Because the year is part of the claim rather than a note beside it, a page that keeps last year's numbers after new rates publish does not quietly keep matching. It fails.
Where a number cannot be sourced, we say so
Some questions we get asked do not have an answer we can stand behind: what a particular facility pays, what a rate will be next quarter, how our packages compare to another agency's. We do not have sourced numbers for those, so we do not publish numbers for them. Pages that used to carry unsourced figures now point at the data that is checked, or state plainly that the figure is not one we can support.
The same rule governs this page. If you find a figure here you cannot trace to a source, that is a defect — tell us and we will fix it or remove it.
This page is checked the same way
Every number above is one of the claims in this page's own machine-readable block, recomputed on each run against the same sources: the suppression threshold from the statistics build, the corpus counts from a walk of the instrumented pages, the per-diem range from the federal snapshot. The sentences are generated from the same constants the gate compares against, so the wording you read and the value the gate checks cannot drift apart.
If any of it stopped being true, this page would fail its own gate and would not be republished.