{
  "study": {
    "slug": "open-payments-recipient-concentration-2024",
    "title": "The 1% of doctors who get two-thirds of industry money",
    "standfirst": "In 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.",
    "desk": "financial-distress",
    "article_type": "Original Research",
    "published": "2026-06-14",
    "issue": 68,
    "doi": "10.5072/fonteum/open-payments-recipient-concentration-2024",
    "url": "https://fonteum.com/research/open-payments-recipient-concentration-2024",
    "methodology_version": "open-payments/v1"
  },
  "data_as_of": "2026-01-23",
  "datasets": [
    {
      "slug": "cms-open-payments",
      "name": "CMS Open Payments",
      "publisher": "CMS — Open Payments",
      "upstream_url": null
    }
  ],
  "key_findings": [
    {
      "number": "66.1%",
      "finding": "of all NPI-attributed general-payment dollars — $1.74 billion — went to the top 1% of physician recipients (9,792 of 979,136) in 2024",
      "dataset": "cms-open-payments"
    },
    {
      "number": "0.927",
      "finding": "Gini coefficient of industry money across recipients — far above the ~0.41 of US household income, and one of the most concentrated distributions in public health-finance data",
      "dataset": "cms-open-payments"
    },
    {
      "number": "$164 vs $2,694",
      "finding": "the median recipient took $164 — a meal or two — while the mean was $2,694, a sixteen-fold gap pulled up by a few multi-million-dollar royalty recipients",
      "dataset": "cms-open-payments"
    },
    {
      "number": "1.2%",
      "finding": "the share left for the bottom half of recipients — 489,568 physicians split about one-fiftieth of the money",
      "dataset": "cms-open-payments"
    }
  ],
  "faqs": [
    {
      "q": "What share of industry money goes to the top 1% of doctors?",
      "a": "In 2024, the top 1% of physician recipients — 9,792 of the 979,136 who received any general (non-research) industry payment — captured 66.1% of all NPI-attributed general-payment dollars, about $1.74 billion of $2.64 billion. A physician needed at least $42,735 for the year to sit in that top 1%."
    },
    {
      "q": "How unequal is the distribution compared with income?",
      "a": "More unequal than income. The Gini coefficient of industry money across recipients is 0.927, where 0 is perfect equality and 1 is one recipient taking everything. US household income carries a Gini of roughly 0.41. Industry money to physicians is among the most concentrated distributions found in public health-finance data."
    },
    {
      "q": "How much does a typical doctor receive?",
      "a": "Very little. The median recipient received $164 in 2024 — the value of a meal or two — while the mean was $2,694. That sixteen-fold gap between median and mean is the signature of a skewed distribution: a small number of recipients taking royalties in the hundreds of thousands or millions pull the average far above what the typical doctor sees."
    },
    {
      "q": "Who is in the top 1%?",
      "a": "Procedural specialists, overwhelmingly. Orthopedic surgeons alone are 767 of the 9,792 top-1% recipients and 18.9% of all top-1% dollars; adding spine and adult-reconstructive subspecialties brings the orthopedic family to 1,156 recipients and 24.9% of the top-1% money. Neurology, neurosurgery, psychiatry and dermatology fill out the rest. The concentration is driven by device royalties, which are large and paid to a small number of high-volume surgeons."
    },
    {
      "q": "Does the bottom half of doctors get anything?",
      "a": "Almost nothing in aggregate. The bottom 50% of recipients — 489,568 physicians — split about 1.2% of all NPI-attributed general-payment dollars between them. For most doctors who appear in Open Payments at all, the record is a handful of catered lunches: 363,598 recipients received under $100 for the entire year."
    },
    {
      "q": "Why exclude teaching-hospital and non-NPI payments?",
      "a": "A concentration measure needs a recipient identity. Of the $3.31 billion in 2024 general payments, $2.64 billion (79.6%) carries an individual recipient NPI; the $675.8 million remainder has no NPI and is about 98.5% teaching-hospital payments, which flow to institutions rather than to a named individual. This study measures concentration across the 979,136 NPI-identified recipients only, and says so wherever the figure appears."
    },
    {
      "q": "Does a large payment mean a doctor did something wrong?",
      "a": "No. These are lawful, federally disclosed payments, and the largest are typically royalties on invented devices or paid consulting. The data shows scale and structure, not wrongdoing or clinical influence. Open Payments exists so patients, journalists and researchers can see the financial relationships; concentration describes how the money lands, not whether any payment changed any decision."
    },
    {
      "q": "Can I reproduce these concentration figures?",
      "a": "Yes. Every figure aggregates the cms_open_payments table (16,146,544 records, program year 2024) over the recipient-NPI universe of general payments. The exact SQL — per-recipient rollup, percentile bands, Gini, and the universe reconciliation — is published in the reproducibility block below. No individual physician is named or ranked."
    }
  ],
  "citation": {
    "apa": "Fonteum Research. (2026, June 14). The 1% of doctors who get two-thirds of industry money. Fonteum Research, Issue 68. https://doi.org/10.5072/fonteum/open-payments-recipient-concentration-2024",
    "url": "https://fonteum.com/research/open-payments-recipient-concentration-2024"
  },
  "reproducible_sql": "-- Open Payments recipient CONCENTRATION — fully reproducible query.\n--\n-- Question: among the physicians who receive industry money, how concentrated\n-- is it? We measure, over the recipient-NPI universe, what share of all\n-- general-payment dollars flows to the top 0.1% / 1% / 5% / 10% / 50% of\n-- recipients, the Gini coefficient across recipients, and the median-vs-mean\n-- gap. This is the RECIPIENT-side companion to the manufacturer study\n-- (payer-side: top 25 of 1,763 companies = 52%) — here the axis is how the\n-- money lands on doctors, not which companies send it.\n--\n-- Source:\n--   public.cms_open_payments — CMS Open Payments program-year-2024 release\n--     (PGYR2024, published 2026-01-23). One row per reported transfer of value.\n--     16,146,544 records total; public, read-only.\n--     License: US-Government-Works (17 U.S.C. §105).\n--\n-- Scope: general (non-research) payments only (record_type = 'general'), the\n--   $3.31B consulting / speaking / royalty / food / travel bucket. Research\n--   ($8.49B) and ownership ($147.8M) are excluded.\n--\n-- Recipient universe: records carrying a recipient NPI (an individual-recipient\n--   identity). 15,336,988 of 15,385,047 general records carry one; the\n--   $675.8M remainder has no NPI and is ~98.5% teaching-hospital payments —\n--   excluded because a concentration measure needs a recipient identity.\n--   NPI-attributed general dollars = $2,638,034,613 across 979,136 recipients.\n--\n-- These aggregates run server-side (direct SQL) — a count-distinct + percentile\n-- over the 15.4M-row general slice exceeds PostgREST's 8s statement timeout,\n-- which is why the page renders point-in-time figures from this frozen\n-- 2026-01-23 snapshot rather than reading the table at request time.\n\n-- Per-recipient rollup reused by every query below.\nWITH recip AS (\n  SELECT recipient_npi,\n         sum(total_amount_usd)::numeric AS amt,\n         max(recipient_specialty)        AS spec\n  FROM public.cms_open_payments\n  WHERE record_type = 'general'\n    AND program_year = 2024\n    AND recipient_npi IS NOT NULL\n  GROUP BY recipient_npi\n)\n\n-- ============================================================================\n-- (1) Headline: cumulative share of NPI-attributed dollars by top band.\n--     The top 1% share (66.1%) is the lead figure.\n-- ============================================================================\nSELECT b.label,\n       ceil(max(n) * b.frac)                                           AS recipients_in_band,\n       round(sum(amt) FILTER (WHERE rk <= ceil(n * b.frac)))           AS cum_dollars,\n       round(sum(amt) FILTER (WHERE rk <= ceil(n * b.frac))\n             / max(tot) * 100, 1)                                      AS cum_share_pct,\n       round(min(amt) FILTER (WHERE rk <= ceil(n * b.frac)))           AS min_amount_in_band\nFROM (\n  SELECT amt,\n         row_number() OVER (ORDER BY amt DESC) AS rk,\n         count(*)     OVER ()                  AS n,\n         sum(amt)     OVER ()                  AS tot\n  FROM recip\n) ranked\nCROSS JOIN (VALUES ('Top 0.1%', 0.001), ('Top 1%', 0.01), ('Top 5%', 0.05),\n                   ('Top 10%', 0.10), ('Top 25%', 0.25), ('Top 50%', 0.50),\n                   ('All 100%', 1.0)) AS b(label, frac)\nGROUP BY b.label, b.frac\nORDER BY b.frac;\n--  Top 0.1%     980      894,344,652  33.9   277,347\n--  Top 1%     9,792    1,742,445,935  66.1    42,735\n--  Top 5%    48,957    2,247,880,674  85.2     3,932\n--  Top 10%   97,914    2,374,842,739  90.0     1,837\n--  Top 25%  244,784    2,528,256,130  95.8       583\n--  Top 50%  489,568    2,606,597,404  98.8       164\n--  All 100% 979,136    2,638,034,613 100.0         0\n--  (bottom 50% therefore split 100.0 - 98.8 = 1.2% of the dollars.)\n\n-- ============================================================================\n-- (2) Distribution shape — median vs mean, thresholds, and the long tail.\n-- ============================================================================\nSELECT\n  count(*)                                                        AS recipients,\n  round(avg(amt))                                                 AS mean_recipient,\n  round(percentile_cont(0.5)  WITHIN GROUP (ORDER BY amt))        AS median_recipient,\n  round(percentile_cont(0.9)  WITHIN GROUP (ORDER BY amt))        AS p90_recipient,\n  round(percentile_cont(0.99) WITHIN GROUP (ORDER BY amt))        AS p99_recipient,\n  round(max(amt))                                                 AS max_recipient,\n  count(*) FILTER (WHERE amt >= 1000000)                          AS recipients_ge_1m,\n  count(*) FILTER (WHERE amt >= 100000)                           AS recipients_ge_100k,\n  count(*) FILTER (WHERE amt <  100)                              AS recipients_lt_100\nFROM recip;\n--  recipients 979,136 · mean $2,694 · median $164 · p90 $1,837 · p99 $42,731\n--  max_recipient $91,082,706 (one recipient = the single largest general\n--    payment in the file, a dental-device acquisition transfer)\n--  >=$1M 156 · >=$100k 4,027 · <$100 363,598\n\n-- ============================================================================\n-- (3) Gini coefficient across recipients + bottom-50% share.\n--     Gini = (2 * sum(i * amt) / (n * sum(amt))) - (n + 1) / n,\n--     with i = ascending rank. 0 = perfectly equal, 1 = one recipient takes all.\n-- ============================================================================\nWITH ord AS (\n  SELECT amt, row_number() OVER (ORDER BY amt) AS i FROM recip\n),\nagg AS (\n  SELECT count(*)::numeric AS n,\n         sum(amt)          AS tot,\n         sum(i * amt)      AS wsum,\n         sum(amt) FILTER (WHERE i <= (SELECT count(*) FROM recip) * 0.5) AS bottom50\n  FROM ord\n)\nSELECT round((2.0 * wsum / (n * tot) - (n + 1.0) / n)::numeric, 3) AS gini,\n       round((bottom50 / tot * 100)::numeric, 2)                  AS bottom50_share_pct\nFROM agg;\n--  gini 0.927 · bottom50_share 1.19   (US household-income Gini ≈ 0.41)\n\n-- ============================================================================\n-- (4) Who sits in the top 1% — specialty mix of the 9,792 highest-paid\n--     recipients (most-specific CMS taxonomy segment). No recipient named.\n-- ============================================================================\nWITH ranked AS (\n  SELECT amt, spec,\n         row_number() OVER (ORDER BY amt DESC) AS rk,\n         count(*)     OVER ()                  AS n\n  FROM recip\n),\ntop1 AS (\n  SELECT amt,\n         trim(split_part(spec, '|', array_length(string_to_array(spec, '|'), 1))) AS leaf\n  FROM ranked WHERE rk <= ceil(n * 0.01)\n)\nSELECT leaf AS specialty,\n       count(*)                                              AS recipients_in_top1pct,\n       round(sum(amt))                                       AS dollars,\n       round(sum(amt) / (SELECT sum(amt) FROM top1) * 100, 1) AS pct_of_top1_dollars\nFROM top1\nGROUP BY leaf\nORDER BY dollars DESC\nLIMIT 8;\n--  Orthopaedic Surgery                        767  329,637,642  18.9\n--  Endodontics                                 27  101,248,496   5.8\n--  Neurology                                  433   66,929,859   3.8\n--  Neurological Surgery                       287   66,169,260   3.8\n--  Orthopaedic Surgery of the Spine           249   57,584,583   3.3\n--  Psychiatry                                 321   56,761,647   3.3\n--  Dermatology                                272   49,419,678   2.8\n--  Adult Reconstructive Orthopaedic Surgery   140   47,240,658   2.7\n--  (orthopedic family — surgery + spine + adult-reconstructive — = 1,156\n--   recipients and 24.9% of all top-1% dollars.)\n\n-- ============================================================================\n-- (5) Universe reconciliation — where the non-NPI general dollars go.\n-- ============================================================================\nSELECT\n  round(sum(total_amount_usd) FILTER (WHERE recipient_npi IS NOT NULL))                       AS npi_dollars,\n  round(sum(total_amount_usd) FILTER (WHERE recipient_npi IS NULL))                           AS non_npi_dollars,\n  round(sum(total_amount_usd) FILTER (WHERE recipient_npi IS NULL\n        AND recipient_type ILIKE '%Teaching Hospital%'))                                      AS teaching_hospital_dollars,\n  round(sum(total_amount_usd))                                                                AS general_total\nFROM public.cms_open_payments\nWHERE record_type = 'general' AND program_year = 2024;\n--  npi_dollars 2,638,034,613 · non_npi 675,767,124 · teaching_hosp 665,901,119\n--  general_total 3,313,801,737  (NPI-attributed = 79.6% of the all-recipient total)",
  "license": "U.S. Government Works (federal sources; 17 U.S.C. §105)",
  "generated_by": "Fonteum — https://fonteum.com",
  "notes": "Aggregate, source-traced figures frozen to the snapshot above. Reproduce by running reproducible_sql against the cited federal dataset; no per-entity records are included."
}
