Medicare GLP-1 Spending by Prescriber State — 2024 CMS Data

By the WPG Research Team · Weight Loss Provider Guide Research

Weight Loss Provider Guide Research is the self-funded, independent research and reference section of Weight Loss Provider Guide. This page has no affiliate links, product recommendations, advertisements, calls to action, forms, or commercial widgets.

Last verified: August 1, 2026 · Dataset version 1.0.0 · Primary data years: 2024, with a 2023 comparison layer

This page reports CMS Medicare Part D gross drug costs for included standalone GLP-1 receptor agonist products and tirzepatide, grouped by the state where the prescribing provider is located. It is a reproducible 2024 data reference with a 2023 comparison layer, not an estimate of net Medicare payments or obesity-treatment spending.

Headline findings

  • Included products generated $27,503,414,515.35 in CMS-reported gross Medicare Part D drug costs nationally in 2024.
  • The included products accounted for 21,825,833 claims and 29,286,812.4 standardized 30-day fills.
  • Gross cost increased 23.8666% from 2023 to 2024; claims increased 34.4844%; standardized 30-day fills increased 28.7122%.
  • Average gross cost per claim fell 7.8952%, from $1,368.15 to $1,260.13. Average gross cost per standardized 30-day fill fell 3.7647%, from $975.84 to $939.11. These are arithmetic ratios, not net-price measures.
  • The 50 states and District of Columbia accounted for $27,365,405,390.12, or 99.4982% of the national total.
  • Texas recorded the highest state total at $2,389,558,046.92, followed by California, New York, and Florida.
  • Ozempic was the largest included product nationally at $12,965,808,790.00, or 47.1425% of the included national total, and was largest in every state and D.C.

Source: Weight Loss Provider Guide Research calculations from CMS 2023 and 2024 Geography and Drug files; see the primary sources below.

What “spending by state” means

The state field is prescriber geography, not beneficiary residence. CMS defines Prscrbr_Geo_Desc as the state where the provider is located, as reported in NPPES. A state total therefore means gross Part D drug costs attached to prescriptions attributed to prescribers located in that state.

The Tot_Drug_Cst field is gross total drug cost, not a direct measure of Medicare Trust Fund payments and not net spending after rebates. CMS says it includes ingredient cost, dispensing fees, sales tax, applicable administration fees, and amounts paid by the Part D plan, the beneficiary, government subsidies, and other third-party payers. Manufacturer rebates are not reflected.

Included product scope

The headline scope includes standalone GLP-1 receptor agonist products and tirzepatide, which FDA describes as a GIP and GLP-1 receptor agonist. The build uses the CMS brand rows present in each data year.

2024 included CMS rows

Trulicity; Byetta; Bydureon Bcise; Liraglutide; Victoza 2-Pak; Victoza 3-Pak; Ozempic; Rybelsus; Wegovy; Mounjaro; Zepbound.

2023 included CMS rows

Trulicity; Byetta; Bydureon Bcise; Bydureon Pen; Saxenda; Victoza 2-Pak; Victoza 3-Pak; Ozempic; Rybelsus; Wegovy; Mounjaro.

Excluded from the headline total

Xultophy 100-3.6 and Soliqua 100-33 are fixed-ratio insulin/GLP-1 combination products. They are excluded so the entire combination-product cost is not labeled as GLP-1-only spending. Including those two rows would add $391,312,777.27 and produce a broader 2024 total of $27,894,727,292.62.

Saxenda and Adlyxin did not have reportable national rows in the 2024 CMS geography file. Their absence should not be described as a confirmed zero.

2024 Medicare GLP-1 spending by state and D.C.

This table contains all 50 states and the District of Columbia, ranked by included 2024 gross drug cost. The 2023 comparison column is represented by the year-over-year change percentage. Age-65-plus shares marked “lower bound” are incomplete because CMS suppressed one or more product-level age fields.

