Skip to content
FonteumThe Graph
DataResearchCare CompareThe DifferAttestAPI
See the proof
  • Data
  • Research
  • Care Compare
  • The Differ
  • Attest
  • API
See the proof
  1. All studies
  2. /The 5% of prescribers behind half of Medicare's drug bill
FINANCIAL DISTRESS · ISSUE 069
cms-part-d-prescribersOriginal Research

The 5% of prescribers behind half of Medicare's drug bill

In 2024 the top 5% of Medicare Part D prescribers — 56,973 of 1.14 million — accounted for 53.5% of the program's $226.7 billion drug bill, while the bottom half split 0.4%. The top 1% alone drove $53.5 billion. The Gini coefficient across prescribers is 0.841.

BY FONTEUM RESEARCH BUREAU · JUNE 14, 2026 · 11 MIN READ · ASSERTED VIA SLSA L3REVIEWED BY DR. JENNIFER MONTECILLO, MDSNAPSHOT 2026-04-04 · DOI 10.5072/fonteum/medicare-part-d-prescriber-concentration-2024 · LAST UPDATED JUNE 14, 2026
CMS Medicare Part D Prescribers · 2026-04-04
Reviewed by Dr. Jennifer Montecillo, MD, non-practicing medical reviewer. Gullas College of Medicine, 2019. Non-practicing medical reviewer focused on source interpretation, terminology, and limitations language. About our reviewers →
Reproduce this study →
Cumulative share of Part D drug cost by top band of prescribers, 2024cms-part-d-prescribers · 2026-04-04
Top 0.1% (1,140)
5.7
Top 1% (11,395)
23.6
Top 5% (56,973)
53.5
Top 10% (113,946)
71.3
Top 50% (569,728)
99.6
Built on CMS Medicare Part D Prescribers · snapshot 2026-04-04 · reproducible · re-derive the figures yourself
Key findings
53.5%
of Medicare Part D's $226.7 billion 2024 drug bill — $121.2 billion — flowed through the top 5% of prescribers (56,973 of 1,139,455)
cms-part-d-prescribers · CMS
$53.5B
went through the top 1% alone — 11,395 prescribers, 23.6% of all program drug cost; a prescriber needed at least $2.66 million in drug spending to reach that tier
cms-part-d-prescribers · CMS
0.841
Gini coefficient of drug spending across prescribers — close to the ~0.85 of US household wealth and far above the ~0.41 of US income; the bottom half of prescribers split just 0.4%
cms-part-d-prescribers · CMS
$9,406 vs $198,991
the median prescriber accounted for $9,406 of Part D drug cost while the mean was $198,991 — a 21-fold gap pulled up by oncology and other specialty-drug prescribers at the top
cms-part-d-prescribers · CMS
On this page
More than half the money flows through 5% of prescribersThe whole distribution, band by bandMore concentrated than incomeWho sits in the top 1%Two economies in one fileWhat one record actually isMethodologyLimitationsSources

The federal Medicare Part D Prescribers file records, once a year, every drug each clinician prescribed to Medicare beneficiaries — the number of claims, the days of supply, and the total amount the program and its plans paid. The companion studies in this series ask which drugs cost the most (the costliest are rarely the most prescribed) and who writes the prescriptions (nurse practitioners now lead by volume). This one asks a different question of the same file: of the $226.7 billion Medicare paid for drugs in 2024, how evenly is it spread across the people who prescribe them? The answer is that it is not spread at all.

More than half the money flows through 5% of prescribers

Group the 2024 records by prescriber and rank clinicians from highest drug-cost total to lowest. The top 5% of prescribers — 56,973 of the 1,139,455 who appear in the file — accounted for 53.5% of every Part D drug dollar, about $121.2 billion of $226.7 billion. Narrow further: the top 1%, just 11,395 prescribers, drove 23.6% — nearly a quarter of the entire program through about one prescriber in a hundred. Narrow again to the top 0.1%, 1,140 prescribers, and the share is still 5.7%, more than a twentieth of a quarter-trillion-dollar program in roughly a thousand people.

The curve is just as steep at the bottom. A prescriber needed at least $2.66 million in drug spending to sit in the top 1%, and at least $956,543 to reach the top 5%. Below the line the numbers collapse: the median prescriber accounted for $9,406, and 815,543 prescribers — more than seven in ten — each stayed under $100,000 for the year. The bottom half, 569,728 prescribers, together account for 0.4% of the program's drug cost.

Medicare's drug spending is nearly as concentrated as American wealth — 5% of prescribers sit behind more than half of it, and the bottom half together account for less than half a percent.

The whole distribution, band by band

The clearest way to see the concentration is the cumulative share at each cut of the ranking. Each row is the same pool of dollars, read from the top down.

