Measured from CMS 2024 data · published August 2026
Is my medical bill markup normal?
Almost every article on this subject repeats the same unsourced rule of thumb: 250% of the Medicare rate is normal, 900% means you are being taken. We went and measured it instead. Across 9,402 billing codes covering 3,554,208,080 services in the 2024 CMS public file, the median charge is 4.72x what Medicare allows.
The short answer
A large gap between what you were charged and what Medicare pays is ordinary, not evidence of an error. 93.3% of codes are billed above 2x. What actually moves a bill is a coding mistake, a duplicate, a service that did not happen, or a charge above the hospital’s own published price. Use the multiple to decide where to look, not as proof on its own.
The measured distribution
Each row below is one billing code in one setting. The ratio is the average submitted charge divided by the average Medicare allowed amount for that same code and setting, so it compares like with like.
| Percentile | Charge vs Medicare allowed | What it means for your bill |
|---|---|---|
| 10th | 2.33x | Unusually restrained billing |
| 25th | 3.36x | Below typical |
| 50th (median) | 4.72x | Completely ordinary |
| 75th | 6.57x | High, still common |
| 90th | 9.66x | Top decile, worth questioning |
| 99th | 26.92x | Rare outside drugs and supplies |
93.3% of code-and-setting pairs are billed above 2x the Medicare allowed amount, 63.9% above 4x, and 9.1% above 10x. If your bill is at 3x, you are below the median. That is the part the rules of thumb get wrong.
The same code costs more in a hospital
Splitting the same codes by where the service happened gives a median of 3.69x in an office against 5.4x in a facility. Identical work, identical benchmark, roughly 46% more markup once a hospital is billing it.
This is why a hospital outpatient department bill and a clinic bill for the same procedure are not comparable, and why “place of service” is one of the first fields worth checking on an itemized bill.
Injectable drugs are a different universe
The extreme ratios in the data are almost all J-codes, the HCPCS Level II codes for injectable drugs. These are the ten largest at real volume.
| Code | Medicare allows | Average charged | Ratio | Services |
|---|---|---|---|---|
| J2001Injection, lidocaine hcl for intravenous infusion, 1 · office | $0.03 | $8.24 | 274.7x | 187,604 |
| J0665Injection, bupivicaine, not otherwise specified, 0.5 · office | $0.01 | $2.67 | 267x | 1,867,192 |
| J1100Injection, dexamethasone sodium phosphate, 1 mg · facility | $0.11 | $26.49 | 240.8x | 12,445 |
| J9263Injection, oxaliplatin, 0.5 mg · office | $0.07 | $14.51 | 207.3x | 20,410,899 |
| J7613Albuterol, inhalation solution, fda-approved final p · office | $0.05 | $6.78 | 135.6x | 148,926 |
| J7614Levalbuterol, inhalation solution, fda-approved fina · office | $0.05 | $6.73 | 134.6x | 10,848 |
| J2704Injection, propofol, 10 mg · office | $0.11 | $11.18 | 101.6x | 763,003 |
| J0665Injection, bupivicaine, not otherwise specified, 0.5 · facility | $0.01 | $0.87 | 87x | 801,550 |
| J1642Injection, heparin sodium, (heparin lock flush), per · office | $0.02 | $1.65 | 82.5x | 386,515 |
| J0131Injection, acetaminophen, not otherwise specified,10 · office | $0.05 | $4.04 | 80.8x | 141,918 |
Read these honestly
A 200x ratio on a J-code is not 200x profit and it is not evidence of fraud. Medicare prices most Part B drugs at roughly the average sales price plus a small percentage, which lands very close to acquisition cost, so the denominator here is about as low as a drug price gets. These codes are also billed per tiny unit, often per milligram, so a single dose is many units. The ratio is real and the comparison is like-for-like, but the conclusion it supports is “drug line items deserve a second look”, not “you were defrauded”.
What to actually do with your number
- Get the itemized bill. A summary statement has no codes on it, so there is nothing to benchmark. Ask for every line with its code, date, units, and unit price.
- Look up each code’s national figures. Our code reference shows the Medicare allowed amount and the average submitted charge side by side, from the same CMS file used above.
- Compare against the percentile, not a slogan. Above the 90th percentile (9.66x) is where a line is genuinely unusual for its code.
- Then check the things that actually get bills reduced. Duplicate codes on one date without a modifier, unbundled panels, units that do not match the time you were there, and services you can show did not happen.
- Compare to the hospital’s own published price.Under the federal price transparency rule hospitals publish machine-readable files. A charge above a hospital’s own posted rate is a far stronger argument than any national average.
Where these numbers come from
Every figure on this page is computed from the CMS dataset “Medicare Physician & Other Practitioners - by Geography and Service”, national aggregation, 2024 data year. We use two columns most summaries ignore: the average Medicare allowed amount and the average submitted charge. Nothing here is estimated or modelled.
Limits worth stating. These are national averages, so regional and hospital-level variation is real and can be large. The submitted charge is what providers billed, not what anyone paid. Medicare’s allowed amount is not the same as a commercial insurer’s negotiated rate. And an average cannot tell you whether your specific line item is correct.
Check your own bill against these numbers
Clever Dispute pulls the codes off your bill, puts each one next to its national figures, and drafts a letter you review before sending. It does not guarantee a reduction.
Open bill analyzerEducational information only. Not legal, medical, insurance, or financial advice. A markup multiple is context for a conversation with a billing department, not a finding of error. CPT is a registered trademark of the American Medical Association.