Dental · Productivity

Production per hour

The value of dentistry a provider produces for each hour they spend seeing patients. It is one of the most common ways practices compare providers and judge the schedule.

Plan your metrics

What it is

A dental practice earns revenue by completing procedures, each with a fee. Production is the total value of completed procedures. Providers work different hours, so total production alone does not compare them fairly.

Production per hour divides production by clinical hours. It is measured separately for doctors and hygienists, because their procedures and schedules are different.

Why operators track it

  • It shows whether the schedule holds the right work. A full schedule of low-value appointments can still produce a low number.
  • It compares providers fairly when they work different hours.
  • It guides scheduling templates, such as blocking time for larger procedures.
  • For groups and DSOs, it separates locations with a capacity problem (schedule is full, production is low) from those with a demand problem (open time).

How it is calculated

Production per hour = production ÷ clinical hours

  • Gross production values procedures at the practice's full fee schedule.
  • Net production subtracts contractual write-offs for insurance plans. It is closer to what the practice will collect.
  • Clinical hours are hours scheduled to see patients, excluding lunch and admin blocks.

Worked example

Over one week, a provider has 32 scheduled clinical hours and completes procedures worth $38,400 at full fee. Contractual write-offs are $6,800.

One provider, one example day8am9am10am11am12pm1pm2pm3pm4pm5pmScheduledClinical 4hLunchClinical 4hProceduresCrown$1,4502 fillings$620Root canal$1,150Crown$1,450Exam$210Bridge prep$2,100Fill$310openopenWorkedleft 4:30Day totalProduction at full fee: $7,290 · Scheduled clinical hours: 8 · Worked: 7.5Per scheduled hour$911$7,290 ÷ 8 hoursPer worked hour$972$7,290 ÷ 7.5 hoursSame day, two answers.The unfilled 10:30 slot and the open 4:30slot (provider left early) lower the first number.
Example data Gross production at full fee. Net production would subtract insurance write-offs. Whether you divide by scheduled or worked hours changes the result.

How to read it

  • Higher is better, within the same role and payer mix. Comparing a doctor to a hygienist, or a heavy-PPO office to a fee-for-service office, is not meaningful.
  • Gross and net can tell different stories. A large gap between them points to payer mix and fee schedules, not provider productivity.
  • Read it with schedule utilization. Low production per hour with a full schedule is a different problem from low production per hour with open time.
  • Production per hour varies by region, specialty, fee schedule, and payer mix. We will only show figures with a named source and year.

Definitional choices and common pitfalls

  • Gross or net. Net is closer to cash. Many practices track both.
  • Scheduled or worked hours. Scheduled hours are more common and easier to get. Worked hours are more accurate if providers often run late or leave early.
  • Attribution. Decide whether a procedure counts for the provider who completed it or the one who diagnosed it, and keep it consistent.
  • Averaging daily rates. Divide total production by total hours. Averaging daily per-hour numbers gives the wrong answer.
  • Completed only. Scheduled procedures are not production until they are completed.

How different roles use it

Role How they use it
Owner dentist Compares doctors and hygienists and decides on schedule templates and hiring.
Office manager Watches the schedule day to day and fills open time with the right appointments.
Associate dentist Tracks their own number, often tied to compensation.
DSO regional manager Compares locations on one definition and looks for capacity or demand problems.

Questions it answers

  • Which providers produce the most per clinical hour?
  • Is low production a scheduling problem or a demand problem?
  • How much does payer mix reduce net production?
  • Which locations are below the group on the same definition?

How to present it in a report

  • Show doctors and hygienists in separate charts.
  • Show gross and net side by side, or state clearly which one the report uses.
  • Use the last four weeks or the last month, not a single day.
  • State whether hours are scheduled or worked.

Data you need

Fields

Field What it means Example value
Provider Who did the work, and their role Dr. A, doctor
Procedure code The CDT code for the procedure D2740 crown
Fee The practice's full fee for the procedure $1,450
Status Completed, scheduled, or treatment planned Completed
Contractual write-off Fee minus what the insurance plan allows $310
Schedule block Provider time, marked clinical, lunch, or admin 8:00 to 12:00, clinical
Location The office, and its region for DSOs Maple Grove, North region

What the raw data looks like

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

Date Provider Role Code Fee Write-off Status Location
Oct 14 Dr. A Doctor D2740 $1,450 $310 Completed Maple Grove
Oct 14 Dr. A Doctor D2392 $310 $65 Completed Maple Grove
Oct 14 K. Lee Hygienist D1110 $135 $28 Completed Maple Grove
Oct 15 Dr. A Doctor D3330 $1,150 $0 Scheduled 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

  • Schedule blocks not labeled. If lunch and admin time are not marked, clinical hours are overstated.
  • Write-offs mixed with other adjustments. Courtesy discounts and contractual write-offs may share one adjustment type.
  • Scheduled procedures counted as production. Only completed procedures count.
  • Provider attribution. Work done by a hygienist may be posted under the doctor, or the reverse.
  • Hours worked not recorded. The schedule may hold planned hours only. Worked hours may need payroll data.