BandPrescribersCumulative drug costCumulative shareMinimum to qualify
Top 0.1%1,140$12,946,341,0775.7%$7,324,098
Top 1%11,395$53,451,754,28623.6%$2,658,615
Top 5%56,973$121,234,049,37653.5%$956,543
Top 10%113,946$161,777,228,96171.3%$534,990
Top 25%284,864$211,745,804,14693.4%$139,640
Top 50%569,728$225,834,479,95999.6%$9,406
All prescribers1,139,455$226,740,902,131100.0%—

Source: CMS Medicare Part D Prescribers DY2024, drug cost per prescriber NPI, via the per-prescriber rollup in the reproducibility block.

By the top decile the pool is nearly exhausted: the top 10% of prescribers hold 71.3% of the money, and by the top quarter the share is 93.4%. The distance between the 93.4% line at the top quartile and the 0.4% line at the bottom half is the whole story — Part D drug spending does not taper toward the median prescriber, it falls off a cliff a few percent down the ranking.

More concentrated than income

To put the steepness on a familiar scale, compute the Gini coefficient across prescribers — the standard 0-to-1 measure of inequality, where 0 is every prescriber accounting for the same amount and 1 is a single prescriber accounting for everything. For Part D drug spending in 2024, the Gini is 0.841.

That is a high figure. US household income carries a Gini of roughly 0.41; US household wealth, far more skewed, sits near 0.85. At 0.841, the distribution of drug spending across prescribers sits almost exactly at the wealth end of the scale — far more unequal than how income is distributed across American households.

A Gini of 0.841 does not describe how much any clinician earns — only how unevenly Part D drug spending lands across the prescribers who appear in the file. Most prescribers write a few thousand dollars of generics; a small group prescribes biologics and oncology regimens costing tens of thousands per patient. The coefficient measures that gap, not prescriber income or conduct.

The mean-versus-median gap says the same thing in dollars. The average prescriber accounted for $198,991 of drug cost; the median accounted for $9,406. Whenever a mean sits twenty-one times above its median, a small set of very large values is doing the lifting — here, the 53,573 prescribers who each crossed $1 million, and above them the 446 prescribers who each crossed $10 million, topping out at a single reported NPI tied to $108.7 million in drug cost.

Who sits in the top 1%

The concentration is not random across medicine — it tracks the specialties whose drugs are expensive, not the ones who write the most prescriptions. Break the 11,395 top-1% prescribers down by their reported specialty and the cancer clinic dominates.

SpecialtyPrescribers in top 1%Top-1% drug costShare of top-1% pool
Hematology-Oncology2,446$11,624,439,06921.7%
Internal Medicine1,243$5,549,338,11610.4%
Nurse Practitioner1,211$5,441,850,91610.2%
Rheumatology953$4,200,449,7067.9%
Medical Oncology656$3,143,194,6135.9%
Pulmonary Disease577$2,986,889,1445.6%
Endocrinology714$2,830,146,4885.3%
Neurology600$2,680,996,7715.0%

Source: CMS Medicare Part D Prescribers DY2024, top 1% of prescribers by drug cost, reported specialty.

Hematology-Oncology alone supplies 2,446 of the top-1% prescribers and 21.7% of their dollars; fold in Medical Oncology and the oncology family reaches 3,102 prescribers and 27.6% of all top-1% drug cost — more than a quarter of the most-concentrated tier in one field. The pattern is structural, not behavioral: oncology and rheumatology regimens are dominated by biologics and specialty drugs that can cost tens of thousands of dollars per patient per year, so a single specialist's panel runs up a drug-cost total that hundreds of primary-care clinicians prescribing generics never approach. The presence of Internal Medicine and Nurse Practitioner near the top reflects volume — large panels of patients on moderately priced drugs — rather than per-patient cost.

Two economies in one file

The concentration resolves the file into two activities that share a program but little else. At the top, a few thousand specialists prescribe biologics and oncology drugs — high cost per claim, narrow patient panels — that account for the majority of the money. At the bottom, hundreds of thousands of clinicians prescribe high-volume generics — statins, blood-pressure pills, thyroid medication — cheap per claim and summing, across the entire bottom half, to barely four-tenths of one percent of the total. The companion study on the most expensive Part D drugs takes that split apart drug by drug; the prescriber distribution is the same divide seen from the clinician's side of the ledger, and the GLP-1 spending study shows a single drug class — now $24.6 billion a year — straddling both.

This is why a single number like "$226.7 billion across 1.14 million prescribers" misleads. It implies an average of roughly $199,000 a prescriber, when the typical prescriber accounts for $9,406 and a few account for eight figures. The aggregate is real; the average is a fiction that no median prescriber experiences.

