The revenue leak method: how to estimate what your practice loses each month
Most practices know they lose money to missed calls and empty slots, but few can put one honest number on it. This guide walks through a five-line method for estimating your monthly revenue leak, and the three checks that keep the total from being inflated.
- Estimate each leak separately (missed calls, unfilled cancellations, no-shows, overdue patients, insurance gaps), then combine them with care.
- Every line uses the same shape: count of events x share truly lost x average visit value.
- Overlap is real. A no-show who is also overdue, or a missed call that was really a cancellation, must only be counted once.
- No practice can recover more visits than it has room for, so cap the total at your open capacity.
- The leak is not the same as what you can recover. Apply a conservative recovery range before you plan around the number.
Why one leak number matters
Revenue leaks show up in different places. Missed calls live in the phone system. Cancellations and no-shows live in the schedule. Overdue patients live in the patient list. Insurance problems live in the billing queue. Because each one is owned by a different report, nobody adds them up, and each looks small on its own.
A single monthly number changes the conversation. It tells an owner whether the front desk needs help, whether a new tool is worth paying for, and which leak to attack first. The goal of this method is not precision to the dollar. It is a number you can defend line by line, built from your own data.
Step 1: gather your raw counts
Pull at least one full month of data, and ideally three or four, so a holiday week or a provider vacation does not skew the result. You need these counts:
- Missed inbound calls, from your phone system's call log, with caller numbers so you can remove repeats.
- Cancellations, from your schedule export, along with whether each slot was later rebooked by someone else.
- No-shows, from the same export, using the status your EHR assigns.
- Overdue patients, meaning patients whose recommended return date has passed with no future visit booked.
- Visits lost to coverage problems, such as claims denied for eligibility or visits cancelled at check-in because coverage could not be confirmed.
- Average collected value per visit: total collections for the period divided by completed visits. Use collected dollars, not billed charges.
Step 2: build each leak line
Every line follows the same formula: events per month x share truly lost x average visit value. Here is a worked example for an illustrative two-provider practice with an average collected value of $128 per visit. None of these figures are benchmarks; they exist only to show the arithmetic. A month is treated as 4.33 weeks.
- Missed calls. 40 missed calls a week. Remove repeat callers and non-patient calls (say 40%), leaving 24. Assume half wanted an appointment (12), and half of those never called back or booked (6). That is 6 x $128 = $768 a week, or about $3,325 a month.
- Unfilled cancellations. 15 cancellations a week, 10 of which the desk refilled. Only the 5 unfilled slots count: 5 x $128 = $640 a week, or about $2,771 a month.
- No-shows. 8 a week, rarely refilled because nobody knows until the patient fails to arrive: 8 x $128 = $1,024 a week, or about $4,434 a month.
- Overdue patients. Treat this as a monthly flow, not the whole backlog. Say 60 patients newly pass their due date each month without a booking, and 25% would book if asked: 15 x $128 = $1,920 a month.
- Insurance gaps. 4 visits a month lost or unpaid because coverage was not checked in time: 4 x $128 = $512 a month.
Step 3: remove double counting
Adding those lines gives about $12,962 a month in this illustrative example. Before you trust it, run three overlap checks.
Calls versus cancellations. Some missed calls are patients trying to cancel or reschedule. If a missed call turns into a cancellation, the loss already appears in the cancellation line. When you estimate the share of callers who wanted an appointment, count only callers trying to book, not to change an existing visit.
No-shows versus overdue patients. A patient who no-shows and never rebooks will eventually appear on your overdue list. Count the no-show as a lost slot this month, but exclude recent no-shows from the overdue flow so the same patient is not counted twice.
Insurance gaps versus cancellations. If a visit was cancelled at the front desk because coverage failed, it may already be in your cancellation count. Pick one line for it.
Step 4: apply the capacity cap
The illustrative total implies roughly 101 lost visits a month. That only means something if the practice had room to see them. A missed call from a patient who wanted Tuesday at 9 AM is not lost revenue if Tuesday at 9 AM was already full and the patient would have booked a later date anyway.
Compare the total lost visits to the open, bookable slots in the same period. If your providers have 70 genuinely open slots a month and your leak lines add up to 101 visits, your realistic leak is closer to 70 visits, unless you can add hours. In practice the cap rarely binds for cancellations and no-shows, because those create their own open slots. It binds most often on missed calls and overdue patients, which compete for the same open time.
Step 5: separate the leak from what you can recover
The leak is what is slipping away. The recoverable amount is the part you can realistically get back. Some patients will not answer. Some cancellations happen too late to fill. Some overdue patients have moved away.
Apply a conservative recovery range to the corrected leak. Using an illustrative range of 30% to 50% on the $12,962 example gives roughly $3,900 to $6,500 a month in recoverable revenue. That range is the honest number to plan around, and it is the number any tool or staffing change should be measured against.
- Keep a one-page worksheet with each line, the counts behind it and the assumptions you used.
- Write down every assumption as a percentage you can test later, such as the share of missed callers who wanted to book.
- Rerun the worksheet each quarter. When real results come in, replace assumptions with measured rates.
Common mistakes that inflate the number
- Using billed charges instead of collections. Charges overstate what a visit is worth, sometimes by a wide margin.
- Counting the entire overdue backlog as monthly loss. The backlog is a one-time pool. Only the monthly flow of newly overdue patients belongs in a monthly figure.
- Counting every missed call as a lost patient. Many are repeats, vendors, or patients who reached you later.
- Ignoring capacity. A full schedule cannot absorb recovered demand without more hours.
- Treating one unusual week as normal. Average over several weeks before you multiply.
DocsMD replaces the estimate with your own itemized numbers
DocsMD starts with the schedule export your EHR already produces and a free leak audit that sizes each leak line for your practice, under a signed Business Associate Agreement. Once it is running, it works the detect, decide, act, prove loop on missed calls, cancellations, no-shows, overdue patients and insurance gaps, and every recovered visit is itemized with the patient, date, action and dollar amount in a weekly report.
Questions
Should I use average charge or average collection per visit?
Use average collection: total collected dollars divided by completed visits for the same period. Charges overstate the value of a visit, and an inflated visit value inflates every line of the estimate.
How many months of data do I need?
One full month is the minimum. Three or four months is better, because it smooths out holidays, provider time off and seasonal swings.
Why not count the whole overdue patient list?
The overdue list is a stock that built up over time. A monthly leak figure should only include the flow of patients who newly become overdue each month. You can size the backlog separately as a one-time opportunity.
What recovery rate should I assume?
Start conservative and label it as an assumption. The illustrative 30% to 50% range in this guide is a planning range, not a benchmark. Replace it with your measured rate once you start tracking real recoveries.
