Every outpatient therapy practice makes the same scheduling decision over and over: 45 minutes or 60. Billed as 90834 or 90837. It's a clinical judgment first, but it's also the single highest-frequency revenue decision in the practice, repeated thousands of times a year.
So it's worth knowing what the second one actually pays. We read one insurer's public rate file and checked.
The answer for most providers is clean: the 60-minute session pays 1.5 times the 45-minute one. Not approximately — the median ratio across 16,923 providers is 1.5000, and 78.3% sit between 1.45 and 1.75. That's a convention, and it's a strong one. In dollars, the median gap is $34.00 per session.
Then there's the other group.
12.2% of providers — 2,070 of them — are paid 1.15x or less for the longer session. For them the extra fifteen minutes is worth about $9.00.
The interesting part is that they aren't underpaid
The obvious read is that these are weak contracts. They aren't, and this is where the file gets genuinely useful.
That cohort's median 45-minute rate is $91.00, against a market median of $71.66. Their 60-minute rate is $96.00, against a market median of $100.00.
They're paid unusually well for the short session and completely ordinarily for the long one. Their contract isn't bad. It's flat. Somebody negotiated the 45-minute rate up and the ratio went away with it.
There are two honest ways to read that, and a practice should hear both:
- Their 60-minute rate is low and should move.
- Their 45-minute rate is high, the 60 is correct, and the ratio is a distraction.
We can't tell you which from the file alone, and we're not going to pretend otherwise. But the actionable version doesn't require picking:
For these 2,070 providers, a 60-minute session earns about $9 more than a 45-minute one. For the other 78.3%, it earns $34. The clinical decision is the same either way — the revenue consequence is not.
If you're in that cohort and the network convention applied to you, the cohort's median 60-minute rate would be $136.50 — 1.5x its $91.00 median 45-minute rate — instead of $96.00.
Two ways to size that, and they aren't the same number, so we'll name both. The gap between those two medians is $40.50. The figure we'd actually use is $37.00 a session: the median shortfall computed provider by provider, then taken across the cohort. That's the honest one, because it's the middle provider's experience rather than the difference between two separate summary statistics. At 1,000 sessions a year it's $37,000.
That number is a counterfactual, not an entitlement. It says what this network's dominant ratio is, not what any particular contract owes anyone. Treat it as a question to ask, not a claim to make.
Is 12.2% of providers really 12.2% of contracts?
This is the check that matters, and we've been burned by skipping its cousin before, so we run it now on everything.
Rates in these files are published per provider group, not per provider. A single group with a lot of NPIs in it can look like a population when it's really one contract. If those 2,070 providers were three groups wearing 2,070 hats, "12.2% of providers" would be a sentence about the file's shape rather than about the market.
They aren't. The cohort spans 300 distinct provider groups and 146 distinct 45/60 rate pairs. The largest single group contributes 332 providers — 16.0% of the cohort, meaningful concentration worth naming, but nowhere near degenerate. This is a pattern across hundreds of separately negotiated arrangements, not one contract with a big roster.
Don't lead with the spread here
If you've read our earlier pieces on imaging, you know the usual shape: enormous dispersion, one provider paid several times another for the identical service. That story is weaker in behavioral health, and we'd rather say so than sell it.
Provider-level rate distribution, one insurer's Chicago network:
| CPT | providers | p10 | median | p90 | p90/p10 | |
|---|---|---|---|---|---|---|
| 90791 | intake evaluation | 16,923 | $97.00 | $107.00 | $170.96 | 1.76 |
| 90834 | psychotherapy, 45 min | 16,923 | $63.00 | $71.66 | $110.00 | 1.75 |
| 90837 | psychotherapy, 60 min | 16,923 | $95.00 | $100.00 | $163.63 | 1.72 |
| 90846 | family therapy, patient absent | 16,922 | $72.00 | $80.00 | $122.96 | 1.71 |
| 90847 | family therapy, patient present | 16,922 | $74.00 | $83.00 | $125.87 | 1.70 |
| 90853 | group psychotherapy | 16,869 | $19.00 | $20.00 | $45.00 | 2.37 |
A 1.7x spread from the 10th to the 90th percentile is narrow by the standards of everything else we've measured. We're deliberately not putting an imaging number next to it: we've never computed imaging dispersion as a provider-level p90/p10 on this estimator, and the imaging ratios we have published are different statistics — one standard schedule against another, or a schedule against Medicare — which would not be a like-for-like comparison. What we can say without qualification is that behavioral health in this network looks closer to a posted price than a negotiated one, and that the imaging work we've published describes a market with visibly more room in it.
Which means the "you're underpaid, go renegotiate" pitch is at its weakest in this line. There's less room. A benchmark report that leads with dispersion will underwhelm a therapy practice, and it should.
The exception is group therapy at 2.37x — the one code in the set with imaging-sized spread, and the one where knowing your position is worth the most relative to the others.
Your position is three positions, not one
We've published that a provider's rate position is remarkably stable across imaging codes with a different insurer — rank someone on a head CT and you've largely ranked them on every other scan. That does not transfer here.
Across these six codes the median pairwise rank correlation is 0.785, and 17.6% of providers cross more than one quartile between codes. The comparable imaging figures — all providers, no schedule split, same as the behavioral-health numbers here — are 0.977 and 2.08%. In behavioral health, a single "you're at the Nth percentile" number would be wrong for roughly one provider in five.
But the failure isn't random, and that's the finding. The codes sort into three families:
| rank correlation | |
|---|---|
| Within individual work (intake, 45-min, 60-min) | 0.886 – 0.921 |
| Within family therapy (patient absent, patient present) | 0.973 |
| Across any two of the three families | 0.657 – 0.831 |
The separation is clean: the weakest within-family correlation (0.886) is higher than the strongest across-family one (0.831). No overlap.
So your position travels perfectly well — inside a family. It stops at the boundary. Where you sit on individual psychotherapy tells you almost nothing about where you sit on group therapy.
We checked the obvious objection. Group therapy carries fewer distinct prices than the other codes, and coarser data mechanically depresses rank correlation — which would produce this result with no real decoupling behind it. So we re-ran every other pair after coarsening it to group therapy's exact granularity. The correlations moved by at most 0.005. The decoupling is real, not an artifact of the measurement.
One correction to how we'd have phrased this a day ago: group therapy is the weakest link for four of the five other codes, not all five. For the 45-minute session, the weakest partner is family-therapy-patient-absent (0.778) — slightly below group therapy (0.831). The three-family structure is the accurate description; "one odd code" isn't.
This is the second time we've found this shape, and the first on a different payer. With BCBS-TN, rate position carried across imaging, office visits, physical therapy and injections — averaging about 0.83 — and stopped dead at lab work, where the correlations ran 0.217 down to −0.225.
The direction is the same. The magnitude is not, and we'd rather be precise than tidy: labs decouple, sitting at roughly zero correlation with everything else. Group therapy only attenuates — 0.657 to 0.831 is a good deal weaker than its neighbours but still clearly positive. So this corroborates the rule that a family boundary interrupts rank carry, on a second insurer and a second service line. It does not show that every family boundary interrupts it equally hard.
What this means if you're the one being priced
The practical version is short.
Ask per code, not per specialty. A single behavioral-health percentile is wrong about one time in five, and it will be wrong in the specific way that matters — averaging your strong individual-therapy position against your unknown group-therapy position into a number that describes neither.
Check your 45/60 ratio before you build a schedule around it. If it's near 1.5 you're on the network convention. If it's near 1.0, the extra fifteen minutes is close to free, and that's a fact about your contract worth knowing whichever of the two explanations turns out to be yours.
And look at group therapy separately. It's the one code here with real dispersion, which makes it the one where your position is worth actually measuring.
What we measured, exactly
Everything above comes from one file: Cigna's CHICAGO IL CONNECT NETWORK in-network rate file, last_updated_on 2026-08-01, pulled 2026-08-25. Cigna publishes 133 in-network files; this is one of them.
- Population: professional billing class, the single-rate service-code bucket — 16,923 providers. A second, near-disjoint population in the same file carries separate office and facility rates and is not pooled with this one; blending them would produce a median describing neither.
- Aggregation: provider-level. A provider's rate for a code is taken across the rate groups it belongs to, and every distribution is over providers, never over rate rows. Group membership is counted once: 335 of the file's 1,000 provider groups list the same NPI more than once (5,810 of 35,941 slots, 16.2%), and we treat a repeated slot inside one membership list as a duplicate record rather than a second rate observation.
- Estimator: observed rates only, at both steps. A provider's rate for a code is the nearest-rank median of the rates it carries, so it is always one of that provider's own rates — never the midpoint of two of them. Percentiles across providers are order statistics for the same reason. No provider is excluded on the basis of its rate structure, so every count here is the full population priced on that code. (The counts differ by a handful across codes only because a few providers are not priced on all six.)
- Constructions, named separately, because a derived quantity is not a price: the $34.00 and $9.00 median gaps are medians of differences; $136.50 is a product (1.5 × a median); $40.50 is a difference of two medians; and the $37.00 shortfall is a median of per-provider shortfalls. Each is computed from observed rates and none of them is itself a rate printed in the file.
- Why this note is more specific than our earlier pieces: an earlier cut of this article claimed observed-only while a
statistics.mediancall was silently returning the midpoint of two rates for 6.5% of provider-code medians, and paired a cohort figure with a market figure computed on two different populations. We caught it in pre-publish review, re-derived every number from the raw file, and published the corrected set. Review then caught a second one: the same code was counting those duplicate NPI slots, so we de-duplicated and re-derived again. The finding did not move either time. The 1.5000 median ratio, the $34.00 market gap and the $9.00 cohort gap are byte-identical under all three median conventions we tested, and unchanged by de-duplication; what moved was the cohort's share (11.5% → 12.2%), its count (2,061 → 2,070), and cents on two medians. - Rank measure: Spearman rank correlation, per pair of codes, over providers priced on both.
And the limits, which matter as much as the numbers:
- This is one network file from one insurer at one vintage. It is not "the Chicago market" and it is not "Cigna."
- These are negotiated in-network amounts — not allowed amounts, and not what anyone was actually paid.
- No provider taxonomy was joined. "Behavioral health" here means priced on these six codes in this network, not credentialed in behavioral health.
- The 1.500 convention is a description of this network, not a benchmark anyone is owed.
Why we publish this
The rate itself is public. Anyone can download this file — it's 208 megabytes of JSON, about 12 compressed, it's one of 133, and the answer to "what does a 60-minute session pay" is somewhere inside it.
What's scarce isn't the number. It's a neutral read of where a specific practice sits, per code, with the estimator and the population named so the answer can be checked instead of trusted. We don't sit on either side of that table. We don't negotiate on anyone's behalf and we don't advise insurers on what to pay — we measure what's published, say how we measured it, and let the people at the table use it.
That's the whole product: know exactly where you stand before the conversation starts, and watch it when the file changes.