What one record actually is

Each row in cms_part_d_prescribers is one prescriber's full-year activity for one drug, carrying the prescriber's NPI, reported specialty, claim count, and total drug cost. Rolling those rows up by prescriber_npi gives one drug-cost total per prescriber — the unit of this study. A clinician who prescribed one expensive biologic and one who prescribed forty generics each become one observation; the concentration figures rank those observations and measure how the dollars distribute across them. Because the unit is the prescriber, no count or share in this study names, ranks, or surfaces an individual clinician.

Methodology

All figures are aggregations over the cms_part_d_prescribers table, populated from the CMS Medicare Part D Prescribers "by Provider and Drug" data-year-2024 release (published 2026-04-04, RLS Pattern B — public read). The table holds 28,023,892 prescriber-by-drug records. The prescriber universe is every record carrying a prescriber NPI: 1,139,455 prescribers holding $226,740,902,131 in total drug cost — the same program total reported in the GLP-1 spending study.

Per-prescriber totals are computed as sum(total_drug_cost) GROUP BY prescriber_npi — one prescriber, one observation. Cumulative shares rank prescribers descending and sum each top band as a fraction of the program total. The Gini coefficient uses the rank formula 2·Σ(i·cost)/(n·Σcost) − (n+1)/n over ascending ranks. Because a count plus percentile over the 28-million-row table exceeds PostgREST's statement timeout, the figures are point-in-time to the frozen 2026-04-04 snapshot; the exact SQL is in the reproducibility block below and on the Part D prescribers dataset page. Methodology version: part-d-concentration/v1.

Limitations

  • Drug cost, not prescriber income. "Drug cost" is what Medicare and its plans paid for the drugs a prescriber's patients filled. It is not the prescriber's revenue or compensation, and a large total reflects expensive drugs and large panels, not conduct.
  • Eleven-claim floor. CMS suppresses any prescriber-and-drug record with ten or fewer claims for patient privacy, so those rows are absent from the public file (minimum observed claim count is 11). Excluding the smallest records slightly understates the long tail; including them would make the distribution marginally less concentrated, not more.
  • Snapshot, not a trend. Figures reflect the 2026-04-04 DY2024 release. CMS restates prior years and publishes a new file annually, so the bands shift between releases.
  • One-off totals steepen the top. A single very high-cost prescriber (the $108.7 million reported NPI at the maximum) lifts the very top of the distribution. The concentration is real either way, but the extreme tail is sensitive to a handful of records.
  • Reported NPI, not resolved. Prescribers are grouped by the NPI as reported, with no cross-NPI entity resolution; the file also includes some organizational prescriber NPIs alongside individuals, so a clinician reported under two NPIs would appear as two prescribers.
  • Spending concentration, not influence, and aggregate-only. The figures measure how Part D drug spending is distributed across prescribers, never whether any prescription was appropriate. No individual prescriber is named, ranked, or surfaced.

Sources

  • CMS — Medicare Part D Prescribers by Provider and Drug — the federal public-use file behind every figure in this study.
  • CMS — Medicare Part D Prescribers methodology — claim-count suppression, drug-cost definition, and reporting rules.
  • U.S. Census Bureau — Gini index of income inequality — the reference definition and US household-income benchmark used for comparison.

The companion dataset page for CMS Medicare Part D Prescribers lists the full schema and refresh cadence; the drug-side counterpart sits in the most expensive Part D drugs, the specialty cut in who prescribes Medicare's drug spending, and the recipient-side twin in the 1% of doctors who get two-thirds of industry money.

Frequently asked questions