Table 1. Included Medicare Part D GLP-1 gross drug cost by prescriber state, 2024
RankState2024 gross cost2024 vs. 2023Claims30-day fillsCost / claimNational shareLargest productAge 65+ note
1Texas (TX)$2,389,558,046.9222.14%1,811,4272,526,911.3$1,319.168.69%No lower-bound flag
2California (CA)$2,166,712,452.0922.68%1,865,0792,425,412.7$1,161.737.88%Reported share is a lower bound
3New York (NY)$1,914,123,603.2217.82%1,473,6092,042,335.7$1,298.946.96%Reported share is a lower bound
4Florida (FL)$1,852,634,060.0532.07%1,448,6711,968,327.6$1,278.856.74%No lower-bound flag
5Pennsylvania (PA)$1,252,118,339.8424.52%1,020,9751,343,482.0$1,226.394.55%Reported share is a lower bound
6Ohio (OH)$1,064,825,842.1421.74%851,9281,131,707.2$1,249.903.87%No lower-bound flag
7North Carolina (NC)$1,051,442,919.4820.17%836,2701,110,413.1$1,257.303.82%No lower-bound flag
8Michigan (MI)$1,003,501,060.5224.50%768,3881,071,658.6$1,305.983.65%No lower-bound flag
9Georgia (GA)$970,231,671.3327.66%755,9011,017,984.0$1,283.543.53%No lower-bound flag
10Illinois (IL)$909,477,717.9424.73%702,606968,687.1$1,294.433.31%No lower-bound flag
11Indiana (IN)$734,609,050.1124.57%559,402766,713.8$1,313.202.67%Reported share is a lower bound
12Tennessee (TN)$722,394,133.6020.14%577,179764,515.6$1,251.592.63%No lower-bound flag
13New Jersey (NJ)$679,214,643.7426.27%503,609722,973.4$1,348.692.47%Reported share is a lower bound
14Massachusetts (MA)$645,766,913.7418.69%525,777679,244.9$1,228.212.35%Reported share is a lower bound
15Alabama (AL)$628,421,429.1822.85%514,398654,334.3$1,221.662.28%No lower-bound flag
16Louisiana (LA)$601,299,230.5324.70%498,804625,114.6$1,205.482.19%No lower-bound flag
17Missouri (MO)$596,277,123.6721.93%481,113624,450.2$1,239.372.17%No lower-bound flag
18Virginia (VA)$569,763,663.4829.11%443,694613,192.6$1,284.142.07%No lower-bound flag
19South Carolina (SC)$555,486,402.8831.21%427,181585,047.2$1,300.352.02%No lower-bound flag
20Kentucky (KY)$525,185,536.4121.09%436,402561,445.2$1,203.441.91%No lower-bound flag
21Arizona (AZ)$490,115,749.0426.52%366,689520,637.9$1,336.601.78%No lower-bound flag
22Wisconsin (WI)$460,743,019.6921.03%371,741486,138.3$1,239.421.68%No lower-bound flag
23Washington (WA)$426,808,649.5525.21%336,462457,543.1$1,268.521.55%No lower-bound flag
24Oklahoma (OK)$415,918,220.9523.68%349,885435,723.1$1,188.731.51%Reported share is a lower bound
25Maryland (MD)$407,214,396.7031.32%289,814437,802.1$1,405.091.48%Reported share is a lower bound
26Minnesota (MN)$388,948,962.6923.11%307,550416,034.5$1,264.671.41%Reported share is a lower bound
27Connecticut (CT)$355,719,928.9821.73%265,056367,928.6$1,342.061.29%No lower-bound flag
28Mississippi (MS)$310,337,401.6520.82%249,278330,166.6$1,244.951.13%Reported share is a lower bound
29Colorado (CO)$297,018,432.2930.42%232,148315,376.1$1,279.441.08%No lower-bound flag
30Arkansas (AR)$290,620,912.5625.48%253,572308,195.3$1,146.111.06%No lower-bound flag
31Iowa (IA)$268,489,998.1423.22%231,196288,580.4$1,161.310.98%No lower-bound flag
32West Virginia (WV)$254,329,563.6817.85%195,091269,339.9$1,303.650.92%No lower-bound flag
33Oregon (OR)$248,008,906.7124.70%203,289269,218.7$1,219.980.90%No lower-bound flag
34Kansas (KS)$238,404,828.1919.80%204,187252,928.6$1,167.580.87%No lower-bound flag
35Nevada (NV)$212,188,803.4130.12%154,929223,568.8$1,369.590.77%Reported share is a lower bound
36Utah (UT)$158,975,004.9238.73%129,608165,152.6$1,226.580.58%Reported share is a lower bound
37New Mexico (NM)$146,977,521.1322.31%118,562157,331.0$1,239.670.53%Reported share is a lower bound
38Nebraska (NE)$143,249,620.3426.74%127,225152,686.3$1,125.950.52%Reported share is a lower bound
39Idaho (ID)$139,963,423.3020.22%118,560149,140.2$1,180.530.51%Reported share is a lower bound
40Maine (ME)$131,435,516.0221.73%104,905141,539.9$1,252.900.48%No lower-bound flag
41New Hampshire (NH)$106,803,416.4923.68%82,446113,077.5$1,295.430.39%Reported share is a lower bound
42Delaware (DE)$100,712,258.6421.83%67,256106,953.2$1,497.450.37%Reported share is a lower bound
43Hawaii (HI)$99,573,068.6127.93%65,437106,111.4$1,521.660.36%No lower-bound flag
44Rhode Island (RI)$74,809,355.0328.47%67,01779,653.1$1,116.270.27%Reported share is a lower bound
45Montana (MT)$68,199,384.4418.39%58,25174,515.0$1,170.780.25%Reported share is a lower bound
46South Dakota (SD)$64,404,898.8223.18%56,04768,493.7$1,149.120.23%No lower-bound flag
47North Dakota (ND)$61,477,698.3424.23%53,33965,117.5$1,152.580.22%No lower-bound flag
48Vermont (VT)$50,141,046.259.92%41,06554,067.9$1,221.020.18%Reported share is a lower bound
49District of Columbia (DC)$45,120,025.4530.11%34,05447,826.7$1,324.960.16%Reported share is a lower bound
50Alaska (AK)$44,309,338.7416.13%33,83247,423.9$1,309.690.16%No lower-bound flag
51Wyoming (WY)$31,342,198.5024.09%27,11633,672.6$1,155.860.11%No lower-bound flag

