Dental · Revenue cycle

Collection rate (net collection rate)

The share of what a practice is actually owed that it collects. It separates the money lost to insurance fee schedules from the money lost to billing and follow-up.

Plan your metrics

What it is

Net collection rate is the money a practice collects divided by its net production. Net production is gross production minus contractual write-offs, the amounts the practice agreed not to charge under insurance contracts.

The gross collection rate divides collections by gross production instead. It is mostly driven by payer mix and fee schedules, so it says less about billing.

Why operators track it

  • Cash. It shows how much of the work done turns into money.
  • Billing quality. A falling net rate can point to claim denials, slow follow-up, or patient balances not collected.
  • Fair comparison. The net rate lets offices with different payer mix be compared.
  • Valuation and lending. Buyers and lenders may look at collections compared to production. (General observation.)

How it is calculated

Net collection rate = collections ÷ (gross production − contractual write-offs)

  • Collections = patient and insurance payments received in the period, minus refunds.
  • Contractual write-offs = fee minus the allowed amount under an insurance contract.
  • Other adjustments, such as courtesy discounts or bad debt, are usually not subtracted. They count as money not collected.
  • Gross collection rate = collections ÷ gross production.

Worked example

In one example quarter, gross production was $600,000. Contractual write-offs were $150,000, so net production was $450,000. The practice collected $432,000.

One example quarter, from production to cash$600,000Gross production−$150,000Contractual write-offs$450,000Net production$432,000Collected$18,000Not yet collectedNet collection rate96.0%$432,000 ÷ $450,000 net productionGross collection rate72.0%$432,000 ÷ $600,000 gross production
Example data The gross rate mostly reflects payer mix and fee schedules. The net rate shows how well the practice collects what it is owed.

How to read it

  • Use a long enough period. Payments arrive weeks after the work. Monthly rates jump around. A rolling 3 or 12 months is steadier.
  • Look at the gap. The difference between net production and collections is still in receivables, written off, or lost. Check which.
  • A rate above 100% for one month usually means old balances were collected. It is not a problem on its own.
  • We do not publish a benchmark. Results depend on period, payer mix, and how adjustments are coded.

Definitional choices and common pitfalls

  • Which adjustments are subtracted. Only contractual write-offs, or also others. This choice moves the rate the most. Write the list of adjustment types down.
  • Period and lag. Same period, rolling period, or matched by date of service. Label it.
  • Refunds. Subtract refunds from collections.
  • Production basis. Use completed procedures at the practice's full fee.
  • Estimated vs actual write-offs. Some systems post an estimated write-off at checkout and correct it when the claim pays. Decide which you use.

How different roles use it

Role How they use it
Owner dentist Watches the rolling rate as a check on the business side of the practice.
Office manager Uses it with aging reports to direct insurance and patient follow-up.
Billing staff Works the gap: denied claims, unpaid balances, and misposted adjustments.
DSO regional manager Compares locations on the same definition.

Questions it answers

  • How much of what we are owed do we collect?
  • Is the rate falling at any location?
  • How much is still uncollected, and where is it?
  • How much does insurance contracting reduce production?

How to present it in a report

  • A headline rolling net collection rate, with the period stated.
  • A small waterfall: gross production, contractual write-offs, net production, collected, not yet collected.
  • A monthly trend line.
  • A table by location for DSOs.

Data you need

Fields

Field What it means Example value
Procedure and fee Completed procedures at the practice's full fee D2740 crown, $1,450
Adjustment type The kind of adjustment, such as contractual write-off or courtesy Contractual write-off
Adjustment amount The amount adjusted $310
Payment A patient or insurance payment, with date and source $1,140, insurance
Refund Money returned to a patient or payer $60
Location The office Maple Grove

What the raw data looks like

Example data A few rows as they might come out of the source system.

Date Type Detail Amount Location
Oct 14 Production D2740 crown $1,450 Maple Grove
Oct 14 Adjustment Contractual write-off -$310 Maple Grove
Nov 3 Payment Insurance $910 Maple Grove
Nov 20 Payment Patient $230 Maple Grove