What share of Medicare Part D drug spending goes to the top prescribers?
In 2024 the top 5% of prescribers — 56,973 of 1,139,455 — accounted for 53.5% of the program's $226.7 billion drug bill, about $121.2 billion. The top 1% alone (11,395 prescribers) drove $53.5 billion, 23.6% of all program drug cost, and the top 10% reached 71.3%.
How concentrated is it compared with income or wealth?
More concentrated than income, and close to wealth. The Gini coefficient of drug spending across prescribers is 0.841, where 0 is perfect equality and 1 is one prescriber accounting for everything. US household income carries a Gini of roughly 0.41 and US wealth roughly 0.85, so Part D drug spending lands near the wealth end of the scale.
How much does a typical prescriber account for?
Far less than the average implies. The median prescriber accounted for $9,406 of Part D drug cost in 2024 while the mean was $198,991 — a 21-fold gap. 815,543 prescribers, more than seven in ten, each stayed under $100,000, and the bottom half of prescribers together account for just 0.4% of the program's drug cost.
Who sits in the top 1% of prescribers?
Specialty-drug prescribers, overwhelmingly. Hematology-Oncology alone supplies 2,446 of the 11,395 top-1% prescribers and 21.7% of their dollars; adding Medical Oncology brings the oncology family to 3,102 prescribers and 27.6% of the top-1% pool. Rheumatology, Pulmonary Disease, Endocrinology and Neurology fill out the rest — the fields where a single biologic or oncology regimen can cost tens of thousands of dollars a year per patient.
Does a high drug-cost total mean a prescriber did something wrong?
No. A prescriber's Part D drug-cost total reflects the price and volume of the drugs their patients filled, not the prescriber's income or any judgment about care. Oncologists and rheumatologists sit at the top because the drugs they prescribe are expensive, not because they prescribe carelessly. The data describes where spending concentrates, never whether any prescription was appropriate.
Why is the data limited to prescribers with more than ten claims for a drug?
CMS suppresses any prescriber-and-drug record with ten or fewer claims to protect patient privacy, so those rows never appear in the public file. Every figure here is computed over the records CMS publishes (28.0 million prescriber-by-drug rows, minimum 11 claims each). Excluding the smallest records slightly understates the long tail, which would make the distribution marginally less concentrated, not more.
Can I reproduce these concentration figures?
Yes. Every figure aggregates the cms_part_d_prescribers table (28,023,892 records, data year 2024) by prescriber_npi. The exact SQL — the per-prescriber rollup, the percentile bands, the Gini coefficient, and the specialty mix of the top 1% — is published in the reproducibility block below. No individual prescriber is named or ranked.

Datasets used

CMS Medicare Part D Prescribers→

Reproducibility

Every claim, reproducible

The SQL+
medicare-part-d-prescriber-concentration-2024.sql
-- Medicare Part D prescriber CONCENTRATION — fully reproducible query.
--
-- Question: among the clinicians who prescribe to Medicare beneficiaries, how
-- concentrated is the drug spending? We measure, over the prescriber-NPI
-- universe, what share of all Part D drug cost flows to the top 0.1% / 1% / 5%
-- / 10% / 50% of prescribers, the Gini coefficient across prescribers, and the
-- median-vs-mean gap. This is the PRESCRIBER-side companion to the costliest-
-- drugs study (drug-side: 12 drugs vs the rest) and the recipient-side twin of
-- the Open Payments concentration study (where the top 1% of physician
-- recipients take 66% of industry money). Here the axis is how drug spending
-- lands on prescribers, not which drugs or which companies.
--
-- Source:
--   public.cms_part_d_prescribers — CMS Medicare Part D Prescribers
--     "by Provider and Drug", data year 2024 (CMS release 2026-04-04).
--     One row per prescriber x drug. 28,023,892 records; RLS Pattern B —
--     public read. License: US-Government-Works (17 U.S.C. §105).
--
-- Suppression: CMS omits any prescriber-and-drug record with <= 10 claims for
--   patient privacy, so the public file's minimum claim count is 11. Every
--   figure below is computed over the published records; excluding the smallest
--   rows slightly UNDERSTATES the long tail (i.e. true concentration is, if
--   anything, marginally lower than reported — never higher).
--
-- Prescriber universe: records carrying a prescriber NPI. 1,139,455 prescribers
--   holding $226,740,902,131 in total drug cost (the same program total used by
--   the GLP-1 spending study). null_npi rows = 0.
--
-- These aggregates run server-side (direct SQL) — a count + percentile over the
-- 28M-row table exceeds PostgREST's 8s statement timeout, which is why the page
-- renders point-in-time figures from this frozen 2026-04-04 snapshot rather
-- than reading the table at request time.

-- Per-prescriber rollup reused by every query below.
WITH recip AS (
  SELECT prescriber_npi,
         sum(total_drug_cost)::numeric AS amt,
         max(prescriber_specialty)     AS spec
  FROM public.cms_part_d_prescribers
  WHERE data_year = 2024
    AND prescriber_npi IS NOT NULL
  GROUP BY prescriber_npi
)

-- ============================================================================
-- (1) Headline: cumulative share of drug cost by top band.
--     The top 5% share (53.5%) is the lead figure; top 1% (23.6%) the second.
-- ============================================================================
SELECT b.label,
       ceil(max(n) * b.frac)                                           AS prescribers_in_band,
       round(sum(amt) FILTER (WHERE rk <= ceil(n * b.frac)))           AS cum_dollars,
       round(sum(amt) FILTER (WHERE rk <= ceil(n * b.frac))
             / max(tot) * 100, 1)                                      AS cum_share_pct,
       round(min(amt) FILTER (WHERE rk <= ceil(n * b.frac)))           AS min_amount_in_band
