Drug Retail
CMS National Average Drug Acquisition Cost (NADAC)
Datadory delivers cms national average drug acquisition cost nadac data covering United States retail community pharmacy acquisition prices for more than 30,000 drug products per cycle - one row per National Drug Code per weekly edition, with per-unit cost, pricing unit, brand-versus-generic classification and corresponding generic rates, delivered daily, weekly, or hourly.
API, files, or your warehouse. Daily, weekly, or hourly.
What is the CMS National Average Drug Acquisition Cost (NADAC)?
One benchmark, every package code on the corner drugstore's shelf. CMS National Average Drug Acquisition Cost (NADAC) is the federal government's survey-based read on what American retail community pharmacies actually pay to buy drugs - not the sticker price a consumer sees, but the invoice-side cost underneath it. Acquisition prices are collected from chain and independent pharmacies across the states, weighted into a national average per package code, and resolved into one flat panel: an 11-digit National Drug Code, its description, a per-unit NADAC figure, the unit that figure quotes (each, millilitre or gram), and effective dating that pins a rate to a date.
Scale, concretely: an annual edition runs about 86 megabytes of rows across more than 30,000 distinct NDCs, and the series stands thirteen-plus editions deep - late 2013 through the 2026 file. Two companion panels extend the core: one flagging drug products receiving their first-ever NADAC rate, another identifying products whose current rate replaced a prior one. Because Medicaid's Federal Upper Limits derive from these surveys, NADAC sits closer to the pharmacy buy side than any other widely used pricing series - which is why reimbursement analysts, PBMs and generics watchers treat it as the reference. Get a sample of this dataset against your own drug list.
What do sample rows look like?
Two real rows off the current panel, flattened for reading - the same drug, two package codes, one shared rate:
NDC Description : 12HR NASAL DECONGEST ER 120 MG
NDC : 24385005452 NADAC Per Unit : 0.26341
Pricing Unit : EA Classification : G (generic)
Pharmacy Type : C/I OTC : Y
Explanation Code : 1 As of Date : 01/07/2026
Effective Date : 12/17/2025
------------------------------------------------------------------------------
NDC Description : 12HR NASAL DECONGEST ER 120 MG
NDC : 70000047501 NADAC Per Unit : 0.26341
Pricing Unit : EA Classification : G (generic)
Pharmacy Type : C/I OTC : Y
Explanation Code : 1 As of Date : 01/07/2026
Effective Date : 12/17/2025Read them together and three habits of the panel surface. One rate covers many packages: the identical 0.26341-per-each figure attaches to both package codes, so collapse to the product level before averaging anything. The unit column is load-bearing: a millilitre-quoted liquid and an each-quoted tablet cannot share a chart without conversion. And nothing is silently corrected - the explanation code records how a rate was established or adjusted, leaving the audit trail inside the row rather than in a changelog somewhere else. Your sample pins down current-cycle totals before any commitment.
What fields does the dataset include?
Twelve verified fields carry the core panel - enough to identify any package, quote its acquisition cost per unit, date the rate, and trace how that rate came to be:
What does coverage look like across geography, time and granularity?
Geography - United States national averages, built from surveyed retail community pharmacies across the states, with the chain-versus-independent indicator (Pharmacy Type Indicator) preserved on every row. These are national figures by design, not state-level prices.
Temporal - the series reaches back to late 2013, with annual consolidated editions stacked 2013 through 2026 alongside effective-dated rows whose rates pin to specific dates. One structural gap to know before building a time series: effective dates were not recorded before 7 June 2017, so earliest-era joins run on the as-of date instead.
Granularity - one row per NDC per weekly edition, priced per EA, ML or GM. Set against the wider Datadory catalog - where the average quality score across all cataloged datasets is 7.81 - this record scores 9/10, carried by verified field definitions, a stable NDC join key and a decade-deep panel.
How is the data delivered?
API, files, or your warehouse. Daily, weekly, or hourly.
Cadence is yours to set, and to change when your models change - take one full snapshot of the panel, or keep a warehouse current so newly repriced packages diff cleanly into yesterday's rows. Deliveries arrive normalized to the field dictionary above, with the NDC kept intact as the join key and the pricing unit riding beside the price, so no column needs inferring after the fact.
Every shipment carries the decoded explanation-code label sheet, validation rows and coverage notes mapped to whichever slice of the drug list you named - the schema you see in the sample is the schema you ship against.
Who uses this data, and for what?
A decade of buy-side drug pricing earns its keep on specific jobs:
- Reimbursement benchmarking - Medicaid Federal Upper Limits derive from these surveys, so pricing teams model FUL exposure per package code before a rate change lands.
- Pharmacy margin analysis - spread the acquisition benchmark against contracted reimbursement rates and the thin-margin generics stand out immediately.
- Generic price-trend monitoring - split on
Classification for Rate Settingand track the generic curve separately from brand, cycle over cycle. - Procurement and contract negotiation - buyers anchor talks to a national average both sides can verify, not to one vendor's spreadsheet.
- Price-forecasting features - effective-dated rows per NDC hand time-series models a clean target with no survivorship scrubbing required.
- Policy and payer analytics - actuaries and health economists quantify what a formulary change does to acquisition-cost exposure across thousands of packages.
Which personas get the most value?
Market Researchers & Consultants get the reference number clients ask for first - what a drug actually costs the pharmacy - with a decade of history behind the citation. Data Scientists & Analysts get a panel that behaves: a fixed twelve-field schema, one row shape across years, NDC as a stable join key. Investors & Quants read generic-pricing momentum for distributors and pharmacy operators straight off per-unit trends. Competitive Intelligence & Product Teams get the benchmark their pricing tools get compared against. Journalists, Academics & Students get a quotable federal series for drug-cost stories and coursework - no scraping, no cleaning marathon.
Which notes and datasets pair with it?
- Provenance - compiled during the August 2026 research pass from the Centers for Medicare & Medicaid Services' own documentation of the survey program; field definitions map to the published data dictionary rather than inferred conventions.
- Two companions worth asking for - the First Time NADAC Rates panel (products receiving a first-ever rate) and the NADAC Weekly Comparison panel (rates replaced by newer ones) extend the core wherever change-tracking matters.
- The dating gap - effective dates stop before 7 June 2017; the as-of date carries the earliest era instead, and the label sheet shipping with your sample keeps the two straight.
- Averages, not receipts - these are survey-weighted national averages, not point-of-sale logs; treat them as benchmarks, not transaction records.
- Where it pairs - product identity comes from the openFDA NDC Directory API, clinical naming from the NLM Clinical Table Search Service, and the vocabulary note defining a National Drug Code (NDC) settles the segment arithmetic. The NADAC vs DailyMed SPL repository comparison frames the price-data-versus-label-data trade-off, and the best drug-retail datasets ranking places the whole shelf.
Source: Centers for Medicare & Medicaid Services (NADAC program).
Field dictionary
Every field below is documented against real records. The full dictionary ships with the sample.
| field | type | definition | example |
|---|---|---|---|
NDC Description | string | Labeler-defined drug product description for the NDC. | 12HR NASAL DECONGEST ER 120 MG |
NDC | string | 11-digit National Drug Code identifying the specific package. | 24385005452 |
NADAC Per Unit | number | Survey-weighted national average retail community pharmacy acquisition cost per pricing unit, in USD. | 0.26341 |
Effective Date | date | Date the NADAC rate takes effect; not recorded before 6/7/2017. | 12/17/2025 |
Pricing Unit | enum | Unit on which the per-unit price is quoted: EA (each), ML (millilitre) or GM (gram). | EA |
Pharmacy Type Indicator | enum | Survey segment indicator, C/I denoting chain/independent retail community pharmacy participation. | C/I |
OTC | boolean | Whether the product is over-the-counter (Y/N). | Y |
Explanation Code | integer | Numeric code describing how the survey-derived rate was established or adjusted. | 1 |
Classification for Rate Setting | enum | Brand/generic classification used for rate setting purposes (e.g. G = generic, B = brand). | G |
Corresponding Generic Drug NADAC Per Unit | number | Per-unit NADAC of the corresponding generic product where one exists. | 0.08102 |
Corresponding Generic Drug Effective Date | date | Effective date of the corresponding generic product's NADAC rate. | 12/17/2025 |
As of Date | date | Weekly file reference date for the record. | 01/07/2026 |
What teams do with it
- Reimbursement benchmarking Model Medicaid Federal Upper Limit exposure per package code ahead of rate changes, since FUL benchmarks derive from these surveys.
- Pharmacy margin analysis Spread the acquisition benchmark against contracted reimbursement rates and the thin-margin generics surface immediately.
- Generic price-trend monitoring Split on the rate-setting classification and track the generic curve separately from brand, cycle over cycle.
- Procurement and contract negotiation Anchor buyer-supplier talks to a national average both sides can verify, replacing vendor-supplied spreadsheets.
- Price-forecasting features Feed time-series models effective-dated per-NDC rows with a clean target and no survivorship scrubbing required.
- Policy and payer analytics Quantify what a formulary change does to acquisition-cost exposure across thousands of packages.
Questions buyers ask
What does the CMS NADAC dataset contain?
One row per National Drug Code per weekly edition: the drug description, an 11-digit NDC, the survey-weighted national average acquisition cost per unit in dollars, the quoting unit (EA, ML or GM), chain/independent pharmacy indicator, OTC flag, explanation code, brand/generic classification and corresponding generic rates, effective-dated from 2013 onward.
How far back does the data go, and which years are covered?
The series runs from late 2013 through the 2026 edition - thirteen-plus annual volumes plus the effective-dated rows inside them. One structural quirk matters for time series: effective dates were not recorded before 7 June 2017, so analyses spanning the earliest years should key on the as-of date column instead.
Is NADAC the same as the shelf price consumers pay?
No - and the distinction is the whole point. NADAC estimates what retail community pharmacies pay to acquire drugs from suppliers, surveyed and weighted into a national average per package code. Consumer cash prices, insurer-negotiated rates and mail-order contracts all sit elsewhere; this is the buy-side benchmark underneath them.
What do the pricing-unit values EA, ML and GM mean?
Each, millilitre and gram - the denominators a per-unit cost can quote. A tablet priced per each, an oral solution priced per millilitre and a cream priced per gram cannot be averaged together until converted onto one denominator, so the unit column travels beside every price in every delivery rather than being assumed.
What are the corresponding generic drug columns for?
Where a brand-name product has a corresponding generic, its NADAC per-unit value and effective date ride along on the brand row. Brand-to-generic spreads become a single-row computation instead of a join across the whole panel - useful for patent-cliff analysis, substitution modeling and spotting where generics have not, in fact, undercut much.
Can I get a sample cut to my drug list?
Yes. Name the NDCs, therapeutic classes or date windows and the sample arrives in exactly the schema shown above, extended across whichever slice you need. Delivery runs through API, files, or your warehouse on a daily, weekly, or hourly cadence, with the decoded label sheet documented alongside your sample.
Notes on this record
- Provenance Compiled during the August 2026 research pass from the Centers for Medicare & Medicaid Services' documentation of the survey program; definitions map to the published data dictionary rather than inferred conventions.
- Two companions worth asking for First Time NADAC Rates flags products receiving a first-ever rate; NADAC Weekly Comparison identifies rates replaced by newer ones - the change-tracking layer on top of the core panel.
- The dating gap Effective dates were not recorded before 7 June 2017; the as-of date carries the earliest era, and the decoded label sheet shipping with your sample keeps the two columns straight.
- Averages, not receipts Rows are survey-weighted national averages across chain and independent pharmacies - benchmarks for negotiation and modeling, not point-of-sale transaction logs.
- Catalog standing Quality score 9/10 against a catalog-wide average of 7.81, earned on verified field definitions, a durable NDC join key and a 2013-through-2026 span.
- Sample policy Samples ship in the exact schema shown above, cut to the NDCs, therapeutic classes or date windows you name; companion panels confirm alongside the sample.
See the rows before you pay anything.
Name this dataset and we send real records from it — scoped to the fields you asked for.