Where this data usually lives

  • Practice management system (PMS) holds the schedule, procedures, fees, adjustments, treatment plans, and payments. For example: Dentrix and Dentrix Ascend (Henry Schein One), Eaglesoft (Patterson Dental), Open Dental.
  • Insurance clearinghouse and eligibility tools hold claims, remittances, and payer details, which explain write-offs.
  • Imaging systems hold x-rays and clinical images. They are rarely needed for these metrics.
  • Payroll or HR may hold hours actually worked, if the schedule does not.
  • DSO data warehouses combine data from many locations, sometimes from more than one PMS.

Common data gaps and traps

  • Adjustment types mixed together. If contractual write-offs share a type with discounts, the net rate is wrong. Map every adjustment type.
  • Estimated write-offs. Write-offs posted at checkout may be corrected later. Pull the final amounts.
  • Payments not tied to a location. Insurance payments for many offices may be posted centrally.
  • Short periods. A single month is distorted by payment timing.

FAQ

What is the difference between gross and net collection rate?
Gross divides collections by full-fee production. Net first subtracts contractual write-offs, so it shows how well the practice collects what it is actually owed.
Why can the rate be above 100%?
Payments for older work may land in the period. Use a rolling period to smooth this.
Should courtesy discounts be subtracted?
Usually not. They are a choice to collect less, so most definitions count them as not collected. Say which you do.
For your data teamFormula variants, tables, SQL sketch, and dashboard spec

Formula details

gross_production   = SUM(fee) for completed procedures in period
contractual_wo     = SUM(adjustment_amount) WHERE adjustment_type IN (:contractual_types)
net_production     = gross_production - contractual_wo
collections        = SUM(payments) - SUM(refunds) in period
net_collection     = collections / net_production
gross_collection   = collections / gross_production

Worked example detail

Quarter
Gross production $600,000
Contractual write-offs $150,000
Net production $450,000
Collections $432,000
Net collection rate 432,000 / 450,000 = 96.0%
Gross collection rate 432,000 / 600,000 = 72.0%

Tables and fields

Table Fields Notes
procedures procedure_id, location_id, fee, status, completed_at
adjustments procedure_id, location_id, adjustment_type, amount, posted_at Map types to contractual or other
payments location_id, source, amount, received_at Patient and insurance
refunds location_id, amount, refunded_at

SQL sketch

WITH p AS (SELECT location_id, SUM(fee) AS gross FROM procedures
           WHERE status = 'completed' AND completed_at >= :start AND completed_at < :end GROUP BY 1),
w AS (SELECT location_id, SUM(ABS(amount)) AS wo FROM adjustments
      WHERE adjustment_type IN (:contractual_types) AND posted_at >= :start AND posted_at < :end GROUP BY 1),
c AS (SELECT location_id, SUM(amount) AS paid FROM payments
      WHERE received_at >= :start AND received_at < :end GROUP BY 1),
r AS (SELECT location_id, SUM(amount) AS refunded FROM refunds
      WHERE refunded_at >= :start AND refunded_at < :end GROUP BY 1)
SELECT p.location_id,
       (COALESCE(c.paid,0) - COALESCE(r.refunded,0)) / NULLIF(p.gross - COALESCE(w.wo,0), 0) AS net_collection_rate
FROM p LEFT JOIN w USING (location_id) LEFT JOIN c USING (location_id) LEFT JOIN r USING (location_id);

As a dashboard card

  • Card type: KPI for the rolling net rate, a waterfall from gross production to collected, and a trend line.
  • Measures: gross_production, contractual_wo, net_production, collections, net_collection.
  • Dimensions: location, payer type, period.

Common mistakes

  • Subtracting all adjustments, which hides money not collected.
  • Using one month, which is distorted by payment timing.
  • Forgetting refunds.

Version 1.0 · Last reviewed 2026-10-20 · Machine-readable definition