FROM (
  SELECT amt,
         row_number() OVER (ORDER BY amt DESC) AS rk,
         count(*)     OVER ()                  AS n,
         sum(amt)     OVER ()                  AS tot
  FROM recip
) ranked
CROSS JOIN (VALUES ('Top 0.1%', 0.001), ('Top 1%', 0.01), ('Top 5%', 0.05),
                   ('Top 10%', 0.10), ('Top 25%', 0.25), ('Top 50%', 0.50),
                   ('All 100%', 1.0)) AS b(label, frac)
GROUP BY b.label, b.frac
ORDER BY b.frac;
--  Top 0.1%     1,140     12,946,341,077   5.7   7,324,098
--  Top 1%      11,395     53,451,754,286  23.6   2,658,615
--  Top 5%      56,973    121,234,049,376  53.5     956,543
--  Top 10%    113,946    161,777,228,961  71.3     534,990
--  Top 25%    284,864    211,745,804,146  93.4     139,640
--  Top 50%    569,728    225,834,479,959  99.6       9,406
--  All 100% 1,139,455    226,740,902,131 100.0           0
--  (bottom 50% therefore split 100.0 - 99.6 = 0.4% of the dollars,
--   i.e. 569,728 prescribers share $906,422,172.)

-- ============================================================================
-- (2) Distribution shape — median vs mean, percentiles, and the long tail.
-- ============================================================================
SELECT
  count(*)                                                        AS prescribers,
  round(avg(amt))                                                 AS mean_prescriber,
  round(percentile_cont(0.5)  WITHIN GROUP (ORDER BY amt))        AS median_prescriber,
  round(percentile_cont(0.9)  WITHIN GROUP (ORDER BY amt))        AS p90_prescriber,
  round(percentile_cont(0.99) WITHIN GROUP (ORDER BY amt))        AS p99_prescriber,
  round(max(amt))                                                 AS max_prescriber,
  count(*) FILTER (WHERE amt >= 10000000)                         AS prescribers_ge_10m,
  count(*) FILTER (WHERE amt >= 1000000)                          AS prescribers_ge_1m,
  count(*) FILTER (WHERE amt <  100000)                           AS prescribers_lt_100k
FROM recip;
--  prescribers 1,139,455 · mean $198,991 · median $9,406 · p90 $534,987
--    · p99 $2,658,595 · max $108,716,019 (one reported prescriber NPI)
--  >=$10M 446 · >=$1M 53,573 · <$100k 815,543

-- ============================================================================
-- (3) Gini coefficient across prescribers + bottom-50% share.
--     Gini = (2 * sum(i * amt) / (n * sum(amt))) - (n + 1) / n,
--     with i = ascending rank. 0 = perfectly equal, 1 = one prescriber takes all.
-- ============================================================================
WITH ord AS (
  SELECT amt, row_number() OVER (ORDER BY amt) AS i FROM recip
),
agg AS (
  SELECT count(*)::numeric AS n,
         sum(amt)          AS tot,
         sum(i * amt)      AS wsum,
         sum(amt) FILTER (WHERE i <= (SELECT count(*) FROM recip) * 0.5) AS bottom50
  FROM ord
)
SELECT round((2.0 * wsum / (n * tot) - (n + 1.0) / n)::numeric, 3) AS gini,
       round((bottom50 / tot * 100)::numeric, 2)                  AS bottom50_share_pct
FROM agg;
--  gini 0.841 · bottom50_share 0.40   (US income Gini ≈ 0.41, US wealth ≈ 0.85)

-- ============================================================================
-- (4) Who sits in the top 1% — specialty mix of the 11,395 highest-cost
--     prescribers (reported specialty). No prescriber named.
-- ============================================================================
WITH ranked AS (
  SELECT amt, spec,
         row_number() OVER (ORDER BY amt DESC) AS rk,
         count(*)     OVER ()                  AS n
  FROM recip
),
top1 AS (
  SELECT amt, coalesce(nullif(trim(spec), ''), '(unreported)') AS specialty
  FROM ranked WHERE rk <= ceil(n * 0.01)
)
SELECT specialty,
       count(*)                                               AS prescribers_in_top1pct,
       round(sum(amt))                                        AS dollars,
       round(sum(amt) / (SELECT sum(amt) FROM top1) * 100, 1) AS pct_of_top1_dollars
FROM top1
GROUP BY specialty
ORDER BY dollars DESC
LIMIT 8;
--  Hematology-Oncology   2,446   11,624,439,069  21.7
--  Internal Medicine     1,243    5,549,338,116  10.4
--  Nurse Practitioner    1,211    5,441,850,916  10.2
--  Rheumatology            953    4,200,449,706   7.9
--  Medical Oncology        656    3,143,194,613   5.9
--  Pulmonary Disease       577    2,986,889,144   5.6
--  Endocrinology           714    2,830,146,488   5.3
--  Neurology               600    2,680,996,771   5.0
--  (oncology family — Hematology-Oncology + Medical Oncology — = 3,102
--   prescribers and 27.6% of all top-1% dollars.)