Source: medicare_glp1_spending_by_state_2024.csv, generated from CMS 2024 and 2023 Geography and Drug files. State attribution is prescriber location, not beneficiary residence; costs are gross Part D drug costs before rebates.

National product totals

Ozempic, Mounjaro, and Trulicity together represented the large majority of the included national gross cost. Product-specific beneficiary counts must not be summed into a unique class-wide user count.

Table 2. Included product totals in CMS Medicare Part D data, 2024
RankProductGeneric nameGross costNational shareClaims30-day fillsCost / fill
1OzempicSemaglutide$12,965,808,790.0047.1425%10,413,55414,353,450.6$903.32
2MounjaroTirzepatide$6,334,739,184.5023.0326%5,103,5566,093,348.5$1,039.62
3TrulicityDulaglutide$5,452,031,863.5019.8231%4,303,4095,748,807.1$948.38
4RybelsusSemaglutide$1,889,261,890.806.8692%1,251,1822,063,083.7$915.75
5WegovySemaglutide$301,160,733.761.0950%211,490226,122.8$1,331.85
6Bydureon BciseExenatide Microspheres$215,268,333.690.7827%178,845266,630.5$807.37
7Victoza 3-PakLiraglutide$203,005,402.520.7381%181,011289,491.9$701.25
8Victoza 2-PakLiraglutide$77,803,678.740.2829%108,485140,000.3$555.74
9LiraglutideLiraglutide$48,084,632.400.1748%62,24285,916.3$559.67
10ByettaExenatide$15,862,661.990.0577%11,70619,580.0$810.15
11ZepboundTirzepatide$387,343.450.0014%353380.7$1,017.45

Source: medicare_glp1_spending_national_product_2024.csv, generated from CMS 2024 Geography and Drug data.

Other reported prescriber geographies

Territories, Armed Forces geographies, foreign country, and unknown geography are retained separately rather than included in the 50-state/DC ledger.

Table 3. Non-state CMS prescriber geographies, 2024
Prescriber geographyGross costClaims30-day fillsReported product cells
Puerto Rico$131,136,194.50122,251133,919.39
Virgin Islands$2,624,046.172,0522,418.05
Armed Forces Pacific$1,892,000.711,3751,989.67
Guam$732,639.34672760.94
Foreign Country$462,813.90418520.15
Unknown$408,002.68346485.95
Northern Mariana Islands$273,411.90283291.02
Armed Forces Europe$240,008.88210270.13

Source: medicare_glp1_spending_other_geographies_2024.csv, generated from CMS 2024 Geography and Drug data.

