Skip to content
The messiness gauntlet

Five comp setups that are supposed to be too messy for software

Every owner we talk to says some version of the same thing: my compensation is a patchwork, nothing off the shelf will handle it. Fair. So here are five of the worst patchworks we hear about, run through the same engine that runs the product, with the verdict on every clinician printed as it came back.

No patient data, everInvented practices, invented peopleSame engine as the product
How to read this

These numbers were not written by hand

The five practices below are fixtures: a small file of hours, rates, and comp terms, exactly the shape the product asks an owner for. Every dollar in every table is computed from those fixtures when this page is built, by the same code that computes a real customer’s report. Nothing here is typed in after the fact, and the numbers are pinned by tests, so if the engine ever answered differently this page would change with it instead of quietly going stale.

Every practice, clinician, and figure is invented. The engine never sees a patient, a note, or a diagnosis, in these fixtures or in a real report. It works from hours, rates, and what a clinician is paid.

A note on the pay column, because it is the part people expect us to fudge: the engine will not call a pay cut an improvement. Where a cheaper structure exists, it says so and says what it would cost the clinician, and it leaves the choice with you. How the read works →

Scenario 1

A base plus a split, with the split hiding behind a number

Two of my people get a guaranteed base and a cut of what they bill, but the cut only starts above a number. One of them is under it and one is over it. No tool handles that.
The setup
  • Two clinicians, identical contracts: a guaranteed base of $52,000 a year, plus 45 percent of everything they bill above $3,000 in a pay period.
  • Same rate, same office, same terms. The only difference is how full their weeks are.
  • Marin bills 17 clinical hours a pay period, which lands her under the $3,000 threshold. Her split never starts, so she takes the base and nothing else.
  • Wren bills 23 clinical hours a pay period on the same terms, so she clears the threshold and earns the base plus 45 percent of the overage.
What the engine returns for a base plus a split, with the split hiding behind a number. Monthly figures, at the hours each clinician actually worked.
ClinicianHours / periodRevenuePayAll-in costOverhead shareNetBreak-even hoursVerdict
Marin17$6,078$4,333$4,943$2,100-$96521.5Under water after overhead
Wren23$8,223$5,108$5,869$2,100$25321.5Carries its share

What that says. The contract that reads the same on paper pays two different ways. The clinician under the threshold is on a flat base and costs the practice more per dollar she brings in than the one over it, which is the opposite of what most owners expect.

  • Marin is on hybrid (base + fee split). The cheapest structure the engine tested for this seat is commission, worth $2,570 a month to the practice and $2,369 a month out of their pay.
  • Wren is on hybrid (base + fee split). The cheapest structure the engine tested for this seat is commission, worth $2,519 a month to the practice and $2,323 a month out of their pay.

Practice-level read: clinician pay is 71.6% of clinician revenue. The engine's top-ranked move here: Close Marin's gap: ~4.5 more clinical hrs/period to clear breakeven

Scenario 2

The supervisor gives the hour, the associate carries the cost

My senior clinician supervises two associates. Her billable hours drop because of it, and the associates cost money to supervise. Where is a spreadsheet supposed to put that?
The setup
  • One licensed clinician on a 45 percent split, and two pre-licensed associates paid hourly for admin time and clinical time.
  • Supervision moves through this roster in two directions at once, so it shows up on two different rows.
  • Rosa's caseload target is 21 clinical hours a pay period. She gives 4 of them to supervising the two associates, so she bills 17. She carries benefits and a retirement match.
  • Devi receives 2 hours of supervision a pay period, booked against her seat at $150 an hour fully loaded. She bills 24 clinical hours.
  • Kai receives the same 2 hours on the same terms, but he is still filling his caseload and bills 19 clinical hours, with a heavier paperwork load per session.
