If you run a therapy or ABA group practice past the $2M revenue mark, there’s a specific kind of anxiety you probably recognize. You notice your bank deposits have been trending down over a few months, but the monthly updates from your billing team keep reading about the same as they always have. Something feels off, but you can’t quite put your finger on what.
The hard part is you can’t really prove anything is wrong. You don’t know enough about the billing side to push back with specifics, your CPA is mostly a year-end resource, and your EHR produces reports, but nobody has ever walked you through which ones actually matter.
You likely have the numbers that would answer this question. The problem is that most practice owners have never been taught where to look, or what to compare the numbers against once they’ve pulled them. And most billing teams are doing their actual job (submitting claims, working denials, sending statements) without proactively giving the owner the kind of aggregate, forward-looking view that would either reassure them things are fine or flag that something isn’t. That’s a gap, not a fault, and it’s one of the things a fractional CFO that understands RCM is for.
There are five numbers that, taken together, give you a clearer picture of your billing health than a month’s P&L will. If everything looks fine, you’ll know that with some confidence and have specifics to point to the next time the anxiety creeps back. If something’s off, you’ll know what to raise with your billing team, not just that you have a vague bad feeling. Either way, you stop flying blind.
Quick reference
| KPI | Difficulty | Target | What it tells you |
|---|---|---|---|
| % AR over 90 days | Easy (2 min) | 10-15% | Whether old claims are getting worked |
| Collection rate (net) | Medium (10 min) | ≥95% | Whether billing is actually working |
| Clean claim rate | Medium-Easy (5 min) | ≥90% sustained | Whether claims are clean before submission |
| Days in AR | Medium (5 min) | <45 days (<30 stable) | How fast claims are turning into cash |
| Denial rate | Hard (15-30 min) | <10% | Whether you’re losing real money to payer refusals |
Why these five
These are the five I keep coming back to across engagements, not a textbook list. I’ve ordered them by how hard it is to pull the number, so you can get a quick read on the easy ones first and work through the rest if something surfaces. After the five, I’ll add a sixth thing worth watching that doesn’t quite work as a single-number KPI — patient accounts receivable — because thinking about it matters even if it isn’t on the list.15
KPI 01Percentage of AR Over 90 Days
Difficulty: Easy. Pull directly from your EHR’s aging report. About 2 minutes.
Of your total outstanding accounts receivable, what percentage is more than 90 days old? This is the first number I look at when I’m getting oriented with a practice, because if this one is off, something is wrong somewhere, and the other four mostly help you find where.
% AR over 90 days = AR over 90 days / Total AR
Well-run practices land between 10 and 15 percent. The HFMA MAP Award, which recognizes top-performing physician practices on revenue cycle metrics, defines the acceptable range as 15 to 30 percent, and their 2024 award winners came in at a median of 10.8 percent.1 Behavioral health runs higher than general medical because documentation requirements, prior-auth cycles, and appeal timelines all extend the tail. Top quartile for a well-run BH group practice is 10 to 15 percent, the warning line is 20 to 25 percent, and over 25 percent means there’s a systemic follow-up breakdown somewhere.
Benchmarks
| % AR over 90 days | |
|---|---|
| Target | <15% |
| Warning | 20-25% |
| Intervention | >25% |
The number matters because the older a claim gets, the less likely it is to collect. At 91 to 120 days, collection probability drops to 50 to 65 percent, and by 180 days it’s closer to 25 percent. Some payers have timely-filing deadlines you may be approaching. Every dollar that crosses 90 days unresolved is a dollar you should assume you won’t collect unless somebody actively works it.
How to pull: From your EHR’s insurance aging report. Aggregate the 91+ day buckets and divide by total. Pull insurance aging separately from patient aging — they behave very differently (patient aging gets its own treatment further down).
If you’re off: Almost always a specific concentration — two or three payer/client combinations drive most of it. Filter the aging by payer first, then by specific client balances within the top payers. If the problem is chronic even as total AR grows, the cause is a follow-up process gap. Claims that don’t get worked don’t resolve themselves.
KPI 02Collection Rate
Difficulty: Medium. Depending on your system, this may require synthesizing two or three reports. About 10 minutes plus some simple math.
Your collection rate is the percentage of what you should have collected that you actually collected. The “should have collected” part matters, because you’re asking what percentage of the revenue you were contractually entitled to (after the payer write-offs you agreed to when you signed their contract) actually came in the door.
Net Collection Rate = Payments received / (Charges billed − Contractual adjustments)
This is what’s called the net collection rate. There’s a gross version — payments divided by total billed charges — but it’s misleading because it penalizes you for contractual adjustments you already agreed to. Use net as the headline metric and ignore the gross version.
For behavioral health, the target is 95 percent or higher. That’s at the top of the published benchmark range — Medical Billers and Coders publishes 90 to 94 percent for large practices,3 and Quanyx publishes 92 to 95 percent for ABA agencies.4 BH typically underperforms general healthcare (which runs 95 to 99 percent) by 4 to 8 points because of session-based billing, stricter documentation, and payer policy variation. 95 is where a well-run practice should land, not the average.
Benchmarks
| Net collection rate | |
|---|---|
| Target | ≥95% |
| Warning | <85% |
| Process overhaul needed | <80% |
Below 85 percent is where I start getting concerned. Below 80 percent is where your billing needs a real process overhaul rather than incremental tuning. Practices without dedicated RCM oversight often operate well below the benchmark range without realizing it, because nobody is calculating this number on a recurring basis.
This is one of the clearest indicators of whether billing is actually working. At 80 percent net collection rate on $3 million billed, that’s $600,000 you were entitled to collect and didn’t. Most of it is fixable with better process and follow-up. It’s also the number that tends to confirm or deny the anxiety in the opening, because if it’s off, your bank account is telling you the truth.
How to pull: Depending on your EHR, this may be a report you can pull directly or one you’ll need to calculate from two or three other reports. Two methodology points matter more than the menu navigation.
First, factor out contractual adjustments. If you compare raw payments to raw billed charges, you’ll skew your rate down by the amount of the agreed-upon write-offs you already accepted when you signed each payer contract. That’s the difference between gross and net collection rate, and it’s the single biggest reason a practice’s collection rate looks worse than it actually is.
Second, match payments to the claims they’re paying for. Just dividing payments received in a period by claims billed in the same period isn’t quite right, because most of those payments are for prior-period claims (claims billed 30, 60, 90 days ago that finally got paid this month). The accurate version pulls a cohort of claims from a defined service period and tracks how much of that cohort eventually got paid. Pull over a 3- to 6-month window so one month’s timing doesn’t skew things, and exclude the most recent 30 to 60 days from the calculation. Claims in that range are still in flight and will drag the number down for reasons that aren’t telling you anything about how billing is actually performing.
If you’re off: Below 85 percent almost always points to a systemic issue — a workflow gap, a credentialing lapse, or billing staff capacity. Worth a real audit. Between 85 and 90 percent is more often a denial-management gap; the denial rate (KPI 5) will tell you where.
KPI 03Clean Claim Rate
Difficulty: Medium-Easy. Pull from your EHR’s claim history. About 5 minutes.
Your clean claim rate is the percentage of claims that go through on first submission — accepted by the clearinghouse, made it to the payer, ready to be adjudicated. The inverse is the rejection rate: claims that bounced at the clearinghouse before the payer ever saw them, usually because of a technical or format error (wrong field, missing modifier, credentialing data not right).
Clean Claim Rate = Claims accepted on first submission / Total claims submitted
Quick vocabulary note, because this trips people up: rejections and denials are different. A rejection happens at the clearinghouse level (the claim didn’t make it to the payer). A denial happens at the payer level (they saw it, they said no). Different problems, different fixes. Clean claim rate measures rejections only — denials are KPI 5.
Public benchmarks put the healthy threshold at 85 percent clean claim rate (Office Ally’s “good” tier5) and excellent at 95 percent (HFMA’s recommended target6). Those are common reference points, but the operational target should be higher than the 85 percent floor. Rejections are the most fixable category in your billing data. Once you see a payer reject for OON provider, eligibility, or a credentialing issue, the right move is to fix the root cause upstream, sometimes by holding claims or even pausing services until it’s resolved. Practices that work rejections this way drive clean claim rate to 90 percent or higher and keep it there.
Benchmarks
| Clean claim rate | |
|---|---|
| Public reference — healthy | ≥85% |
| Public reference — excellent | ≥95% |
| Operational target | ≥95% sustained, with rejections clustered in 1-2 root-cause buckets |
The number matters because every rejected claim is staff time to fix plus a cash-flow delay. A 25-clinician practice billing 1,500 claims a month at 80 percent clean claim rate has 300 claims that didn’t go through cleanly — three to four days of full-time work reworking claims that shouldn’t have needed rework.
How to pull: From your EHR’s claim history, filtered by status. Count Accepted ÷ Total submitted over a 3-month window (or the inverse — Rejected ÷ Total submitted, then subtract from 1). Many practices pull this from their clearinghouse portal instead (Availity, Waystar, Change Healthcare) because the categorization is cleaner.
If you’re off: Below 90 percent sustained, pull rejected claims by root cause first. The usual suspects: providers out of network, payer carveouts, demographic mismatches, COB issues on secondary claims, or credentialing gaps. Concentration tells you the fix. One root cause driving most of the volume is a workflow or data fix you can make in days. Many causes spread evenly is a process problem and probably needs an audit. If one payer is driving most of the volume, that’s the place to start — dig into their contract and what they’re returning against your specific claims.
KPI 04Days in AR
Difficulty: Medium. Simple formula, but understanding why the number behaves the way it does takes a read-through. About 5 minutes to calculate.
Days in AR is the average number of days from service delivered to payment received, adjusted for the volume of what you’re billing. It’s not just “how old is the money” — it’s a ratio, total AR divided by how fast you’re billing.
Days in AR = Total AR / (Total charges over period / days in period)
Example: $300K total AR, $8,200/day average charges over the last 90 days. $300,000 / $8,200 = 36.6 days in AR.
For the practices I work with, anything above 40 days starts to look like there’s room to improve. Industry-average numbers run higher (BreezyBilling reports the current BH industry average has risen to 65 to 75 days, up from 50 to 55 in 20247, and Quanyx’s 2026 ABA benchmark places the industry at 40 to 60 days with 45 days as the investigation trigger4) but those are descriptions of where most practices are, not where a well-run one should land. HFMA MAP Award physician-practice winners come in at a median of 21.9 days1 — that’s a different scale of operation, but it shows what’s possible when billing is actually tight.
Benchmarks
| Days in AR | |
|---|---|
| Operator target | <45 days (<30 with stable volume) |
| Industry average | 65-75 days |
| Investigation trigger | 45+ |
This is the KPI where nuance matters more than the raw number. A growing practice naturally sees days-in-AR rise even when collection is working well, because AR grows faster than the denominator adjusts. Trend matters more than snapshot.
The number matters because it’s cash flow directly. Days in AR × average daily revenue = cash that’s owed to you but hasn’t landed yet. At $3M annual revenue (about $8,200/day) with 50 days in AR, you’ve got around $410K out there waiting to come in. Cut that to 40 days and that’s about $82K showing up in your bank account that wasn’t there before. Same billing volume. Same payer mix. Same services delivered. Just collected faster. Most owners feel this as the “the bank account never seems to match up with how busy we’ve been” gap, and tightening days in AR is one of the most direct ways to close it.
Sidebar — The growth artifact
If your practice is growing by 3-5 clinicians per year, days-in-AR typically rises 10-25 days above stable-state. The causes are structural: credentialing lag (60-120 days per payer), billing staff scaling behind clinical, and new payer contracts that come with higher initial rejection rates.
Diagnostic: look at the 0-30 day bucket as a percentage of total AR. If that share is stable or growing, the rise in days-in-AR is a normal growth artifact. If the 0-30 share is shrinking, billing is actually deteriorating and the growth is masking it.
How to pull: Pull total AR from the aging report and total charges over the period from a billing transaction or revenue report, then calculate. CentralReach’s own published benchmark is below 50 days, ideal 30 to 40.2
If you’re off: Over 50 days with stable volume — pull the AR aging by payer; usually 1 or 2 payers are long-tailed. Rising trend with stable volume — look upstream at KPIs 3 and 5. Rising trend with growing volume — probably normal; check KPI 1 (% AR over 90) as the cross-reference. If that’s stable, the days-in-AR rise is the denominator catching up.
KPI 05Denial Rate
Difficulty: Hard. Often not reported cleanly by EHR; may require clearinghouse data or manual categorization.
Denial rate is the percentage of claims that come back denied by the payer — accepted by the payer’s system, adjudicated, and refused. Distinct from rejection (bounced before adjudication) and from pended (under review).
Denial Rate = Claims denied / Claims adjudicated
Where “adjudicated” means claims the payer actually processed (paid, denied, or applied to deductible) — not rejected claims that bounced before they got there.
Denial rate is the hardest of the five to get cleanly. Most practices can only get it from clearinghouse reports (Availity, Waystar, Change Healthcare) or payer portals, and the categorization across systems is inconsistent. This is the one KPI where investing the time to build the pull process once pays dividends every month after.
The national average denial rate across all provider types is about 12 percent, per Optum’s 2024 Revenue Cycle Denials Index (based on about 124 million hospital claim remits).8 HFMA MAP Award physician-practice winners — the top performers — run at 3.2 percent at the 2024 median.1 Behavioral health runs structurally higher than both:
- Outpatient psychotherapy: 16 to 21 percent9
- Psychiatry (E/M + med management): 12 to 18 percent
- IOP / PHP: 28 to 36 percent
- ABA: 20 to 30 percent10
A widely-cited comparison: BH claims are denied at roughly double the rate of other medical specialties. For a $3 million practice running at 18 percent denial rate where half of denials can’t be overturned, that’s about 9 percent of revenue — roughly $270,000 a year — permanently lost.
Benchmarks
| Denial rate | |
|---|---|
| Best-in-class BH | <10% |
| Average BH | 10-15% |
| Red flag | >20% |
Denials typically take more effort to resolve than rejections because the complexity is higher. A rejection is usually a data fix and a resubmit. A denial means understanding why the payer refused, deciding whether it’s worth appealing, gathering documentation, writing the appeal, and tracking it through the payer’s process.
The four common denial buckets for Mental Health and ABA claims
| Bucket | What’s driving it | Where to fix |
|---|---|---|
| Eligibility | Patient coverage issues at the time of service, or patient has a carve-out for behavioral health | Intake process |
| Authorization | Missing, expired, or exceeded auth (ABA concentrates here) | Workflow to track and manage authorizations and re-authorizations proactively |
| Out of Network | Credentialing or contracting issue with the payer | Credentialing team, provider onboarding process |
| Medical necessity | Payer disputes whether the service was warranted | Appeal where it’s worth it; otherwise payer-driven |
How to pull: Most of the major EHRs behavioral health and ABA practices use surface denial rate as a clean single-number report. There are two practical paths. If you have direct clearinghouse access (Availity, Waystar, Change Healthcare), that’s usually the cleanest source — look for EOB analysis or claim adjudication reports. If you don’t, you work it from the remittances directly: pull a sample of ERAs over the period, compare denied claims against paid claims, and tally. Either way, the next layer of work is pulling the CARC and RARC reason codes on the denials and grouping them. Pattern-spotting across CARC/RARC is what actually tells you what’s driving denials and where to focus.
If you’re off: Over 10 percent overall — one or two payers usually drive most of it. Pull denials by payer first. Category concentration matters: if 60 percent are authorization-related, the fix is upstream workflow, not appeals. Preventable denials (eligibility, authorization, coding) should be less than half your total denial volume; if they’re the majority, that’s where to focus first.
One more thing worth watching: patient AR
Patient AR isn’t a single-number KPI — it’s a distribution across aging buckets, and the math on it has gotten materially worse over the last decade while most BH practices still treat it as a side concern. The structural backdrop is high-deductible health plans: about 41.7 percent of privately insured people under 65 are now on HDHPs, per CDC 2023 data,11 and HDHP patients pay an average of $0.18 to $0.34 on the dollar.12 Once a patient balance crosses 90 days, collection probability drops to about 50 percent; at 180 days, about 20 percent. The industry benchmark for self-pay collection rate is 20 to 30 percent of total outstanding balances.13 That’s not 20 to 30 percent of what was billed — that’s 20 to 30 percent of the money already in patient AR.
The uncomfortable number
HDHP patients pay $0.18 to $0.34 on the dollar of what they owe. Once a balance is 90 or more days past due, the collection probability is roughly 50 percent. At 180 or more days, it’s roughly 20 percent.
Three angles worth watching on the patient side:
- % of patient AR in the 0-30 day bucket. Should be 50 to 60 percent. Lower means you’re billing patients too slowly or not collecting at the visit.
- % of patient AR over 90 days. Should be under 15 percent. Over 20 percent means front-office process has broken down somewhere.
- Same-visit copay collection rate (if your EHR tracks it). Aim for over 95 percent on known balances collected at the visit.14
The fix when patient AR is ugly is almost always upstream, not collections-side. The biggest lever is insurance verification before the first visit and copay collection at time of service. For balances over $500, structured payment plans close most of the gap.
Where the data lives in your EHR
For each of these KPIs, the data is somewhere in your EHR, but how easily you can get to it varies a lot. Some systems give you a clean single-number report. Others require pulling two or three reports and stitching them together to get the picture.
In therapy and ABA, the EHRs I see most often are TherapyNotes, SimplePractice, CentralReach, and TheraNest. Each of them surfaces some version of the underlying reports — aging, claim status, billing transactions, ERAs — but the navigation, naming, and level of aggregation differs. When you’re trying to pull these numbers, expect to spend more time figuring out where the data lives than doing the math itself.
A pattern worth flagging: as practices grow, the reporting capabilities of the major EHRs sometimes start to feel limiting. These platforms were largely designed for smaller-practice operations, and once a practice gets to mid-market scale (20+ clinicians, multi-site, multi-payer), the gap between what you need to track and what the EHR aggregates natively widens. Eventually you’re augmenting the EHR’s reporting with spreadsheet work, clearinghouse data, or a separate analytics layer. Knowing where that line is for your practice is part of what these KPIs surface.
The 30-minute scorecard
Pull five numbers in 30 minutes, fill them in, and you’ll know where you stand.
| KPI | Target | Warning | Your number | Action if off |
|---|---|---|---|---|
| % AR over 90 days | 10-15% | >20-25% | Payer concentration analysis | |
| Collection rate (net) | ≥95% | <85% | Systemic audit | |
| Clean claim rate | ≥90% sustained | <85% | Group rejections by root cause: credentialing, OON, demographics, COB | |
| Days in AR | <45 days (under 30 with stable volume) | 45+ | Check payer mix + growth artifact | |
| Denial rate | <10% | >20% | Payer + category analysis |
If you only have time for the lightweight version, run the first two — % AR over 90 and net collection rate. Together they give you a solid starting point on whether billing is healthy, and they’re the two that surface the most signal for the least effort.
If you’re stuck
The billing side of a growing practice is harder than most owners expect, and the answers are rarely in generic advice. The work is in the specifics. If you’ve worked through the scorecard and the numbers are off, and you don’t know what to do about it, that’s where Eastfield Consulting can help.
Eastfield is a fractional CFO practice serving therapy and ABA group practices and agencies with over $1M in annual revenue. Its founder built and sold a therapy-focused EMR and RCM company before leading revenue cycle operations across a behavioral-health software portfolio. That experience means the billing layer is typically where Eastfield is most useful to a practice owner.
If you want to learn more about how Eastfield can help unlock your billing headaches, book a 30-minute intro call.
-
HFMA MAP Award Statistical Data, 2024.
hfma.org/wp-content/uploads/2024/07/MAP_230608_Winner-Resources_Stats-2024.pdf↩↩↩ -
CentralReach, “4 Metrics for Financial Success in Your ABA Practice.”
centralreach.com/blog/4-metrics-for-financial-success-in-your-aba-practice/↩ -
Medical Billers and Coders, “Benchmark Collection Rates for Large Practices,” 2025.
medicalbillersandcoders.com/resources/article/benchmark-collection-rates-for-large-practices.pdf↩ -
Quanyx, “ABA Billing Benchmarks 2026.”
quanyxhealth.com/resources/aba-billing-benchmarks↩↩ -
Office Ally, “First Pass Yield vs. Clean Claim Rate: Everything You Should Know.”
cms.officeally.com/blog/first-pass-yield-vs-clean-claim-rate↩ -
Rivet Health, “A Clean Claim Rate for Your Practice” (citing HFMA).
rivethealth.com/blog/a-clean-claim-rate-for-your-practice↩ -
MBWRCM, “How to Reduce Days in AR: 2026 Benchmarks,” and BreezyBilling, “How to Reduce Days in AR for Your Behavioral Health Practice.”
mbwrcm.com/the-revenue-cycle-blog/improving-days-in-ar-a-best-practices-guide-to-improve-your-revenue-cycleandbreezybilling.net/blog/reduce-days-in-ar↩ -
Optum, 2024 Revenue Cycle Denials Index.
marketplace.optum.com/content/dam/change-healthcare/marketplace-assets/outcomes-and-insights/2024-denials-index.pdf↩ -
Elite Med Financials, “How to Prevent & Appeal Mental Health Billing Denials (2026).”
elitemedfinancials.com/prevent-appeal-mental-health-billing-denials/↩ -
CareTap, “Top Reasons ABA Claims Get Denied and How to Prevent Them in 2026.”
caretap.net/blog/top-reasons-aba-claims-get-denied-how-prevent-them-2026/↩ -
CDC National Health Statistics Reports, “Enrollment in High-deductible Health Plans Among People Younger Than Age 65 (2023).”
pmc.ncbi.nlm.nih.gov/articles/PMC11831409/↩ -
Rivet Health, “How Much Should I Collect Up Front From Patients?” (citing athenahealth data).
rivethealth.com/blog/how-much-to-collect-up-front↩ -
MD Clarity, “Self-Pay Collection Rate.”
mdclarity.com/rcm-metrics/self-pay-collection-rate↩ -
TheraPlatform, “Mental health therapy billing metrics.”
theraplatform.com/blog/3068/mental-health-therapy-billing-metrics↩ -
A note on benchmarks. Behavioral health has thinner public benchmark data than general medical practice does. The BH-specific numbers I cite come mostly from billing vendors who publish their own client-portfolio data, which is useful but not formally surveyed. Where BH-specific data exists, I use it. Where general-healthcare is the best available source, I say so and note the direction BH tends to diverge. The consistent pattern across the data is that BH practices underperform general-healthcare benchmarks by roughly 4 to 8 points on most of these metrics, mostly for structural reasons (session-based billing, heavier prior-auth workflows, documentation requirements) rather than because the practice is mismanaged. ↩