-- ============================================================================
-- (5) Universe reconciliation — totals over the published 2024 file.
-- ============================================================================
SELECT
  count(*)                                          AS total_rows,
  count(DISTINCT prescriber_npi)                    AS distinct_prescribers,
  round(sum(total_drug_cost))                       AS total_drug_cost,
  sum(total_claims)::bigint                         AS total_claims,
  min(total_claims)                                 AS min_claims,
  count(*) FILTER (WHERE prescriber_npi IS NULL)    AS null_npi_rows
FROM public.cms_part_d_prescribers
WHERE data_year = 2024;
--  total_rows 28,023,892 · distinct_prescribers 1,139,455
--  total_drug_cost 226,740,902,131 · total_claims 1,479,628,807
--  min_claims 11 (CMS suppresses <=10) · null_npi_rows 0
The snapshot+
dataset_idcms-part-d-prescribers
snapshot_date2026-04-04
sha256
doi10.5072/fonteum/medicare-part-d-prescriber-concentration-2024
slsa_provenance_url
The JOINs+
prescriber universe: data_year=2024 AND prescriber_npi IS NOT NULL                  -- 1,139,455 prescribers
per-prescriber cost = sum(total_drug_cost) GROUP BY prescriber_npi                   -- one prescriber = one observation
program total       = sum(total_drug_cost) over the universe                         -- $226,740,902,131
top5pct_share       = sum(cost where rank <= ceil(0.05*n)) / total                   -- $121,234,049,376 / $226,740,902,131 = 53.5%
top1pct_share       = sum(cost where rank <= ceil(0.01*n)) / total                   -- $53,451,754,286 = 23.6%
gini = 2*sum(i*cost)/(n*sum(cost)) - (n+1)/n, i = ascending rank                     -- 0.841
median_prescriber / mean_prescriber = percentile_cont(0.5) / avg(cost)               -- $9,406 / $198,991
The pipeline version+
git_sha
slsa_provenance
methodology_versionpart-d-concentration/v1

Reproduce this

Run the exact query against the frozen 2026-04-04.