What the engine returns for the supervisor gives the hour, the associate carries the cost. Monthly figures, at the hours each clinician actually worked.
ClinicianHours / periodRevenuePayAll-in costOverhead shareNetBreak-even hoursVerdict
Rosa17$6,446$2,901$4,276$2,500-$33119Under water after overhead
Devi24$6,864$2,909$4,057$2,500$30721.75Carries its share
Kai19$5,434$2,403$3,454$2,500-$52023.5Under water after overhead

What that says. The engine puts each half of the supervision where the decision is. Rosa's row shows the billing she gave up to teach; the associates' rows carry what their supervision costs to deliver. Neither number is buried inside the other, and the supervisor is not automatically the healthy seat.

  • Rosa is on fee-split. The cheapest structure the engine tested for this seat is commission, worth $898 a month to the practice and $804 a month out of their pay.
  • Devi is on commission. The cheapest structure the engine tested for this seat is fee-split, worth $176 a month to the practice and $164 a month out of their pay.
  • Kai is on commission. The cheapest structure the engine tested for this seat is fee-split, worth $247 a month to the practice and $229 a month out of their pay.

Practice-level read: clinician pay is 51.9% of clinician revenue. The engine's top-ranked move here: Close Kai's gap: ~4.5 more clinical hrs/period to clear breakeven

Scenario 3

A 40 percent split that is not 40 percent

Both of them are on a 40 percent split with an hourly floor, benefits, and a retirement match. Forty percent is forty percent. What is there to model?
The setup
  • Two clinicians on the identical package: 40 percent of what they bill, a $22 an hour floor on admin time, employer-paid benefits, and a 4 percent retirement match.
  • One works a private-pay caseload; the other works a panel that pays about half as much per hour.
  • Tova bills $170 an hour on a private-pay caseload and works 24 clinical hours a pay period. Her split comfortably clears the floor, so the floor never comes up.
  • Juno bills $92 an hour on a lower-paying panel, works 20 clinical hours a pay period, and carries more admin per session. Her floor pays her more than her split would.
What the engine returns for a 40 percent split that is not 40 percent. Monthly figures, at the hours each clinician actually worked.
ClinicianHours / periodRevenuePayAll-in costOverhead shareNetBreak-even hoursVerdict
Tova24$8,840$3,536$5,033$3,100$70720.25Carries its share
Juno20$3,987$1,716$2,791$3,100-$1,90440.25Under water after overhead

What that says. The floor is the part nobody prices. On the lower-paying panel it pays more than the split does, so the seat is not on a 40 percent split at all, it is on an hourly wage, and the benefits and match sit on top of it either way. Same sentence in the contract, two entirely different costs per dollar collected.

  • Tova is on fee-split. The cheapest structure the engine tested for this seat is commission, worth $691 a month to the practice and $614 a month out of their pay.
  • Juno is on fee-split. Of the structures the engine tested, nothing leaves the practice more without cutting their pay.

Practice-level read: clinician pay is 57.0% of clinician revenue. The engine's top-ranked move here: Close Juno's gap: ~20.3 more clinical hrs/period to clear breakeven

Scenario 4

Two hourly rates and a threshold before either one counts

I pay one hourly rate for admin time and a different one for clinical time, and the clinical rate only starts after the first six hours in a pay period. There is no box for that anywhere.
The setup
  • Three clinicians on one commission package: $24 an hour for admin time, $32 an hour for clinical time, and the clinical rate only applies above the first 6 clinical hours in a pay period.
  • All three bill at the same rate. What differs is how much paperwork each session generates and how full the week is.
  • Sol bills 24 clinical hours a pay period and runs a light admin load, about 1.4 hours of admin per clinical hour.
  • Rune bills the same 24 clinical hours at the same rate on the same package, but his caseload generates about 2.1 hours of admin per clinical hour.
  • Bex is part time at 8 clinical hours a pay period, so only 2 of her hours ever reach the clinical rate. Her overhead share does not shrink to match.