Build method

  1. Read the CMS Geography and Drug CSV for each year.
  2. Select national and state rows whose Brnd_Name matches the year-specific inclusion list.
  3. Sum Tot_Drug_Cst, Tot_Clms, and Tot_30day_Fills across included products.
  4. Group state rows by Prscrbr_Geo_Desc for the 50 states and District of Columbia.
  5. Calculate state order, year-over-year change, national share, gross cost per claim, gross cost per standardized 30-day fill, the sum of reported age-65-plus cost fields, and the leading product.
  6. Build a complete 51-jurisdiction × 11-product matrix. When CMS has no reportable state-product row, leave the values blank and set cms_row_reported=false; do not convert the missing row to a confirmed zero.
  7. Preserve CMS age-field suppression explicitly. When a reported state-product row has blank age-65-plus utilization or beneficiary fields, the matrix records boolean suppression fields and the original CMS suppression flags.
  8. Treat affected state-level age-65-plus totals and shares as reported lower bounds, not complete values.
  9. Keep territories, Armed Forces geographies, foreign country, and unknown geography in a separate file.
  10. Assert fixed national and state totals before writing outputs, then hash every generated data file.

Product scope crosswalk

Table 4. 2023–2024 product inclusion and exclusion crosswalk
Product20232024Headline scopeReason
Bydureon BciseIncludedIncludedincluded when present in that year's CMS fileStandalone GLP-1 product or tirzepatide (dual GIP/GLP-1)
Bydureon PenIncludedNot includedincluded when present in that year's CMS fileStandalone GLP-1 product or tirzepatide (dual GIP/GLP-1)
ByettaIncludedIncludedincluded when present in that year's CMS fileStandalone GLP-1 product or tirzepatide (dual GIP/GLP-1)
LiraglutideNot includedIncludedincluded when present in that year's CMS fileStandalone GLP-1 product or tirzepatide (dual GIP/GLP-1)
MounjaroIncludedIncludedincluded when present in that year's CMS fileStandalone GLP-1 product or tirzepatide (dual GIP/GLP-1)
OzempicIncludedIncludedincluded when present in that year's CMS fileStandalone GLP-1 product or tirzepatide (dual GIP/GLP-1)
RybelsusIncludedIncludedincluded when present in that year's CMS fileStandalone GLP-1 product or tirzepatide (dual GIP/GLP-1)
SaxendaIncludedNot includedincluded when present in that year's CMS fileStandalone GLP-1 product or tirzepatide (dual GIP/GLP-1)
Soliqua 100-33Not includedNot includedexcludedFixed-ratio insulin/GLP-1 combination; reported separately in sensitivity analysis
TrulicityIncludedIncludedincluded when present in that year's CMS fileStandalone GLP-1 product or tirzepatide (dual GIP/GLP-1)
Victoza 2-PakIncludedIncludedincluded when present in that year's CMS fileStandalone GLP-1 product or tirzepatide (dual GIP/GLP-1)
Victoza 3-PakIncludedIncludedincluded when present in that year's CMS fileStandalone GLP-1 product or tirzepatide (dual GIP/GLP-1)
WegovyIncludedIncludedincluded when present in that year's CMS fileStandalone GLP-1 product or tirzepatide (dual GIP/GLP-1)
Xultophy 100-3.6Not includedNot includedexcludedFixed-ratio insulin/GLP-1 combination; reported separately in sensitivity analysis
ZepboundNot includedIncludedincluded when present in that year's CMS fileStandalone GLP-1 product or tirzepatide (dual GIP/GLP-1)

Source: medicare_glp1_product_scope_2023_2024.csv, package version 1.0.0.

Suppression and reconciliation

Missing state-product rows

  • The 2024 state-product grid has 561 possible cells (51 jurisdictions × 11 products).
  • CMS reported 518 state-product rows; 43 combinations had no reportable row — 41 Zepbound combinations and 2 Byetta combinations.
  • A missing row is not a confirmed zero.

Age-65-plus field suppression

Among the 518 reported state-product rows, 23 age-65-plus utilization/cost fields were suppressed across 21 jurisdictions: California, Delaware, District of Columbia, Idaho, Indiana, Maryland, Massachusetts, Minnesota, Mississippi, Montana, Nebraska, Nevada, New Hampshire, New Jersey, New Mexico, New York, Oklahoma, Pennsylvania, Rhode Island, Utah, and Vermont.

