Skip to main content

Methodology

Last updated: May 8, 2026

Every dollar amount on PermitPrice traces to an official government fee schedule. Here is how data gets onto a page, what we verify, what we estimate, and what we will not publish.

Step 1 - locate the official source

For each jurisdiction we identify the building department's current fee schedule. Acceptable primary sources are: a published fee schedule PDF on a .gov domain, an ordinance or municipal code section that sets fees, or an official fee calculator hosted on the jurisdiction's permit portal. Secondary news write-ups, contractor blogs, and aggregator sites are never used as a primary source.

Step 2 - extract the fee formula

We translate the fee schedule into the actual formula a permit clerk would apply: base fee, valuation tier, per-unit rate, minimum fee, surcharge components, and any add-ons (plan review, technology fee, state levy). The formula is stored in source.json per jurisdiction with the source URL and the effective date printed on the document.

Step 3 - verify with worked examples

For each jurisdiction we run at least one worked example - typically a $10,000 project value - and reconcile the formula output against any sample calculation the jurisdiction publishes. If the numbers do not match, we hold the page and recheck the formula.

Step 4 - editorial layer

Pages are written from a doctrine template that distinguishes verified figures from estimates. Worked examples are clearly labeled. Anything that depends on assumptions a permit clerk would otherwise make (valuation method, scope category, trade-permit count) is disclosed on the page in plain language.

Step 5 - calculator

Calculators apply the same formula in the browser. No inputs are sent to our server. The math is the math the jurisdiction publishes - we just run it on your numbers.

What we verify

  • Base permit fee or fee tier from the cited official document.
  • Surcharge percentages and per-unit rates.
  • State levies and technology fees that are uniform across the jurisdiction.
  • The effective date of the schedule.
  • Direct arithmetic derived from those verified inputs.

What we estimate, and label

  • Project valuation when the jurisdiction allows multiple valuation methods.
  • Scope categorization where the schedule is ambiguous.
  • Bundled fees where a single line item covers more than one component.

What we will not publish

  • Numbers we cannot tie to a cited official document.
  • Fees from a jurisdiction whose fee schedule we cannot locate or load.
  • "Approximate ranges" pulled from contractor or aggregator sites.
  • Any number presented as exact when the underlying input is estimated.

Update cadence

Each jurisdiction page shows a last-verified date. We re-verify pages when a jurisdiction publishes a new fee schedule, when a fiscal year rolls over, or when a reader sends a verified correction. See our Corrections policy.

Reproducibility

Every worked example on a jurisdiction page is reproducible from the cited source. If you can read the linked fee schedule and follow the page, you can re-derive every figure yourself. That is the design intent.