-- Medicare Part D prescriber CONCENTRATION — fully reproducible query. -- -- Question: among the clinicians who prescribe to Medicare beneficiaries, how -- concentrated is the drug spending? We measure, over the prescriber-NPI -- universe, what share of all Part D drug cost flows to the top 0.1% / 1% / 5% -- / 10% / 50% of prescribers, the Gini coefficient across prescribers, and the -- median-vs-mean gap. This is the PRESCRIBER-side companion to the costliest- -- drugs study (drug-side: 12 drugs vs the rest) and the recipient-side twin of -- the Open Payments concentration study (where the top 1% of physician -- recipients take 66% of industry money). Here the axis is how drug spending -- lands on prescribers, not which drugs or which companies. -- -- Source: -- public.cms_part_d_prescribers — CMS Medicare Part D Prescribers -- "by Provider and Drug", data year 2024 (CMS release 2026-04-04). -- One row per prescriber x drug. 28,023,892 records; RLS Pattern B — -- public read. License: US-Government-Works (17 U.S.C. §105). -- -- Suppression: CMS omits any prescriber-and-drug record with <= 10 claims for -- patient privacy, so the public file's minimum claim count is 11. Every -- figure below is computed over the published records; excluding the smallest -- rows slightly UNDERSTATES the long tail (i.e. true concentration is, if -- anything, marginally lower than reported — never higher). -- -- Prescriber universe: records carrying a prescriber NPI. 1,139,455 prescribers -- holding $226,740,902,131 in total drug cost (the same program total used by -- the GLP-1 spending study). null_npi rows = 0. -- -- These aggregates run server-side (direct SQL) — a count + percentile over the -- 28M-row table exceeds PostgREST's 8s statement timeout, which is why the page -- renders point-in-time figures from this frozen 2026-04-04 snapshot rather -- than reading the table at request time. -- Per-prescriber rollup reused by every query below. WITH recip AS ( SELECT prescriber_npi, sum(total_drug_cost)::numeric AS amt, max(prescriber_specialty) AS spec FROM public.cms_part_d_prescribers WHERE data_year = 2024 AND prescriber_npi IS NOT NULL GROUP BY prescriber_npi ) -- ============================================================================ -- (1) Headline: cumulative share of drug cost by top band. -- The top 5% share (53.5%) is the lead figure; top 1% (23.6%) the second. -- ============================================================================ SELECT b.label, ceil(max(n) * b.frac) AS prescribers_in_band, round(sum(amt) FILTER (WHERE rk <= ceil(n * b.frac))) AS cum_dollars, round(sum(amt) FILTER (WHERE rk <= ceil(n * b.frac)) / max(tot) * 100, 1) AS cum_share_pct, round(min(amt) FILTER (WHERE rk <= ceil(n * b.frac))) AS min_amount_in_band FROM ( SELECT amt, row_number() OVER (ORDER BY amt DESC) AS rk, count(*) OVER () AS n, sum(amt) OVER () AS tot FROM recip ) ranked CROSS JOIN (VALUES ('Top 0.1%', 0.001), ('Top 1%', 0.01), ('Top 5%', 0.05), ('Top 10%', 0.10), ('Top 25%', 0.25), ('Top 50%', 0.50), ('All 100%', 1.0)) AS b(label, frac) GROUP BY b.label, b.frac ORDER BY b.frac; -- Top 0.1% 1,140 12,946,341,077 5.7 7,324,098 -- Top 1% 11,395 53,451,754,286 23.6 2,658,615 -- Top 5% 56,973 121,234,049,376 53.5 956,543 -- Top 10% 113,946 161,777,228,961 71.3 534,990 -- Top 25% 284,864 211,745,804,146 93.4 139,640 -- Top 50% 569,728 225,834,479,959 99.6 9,406 -- All 100% 1,139,455 226,740,902,131 100.0 0 -- (bottom 50% therefore split 100.0 - 99.6 = 0.4% of the dollars, -- i.e. 569,728 prescribers share $906,422,172.) -- ============================================================================ -- (2) Distribution shape — median vs mean, percentiles, and the long tail. -- ============================================================================ SELECT count(*) AS prescribers, round(avg(amt)) AS mean_prescriber, round(percentile_cont(0.5) WITHIN GROUP (ORDER BY amt)) AS median_prescriber, round(percentile_cont(0.9) WITHIN GROUP (ORDER BY amt)) AS p90_prescriber, round(percentile_cont(0.99) WITHIN GROUP (ORDER BY amt)) AS p99_prescriber, round(max(amt)) AS max_prescriber, count(*) FILTER (WHERE amt >= 10000000) AS prescribers_ge_10m, count(*) FILTER (WHERE amt >= 1000000) AS prescribers_ge_1m, count(*) FILTER (WHERE amt < 100000) AS prescribers_lt_100k FROM recip; -- prescribers 1,139,455 · mean $198,991 · median $9,406 · p90 $534,987 -- · p99 $2,658,595 · max $108,716,019 (one reported prescriber NPI) -- >=$10M 446 · >=$1M 53,573 · <$100k 815,543 -- ============================================================================ -- (3) Gini coefficient across prescribers + bottom-50% share. -- Gini = (2 * sum(i * amt) / (n * sum(amt))) - (n + 1) / n, -- with i = ascending rank. 0 = perfectly equal, 1 = one prescriber takes all. -- ============================================================================ WITH ord AS ( SELECT amt, row_number() OVER (ORDER BY amt) AS i FROM recip ), agg AS ( SELECT count(*)::numeric AS n, sum(amt) AS tot, sum(i * amt) AS wsum, sum(amt) FILTER (WHERE i <= (SELECT count(*) FROM recip) * 0.5) AS bottom50 FROM ord ) SELECT round((2.0 * wsum / (n * tot) - (n + 1.0) / n)::numeric, 3) AS gini, round((bottom50 / tot * 100)::numeric, 2) AS bottom50_share_pct FROM agg; -- gini 0.841 · bottom50_share 0.40 (US income Gini ≈ 0.41, US wealth ≈ 0.85) -- ============================================================================ -- (4) Who sits in the top 1% — specialty mix of the 11,395 highest-cost -- prescribers (reported specialty). No prescriber named. -- ============================================================================ WITH ranked AS ( SELECT amt, spec, row_number() OVER (ORDER BY amt DESC) AS rk, count(*) OVER () AS n FROM recip ), top1 AS ( SELECT amt, coalesce(nullif(trim(spec), ''), '(unreported)') AS specialty FROM ranked WHERE rk <= ceil(n * 0.01) ) SELECT specialty, count(*) AS prescribers_in_top1pct, round(sum(amt)) AS dollars, round(sum(amt) / (SELECT sum(amt) FROM top1) * 100, 1) AS pct_of_top1_dollars FROM top1 GROUP BY specialty ORDER BY dollars DESC LIMIT 8; -- Hematology-Oncology 2,446 11,624,439,069 21.7 -- Internal Medicine 1,243 5,549,338,116 10.4 -- Nurse Practitioner 1,211 5,441,850,916 10.2 -- Rheumatology 953 4,200,449,706 7.9 -- Medical Oncology 656 3,143,194,613 5.9 -- Pulmonary Disease 577 2,986,889,144 5.6 -- Endocrinology 714 2,830,146,488 5.3 -- Neurology 600 2,680,996,771 5.0 -- (oncology family — Hematology-Oncology + Medical Oncology — = 3,102 -- prescribers and 27.6% of all top-1% dollars.) -- ============================================================================ -- (5) Universe reconciliation — totals over the published 2024 file. -- ============================================================================ SELECT count(*) AS total_rows, count(DISTINCT prescriber_npi) AS distinct_prescribers, round(sum(total_drug_cost)) AS total_drug_cost, sum(total_claims)::bigint AS total_claims, min(total_claims) AS min_claims, count(*) FILTER (WHERE prescriber_npi IS NULL) AS null_npi_rows FROM public.cms_part_d_prescribers WHERE data_year = 2024; -- total_rows 28,023,892 · distinct_prescribers 1,139,455 -- total_drug_cost 226,740,902,131 · total_claims 1,479,628,807 -- min_claims 11 (CMS suppresses <=10) · null_npi_rows 0