In the state summary, fields beginning with reported_age_65_plus_ are sums of values CMS actually reported. age_65_plus_share_is_lower_bound=true means the displayed state share is incomplete because at least one product-level age field was suppressed. The matrix preserves separate flags for suppressed age-65-plus utilization fields and the age-65-plus beneficiary field. Blank suppressed values must not be treated as zero.

CMS suppressed 56 age-65-plus beneficiary fields in the reported state-product rows. Those product-specific beneficiary counts are not used to calculate the state cost shares.

National-to-geography reconciliation

  • The 50 states and District of Columbia sum to $27,365,405,390.12, or 99.4982% of the national total.
  • Reported non-state prescriber geographies sum to $137,769,118.08.
  • All reported geography rows sum to $27,503,174,508.20, which is $240,007.15 below the national row — less than 0.001% of the national total.
  • The public source does not allocate that residual, so this package does not assign it to a specific cause.

Critical limitations

  • These are gross Part D drug costs before manufacturer rebates, not net program spending.
  • State attribution follows prescriber location, not beneficiary residence.
  • The files do not identify the diagnosis or indication for which a product was prescribed. Do not label the full total as obesity-treatment spending.
  • Product-level beneficiary counts are unique only within a single state-product row. They cannot be summed across products to produce a unique class-wide user count because one beneficiary may have claims for more than one product.
  • Missing state-product rows are not confirmed zeros.
  • State age-65-plus totals and shares are lower bounds when the corresponding suppression flag is true.
  • Gross cost per standardized 30-day fill is a gross-cost utilization ratio, not a transaction price or net price.
  • CMS bottom-codes standardized-fill values below 1.0 and top-codes values above 12.0 before aggregation.
  • The data cover Medicare Part D prescription drug events represented in CMS's source data; they do not represent all prescriptions in the United States.
  • The 2024 data predate the July 2026 Medicare GLP-1 Bridge. CMS says Bridge coverage operates outside the standard Part D coverage and payment flow, so future Bridge utilization should not be assumed to appear in the same way in this dataset.

Files and reproducibility

The package publishes the 51-state/DC summary, complete state-product matrix, national product totals, other geographies, product-scope crosswalk, summary and manifest JSON, and the dependency-free build script.

Reproduction

Place the two CMS source CSVs and the Python script in the same directory, then run:

python build_medicare_glp1_spending_by_state.py

The script requires Python 3.9+ and no third-party packages. It writes the five CSV files, summary JSON, and manifest. The README and script are maintained separately from the generated-output manifest.

Primary sources

  1. CMS 2024 Geography and Drug CSV
  2. CMS 2023 Geography and Drug CSV
  3. CMS dataset landing page
  4. CMS methodology
  5. CMS data dictionary
  6. FDA GLP-1 product table and tirzepatide classification

Source links are primary CMS and FDA references. They are followed editorial citations; this non-commercial page has no affiliate or sponsored links.

Frequently asked questions

How much did the included GLP-1 products cost Medicare Part D in 2024?

The included standalone GLP-1 receptor agonist and tirzepatide products generated $27,503,414,515.35 in CMS-reported gross Medicare Part D drug costs nationally in 2024.

Which state had the highest Medicare GLP-1 spending in 2024?

Texas had the highest included total among the 50 states and the District of Columbia, at $2,389,558,046.92, followed by California, New York, and Florida.

Does spending by state mean where the beneficiary lives?

No. The state field is prescriber geography: the state where the provider is located as reported in NPPES. It is not beneficiary residence.

Are these Medicare GLP-1 spending figures net prices or rebates-adjusted payments?

No. CMS Tot_Drug_Cst is gross total drug cost before manufacturer rebates. It includes ingredient cost, dispensing fees, sales tax, applicable administration fees, and amounts paid by plans, beneficiaries, subsidies, and other third-party payers.

Does the total represent obesity-treatment spending?

No. The CMS files do not identify diagnosis or indication. The full included total must not be labeled as obesity-treatment spending.

How to cite this page

WPG Research Team. “Medicare GLP-1 Spending by Prescriber State — 2024 CMS Data.” Weight Loss Provider Guide Research. Dataset version 1.0.0. Last verified August 1, 2026. https://weightlossproviderguide.com/research/medicare-glp1-spending-by-state
Publication
Weight Loss Provider Guide Research
Title
Medicare GLP-1 Spending by Prescriber State — 2024 CMS Data
URL
https://weightlossproviderguide.com/research/medicare-glp1-spending-by-state
Last updated/verified
August 1, 2026