FAQ

Should I use gross or net production?
Use net if a large share of patients are on PPO plans, because gross overstates what the practice will collect. Many practices show both.
Do I count hours scheduled or hours worked?
Scheduled clinical hours is more common and easier to get from the schedule. Hours worked is more accurate if providers often run late or leave early.
Why measure doctors and hygienists separately?
Their procedures, fees, and schedules are different. A combined number hides problems in both.
How do I raise production per hour?
Common levers are scheduling higher-value procedures in prime time, reducing open chair time, improving case acceptance, and reviewing fee schedules.
For your data teamFormula variants, tables, SQL sketch, and dashboard spec

Formula details

production_per_hour[provider] = production[provider] / clinical_hours[provider]
  • Production: the value of completed procedures attributed to the provider in the period. Decide whether you use gross production (at the practice's full fee schedule) or net production (after contractual write-offs for insurance plans). Net is closer to cash. Many practices track both.
  • Clinical hours: hours the provider was scheduled to see patients, excluding lunch and admin blocks. Some practices use hours actually worked. Pick one and document it.
  • Measure doctor and hygiene production per hour separately. They are different jobs with different procedure mixes.

Variants

Variant Use when
Gross production per hour Comparing schedule productivity regardless of payer mix
Net production per hour Practices with heavy PPO participation; closer to real revenue
Production per chair hour Measuring the facility (operatories), not the person
Production per visit You do not have reliable hour data

Worked example detail

Dr. A, one week: 32 scheduled clinical hours. Completed procedures at full fee: $38,400. Contractual write-offs: $6,800. Gross production per hour = 38,400 / 32 = $1,200. Net production per hour = (38,400 - 6,800) / 32 = $987.50.

Tables and fields

Table Fields Notes
procedures procedure_id, patient_id, provider_id, location_id, cdt_code, fee, completed_at, status Only status = completed counts
adjustments procedure_id, type, amount Contractual write-offs for net production
provider_schedule provider_id, location_id, date, start_time, end_time, block_type block_type separates clinical from lunch and admin
providers provider_id, name, role role = doctor, hygienist, specialist
locations location_id, name, region For DSOs

SQL sketch

WITH prod AS (
  SELECT p.provider_id, p.location_id, DATE_TRUNC('week', p.completed_at) AS week,
         SUM(p.fee) AS gross_production,
         SUM(p.fee) + COALESCE(SUM(a.amount) FILTER (WHERE a.type = 'contractual'), 0) AS net_production
         -- adjustments stored as negative amounts
  FROM procedures p
  LEFT JOIN adjustments a ON a.procedure_id = p.procedure_id
  WHERE p.status = 'completed'
  GROUP BY 1, 2, 3
),
hours AS (
  SELECT provider_id, location_id, DATE_TRUNC('week', date) AS week,
         SUM(EXTRACT(EPOCH FROM end_time - start_time) / 3600.0) AS clinical_hours
  FROM provider_schedule
  WHERE block_type = 'clinical'
  GROUP BY 1, 2, 3
)
SELECT h.provider_id, pr.role, h.location_id, h.week,
       p.gross_production, p.net_production, h.clinical_hours,
       p.gross_production / NULLIF(h.clinical_hours, 0) AS gross_production_per_hour,
       p.net_production   / NULLIF(h.clinical_hours, 0) AS net_production_per_hour
FROM hours h
JOIN providers pr ON pr.provider_id = h.provider_id
LEFT JOIN prod p  ON p.provider_id = h.provider_id AND p.location_id = h.location_id AND p.week = h.week;
-- Note: the adjustments join can duplicate procedure rows if a procedure has several
-- adjustments; pre-aggregate adjustments per procedure in production.

As a dashboard card

  • Card type: KPI card (production per hour, change vs prior period) and a bar chart by provider, split doctor vs hygiene.
  • Measures: gross_production, net_production, clinical_hours; per-hour measures computed as sum over sum, never as an average of daily rates.
  • Dimensions: provider, provider role, location, region, week, day of week.
  • Default view: last 4 weeks, by provider, net production per hour.
  • Per-tenant settings: gross vs net as default, scheduled vs worked hours, fiscal calendar. A single-office practice and a 40-location DSO use the same governed definition with different defaults and saved views.
  • Security: a DSO regional manager sees only their locations; an associate dentist sees only their own row.
  • Ask it: "Which provider had the lowest production per hour last month?"

Common mistakes

  • Averaging daily per-hour numbers instead of dividing total production by total hours.
  • Mixing doctor and hygiene hours in one number.
  • Counting scheduled (not completed) procedures as production.
  • Ignoring write-offs in practices with heavy PPO participation, which overstates productivity.

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