Medicaid drug utilization
Medicaid State Drug Utilization Data (SDUD) for calendar 2023 — the
outpatient drug claims that state Medicaid programs report to CMS to
support manufacturer rebates. Everything on this page comes from two
marts: fct_medicaid_drug_state at the (state, NDC, year) grain, and
fct_medicaid_medicare_drug_spend for the program-level comparison
against Medicare Part D and Part B. All figures are 2023.
Medicaid drug reimbursement
Medicaid payer share
Prescriptions
Distinct NDCs
MCO share of Medicaid dollars
Medicaid outpatient drug reimbursement (payer + third-party) totalled
$111.7B in 2023 across 784,446,681 prescriptions and 53,205 distinct NDCs, dispensed by 885 labelers (manufacturers / repackagers). The Medicaid programs' own share of that was $106.3B (the balance is the "non-Medicaid" third-party co-payer share reported alongside every claim). All headline values are read from the CMS unsuppressed national aggregate rows (`state = 'XX'`), not from a sum across the states — see the caveats below.FFS vs MCO: the managed-care shift
Every SDUD row is tagged as either fee-for-service — the state Medicaid agency paying pharmacies directly — or managed-care — a capitated MCO paying pharmacies as part of its benefit. Nationally the MCO channel now clears more dollars than FFS:
The mix is uneven state by state. A handful of states run essentially FFS-only pharmacy programs (a "pharmacy carve-out" from the MCO contract), and about a third run essentially MCO-only:
Of the 52 reporting states (50 + DC + PR), 6 land below 10% MCO share (Vermont, West Virginia, Colorado, California, North Dakota, and Tennessee all keep pharmacy on the FFS side) and
19 land above 90% MCO (Puerto Rico, Nebraska, Hawaii, Kansas, Virginia, Delaware, New Jersey, Iowa, Pennsylvania, Texas, and others). California — the single largest Medicaid drug program at over $13B in state-tier reimbursement — is a carve-out at under 5% MCO in 2023, an outsized influence on the national ordering.Where the money goes
The top-15 NDCs nationally by Medicaid reimbursement — anti-TNF and
anti-integrin biologics (Humira, Stelara), HIV combination therapy
(Biktarvy), cystic-fibrosis triple therapy (Trikafta), GLP-1 agonists
(Trulicity, Ozempic), a DOAC (Eliquis), atypical antipsychotic depot
(Invega Sustenna), insulin (Lantus), SGLT2 inhibitors (Jardiance),
and MAT (Suboxone). The product_name column CMS ships is truncated
at 10 characters and one NDC can carry several truncated strings, so
this table aggregates by NDC and only displays one representative
name — never join Medicaid rows on the truncated name.
Rolled up by labeler code (the five-digit NDC prefix that identifies
the manufacturer or repackager), a small number of firms carry the
bulk of Medicaid drug spending — the top labeler alone (AbbVie,
labeler 00074) clears $7.6B of Medicaid dollars across the 152
NDCs with disclosed Medicaid reimbursement.
Medicaid vs Medicare in one chart
Setting Medicaid alongside Medicare Part D (retail pharmacy) and Part B (physician-administered) puts the programs' relative scale in context. Part D is more than twice Medicaid and dwarfs Part B; Part B lands roughly between Medicaid FFS and MCO on its own:
The Part D figure here — $275.8B — is the CMS drug-spending-by-drug file's manufacturer roll-up total. It intentionally differs from the $288.4B Part D total shown on the /prescribers page, which comes from the CMS prescriber-profile file; the two sources roll up different universes (drug-level vs per-NPI) and neither reconciles to the other. The two totals are never compared inside a single chart on this site.
Because SDUD keys drugs by NDC while the Medicare files key by
brand / generic name and carry no NDC, this comparison intentionally
stops at the program aggregate. A prefix-10 name join against
dim_drug matches only about a third of Medicaid dollars unambiguously
and misses more than half entirely — see the fct_medicaid_medicare_ drug_spend mart docs for the measured match rates.
State-level Medicaid spending
Aggregate state spending tracks Medicaid enrollment (which SDUD does not publish), so a per-capita ranking is not available from this source. Ranking on raw dollars puts California and New York on top by a wide margin, with Virginia — nearly all of it MCO — a distant third:
The state totals in the table above are known to undercount by about 6.3% . CMS blanks the five measure columns on any (state × NDC × quarter) row with 1–10 prescriptions, so summing the 52 disclosed state rows lands at $104.7B against $111.7B in the CMS-computed national aggregate — a gap of
$7.1B that lives inside the small state × NDC cells. The gap is not uniformly distributed: a per-state ranking is directionally right but not exact for the smaller states. 48% of state-tier (state × NDC) rows have every measure suppressed and contribute nothing to any state total.Caveats
- Never mix
'XX'with state rows. CMS publishes both a national aggregate (state = 'XX', 53,205 rows in the mart) that re-adds small-cell values and a disclosed state tier (52 codes, 1,201,587 rows) that does not. The mart'sis_state_tierflag keeps the two apart; every roll-up on this page filters to exactly one tier and the state-level sections quote the suppression gap explicitly. product_nameis truncated at 10 characters and 32,704 of the 53,205 NDCs (61%) carry more than one truncated string across the file's state rows (within the national tier each NDC carries a single name). The name column is displayed for readability but every aggregation on this page groups by NDC or labeler code, never by the truncated name.- No reliable NDC ↔ brand/generic crosswalk to
dim_drug. Prefix-10 name matching covers only ~33% of Medicaid dollars unambiguously, so cross-program drug-level comparisons against Part D or Part B are intentionally not attempted. Program-level aggregates (the bar chart above) are the strongest comparison this page will make. - Part D total shown here ≠ Part D total on /prescribers. $275.8B (spending-by-drug file) vs $288.4B (prescriber-profile file). Two different CMS source files with different universes; they don't reconcile and this site does not mix them within a single chart.
units_reimbursedis package-units. The unit depends on each NDC's packaging (bottles, boxes, vials), so it's summable within an NDC but not across NDCs — that's why this page reports prescriptions, never units.- Single vintage. SDUD 2023 is the only year in the current
registry; nothing on this page is a time series. The mart's
as_ofcolumn carries the upstreammodifieddate ( 46216 ). - Reimbursement ≠ net Medicaid drug cost. SDUD dollars are gross pharmacy reimbursement (payer + third-party); the manufacturer rebates that Medicaid negotiates against these files reduce the net materially and are not published at the NDC level.