Cite this study

Citation-ready for researchers and AI.

Fonteum Research Bureau (2026). The 5% of prescribers behind half of Medicare's drug bill. CMS Medicare Part D Prescribers, snapshot 2026-04-04. https://fonteum.com/research/medicare-part-d-prescriber-concentration-2024

Check the chain

Each figure is snapshot-attested — re-derive the hash from the federal file.

1
Snapshot
cms-part-d-prescribers · 2026-04-04
2
Field hash
SHA-256 a3f1c9…7e6b
3
Signed
Ed25519 · verifiable
✓ Chain signed · check it in Attest →

Related studies

  • FINANCIAL DISTRESS · JUN 2026The most expensive Medicare Part D drugs are rarely the most prescribedEliquis cost Medicare Part D $19.88 billion in 2024 — the single costliest drug in the program, yet only its 12th most-prescribed. That inversion defines Part D: brand-name drugs are 23.9% of prescriptions but 90.1% of the dollars, while cheap generics carry the volume and almost none of the cost.
  • WORKFORCE · JUN 2026Who prescribes Medicare's drug spending? Nurse practitioners now leadNurse practitioners drove $37.48 billion of Medicare Part D drug cost in 2024 — more than any other specialty, including internal medicine and cardiology. But the steepest bills come from oncology: hematology-oncologists averaged $2,441 per prescription, sixteen times the program-wide $153, on a fraction of the claims.
  • ACCESS · JUN 2026Medicare Part D drug spending by state: where the dollars concentrateCalifornia prescribers drove $21.26 billion of Medicare Part D drug cost in 2024, the most of any state — followed by New York at $18.17 billion, Florida ($16.84 billion), and Texas ($15.75 billion). The four largest states alone account for nearly a third of the program's $226.74 billion in drug spending.
  • CARE QUALITY · JUN 2026GLP-1 drugs now cost Medicare Part D $24.57 billion a yearGLP-1 drugs cost Medicare Part D $24.57 billion in 2024 — 10.8% of the entire program's drug spending on just 1.3% of its prescriptions. Ozempic alone, at $12.38 billion, is the second-costliest drug in Part D; Mounjaro and Trulicity push the class past $24 billion.
  • FINANCIAL DISTRESS · JUN 2026The 1% of doctors who get two-thirds of industry moneyIn 2024 the top 1% of physicians — 9,792 of the 979,136 who received any industry money — captured 66% of every general-payment dollar tied to a recipient, $1.74 billion of $2.64 billion. The bottom half split 1.2%. Measured across recipients, the Gini coefficient is 0.927, far above the ~0.41 of US household income.

Federal source citations

  1. [1]CMS Medicare Part D Prescribers · snapshot 2026-04-04 · federal source family · US-Government-Works
Dataset catalog →Source registry →Methodology →Chain integrity →All research →Provider lookup →

Fonteum Research · June 14, 2026 · All figures trace to the frozen federal-data snapshot cited above.

Fonteum
Products
The DifferAttestAPIFHIR API
Data
Care CompareResearchData catalogSources
Company
AboutPressEditorial policyCorrections
Legal
Privacy policyTerms of serviceMedical disclaimer

Reviewed by Jennifer Montecillo, MD, medical reviewer. Non-practicing medical reviewer.

© 2026 Fonteum LLC. All rights reserved.

The U.S. healthcare graph AI can cite — every fact carries its source.

Request access→