What the engine returns for two hourly rates and a threshold before either one counts. Monthly figures, at the hours each clinician actually worked.
ClinicianHours / periodRevenuePayAll-in costOverhead shareNetBreak-even hoursVerdict
Sol24$9,360$2,995$3,599$2,800$2,96110.75Carries its share
Rune24$9,360$3,869$4,539$2,800$2,02113Carries its share
Bex8$3,120$804$991$2,800-$67111.25Under water after overhead

What that says. The threshold and the admin load pull in opposite directions. Two clinicians at identical hours and identical rates cost the practice materially different amounts because one generates more admin time per session, and the part-timer's clinical rate barely engages before her overhead share arrives.

  • Sol is on commission. Of the structures the engine tested, nothing leaves the practice more without cutting their pay.
  • Rune is on commission. The cheapest structure the engine tested for this seat is fee-split, worth $134 a month to the practice and $125 a month out of their pay.
  • Bex is on commission. Of the structures the engine tested, nothing leaves the practice more without cutting their pay.

Practice-level read: clinician pay is 37.8% of clinician revenue. The engine's top-ranked move here: Close Bex's gap: ~3.3 more clinical hrs/period to clear breakeven

Scenario 5

Everyone bills the same rate, nobody collects it

Half my roster is on insurance. What I bill and what actually lands in the account are different numbers, and my comp agreements are written against one of them.
The setup
  • Three clinicians, one contract: 45 percent of revenue with a $20 an hour floor on admin time, benefits, and a 4 percent match. All three bill $185 an hour and all three work 22 clinical hours a pay period.
  • Two of them have real collections on file. The third does not, so the practice-wide collection rate of 86 percent applies to her instead.
  • Ines works a mostly private-pay caseload. Her collections on file come to about 96 cents on the billed dollar.
  • Marek works a heavily contracted panel with a slow denial cycle. His collections on file come to about 71 cents on the billed dollar.
  • Priya started recently and has no clean collections history yet, so she is read at the practice-wide 86 percent until she does.
What the engine returns for everyone bills the same rate, nobody collects it. Monthly figures, at the hours each clinician actually worked.
ClinicianHours / periodRevenuePayAll-in costOverhead shareNetBreak-even hoursVerdict
Ines22$8,465$3,809$5,242$2,600$62318.5Carries its share
Marek22$6,262$2,818$4,046$2,600-$38525Under water after overhead
Priya22$7,584$3,413$4,764$2,600$22020.75Carries its share

What that says. Identical rate, identical hours, identical contract, three different seats. The engine computes each one on the money that actually arrived, and it pays the split on that same basis, because that is what the agreement is written against. The seat that only collects about 71 percent of what it bills is the one underwater, and nothing on the billed side of the roster shows it.

  • Ines is on fee-split. The cheapest structure the engine tested for this seat is commission, worth $963 a month to the practice and $863 a month out of their pay.
  • Marek is on fee-split. The cheapest structure the engine tested for this seat is commission, worth $72 a month to the practice and $64 a month out of their pay.
  • Priya is on fee-split. The cheapest structure the engine tested for this seat is commission, worth $853 a month to the practice and $764 a month out of their pay.

Practice-level read: clinician pay is 59.0% of clinician revenue. The engine's top-ranked move here: Close Marek's gap: ~3.0 more clinical hrs/period to clear breakeven

What this is not

Messy is not the same as impossible

None of the five needed a special case. A threshold is a number, a floor is a number, supervision is hours times a rate, and collections are what actually arrived. The reason these feel unmodelable is not that the arrangements are exotic. It is that a spreadsheet built one clinician at a time stops agreeing with itself around the fourth exception, and a P&L never disagreed with itself because it never went seat by seat at all.

If your setup is stranger than these, that is worth knowing too. Run yours and see what comes back.

Put your own comp setup through it.

About five minutes. Rough numbers are fine.

See your numbers free →View a sample first

Free. No signup. The free read runs in your browser.