Healthcare / DOCUMENTED CSV

2025 NADAC Drug Acquisition Cost History

Compare historical drug acquisition benchmarks by NDC and week. Prepared change tables separate rate movements from repeated observations and changes in file coverage.

2025 CMS NADAC · January 1–December 31 · fixed historical edition

1,608,416weekly observations
15main-table fields
33,498distinct NDCs
53weekly snapshots

01 / KNOW THE FIT

A useful join starts
with a clear meaning.

What you can do with it

Track acquisition benchmarks for an NDC-coded research portfolio, compare selected weeks, or inspect the rates and coverage changes behind an annual analysis. The prepared change table removes the work of identifying repeated versus changed weekly records.

What one row means

One row is one 11-digit NDC observed in one weekly CMS snapshot. It includes the publisher’s rate, pricing unit, effective date, description and source flags. A weekly observation is not necessarily a new rate.

Unique key
ndc + as_of_date

How to join it

Import ndc as text and use ndc + as_of_date for an exact observation. Rates are USD per EA, ML or GM, not per package. Keep effective_date separate from as_of_date. For other drug references, verify both NDC normalization and historical compatibility before joining.

Compare NADAC acquisition costs in Python →

Coverage, with the edges visible

All 1,608,416 original source observations are retained, covering 33,498 distinct NDCs across 53 weekly snapshots. The change table contains 361,770 changed NDC/week comparisons. Coverage differs by NDC; first/last observations and gaps are included.

Keep in mind

  • This is historical 2025 data, not 2026 prices, a live feed or a complete drug universe. Later annual editions are not included.
  • NADAC is a surveyed retail-community-pharmacy acquisition benchmark, not a patient’s retail price, a reimbursement guarantee or an individual pharmacy’s invoice. Not all off-invoice discounts are captured.
  • 171 observations have rates effective after their snapshot date; explicit flags preserve them for review. Weekly records do not establish complete daily history or exactly when historical files were published.
  • Appearances/disappearances describe the source file, not drug launches or discontinuations. Corresponding generic rates do not supply a generic-NDC crosswalk or establish interchangeability.
WHAT MAKES IT ACTUALLY CLEAN

Preserves all source decimal rates and 11-digit identifiers, standardizes date formats, validates keys and source codes, and flags future-effective rates. Compares only adjacent snapshots with unchanged unit/type/classification for quantitative rate deltas. Independent raw-source acceptance verifies every observation and comparison; retained layers support offline replay. How we prepare and version our data →

02 / TRY THE SHAPE

Real rows. Before you buy.

These are the first three rows from the delivered CSV, showing 5 of 15 fields. The free download contains the first five rows and all 15 fields; it is a format sample, not a coverage test.

2025 NADAC Drug Acquisition Cost History · first three rows
ndcas_of_datenadac_per_unitpricing_uniteffective_date
000021433802025-01-01471.69300ML2024-12-18
000021433802025-01-08476.40993ML2025-01-01
000021433802025-01-15476.40993ML2025-01-01

03 / NO GUESSING

Main table fields, explained.

The main table’s field dictionary from the current download. CSV has no built-in types; these are the intended import types.

All 15 fields in CSV order
FieldTypeMeaning
ndcstringOriginal 11-digit NDC. Import as text to preserve leading zeros; no inferred conversion.
as_of_datestringYYYY-MM-DD weekly snapshot date in the CMS annual file. Not a price-effective date or proof of original publication time.
ndc_descriptionstringCMS description, preserved exactly; not a unique key.
nadac_per_unitstringSource decimal USD benchmark per pricing_unit, unchanged precision. Not a package price or reimbursement amount.
effective_datestringYYYY-MM-DD date CMS assigns to this NADAC rate. May precede or follow as_of_date.
pricing_unitstringEA (each), ML (milliliter) or GM (gram). Never compare prices across units without separate normalization.
pharmacy_typestringC/I = chain and independent retail community pharmacies in this source.
otcstringCMS over-the-counter indicator Y or N, preserved.
explanation_codestringOriginal comma-separated CMS explanation codes. Meanings in code_definitions.csv.
rate_classificationstringCMS rate-setting classification B, G, B-ANDA or B-BIO; not an inferred substitution recommendation.
generic_nadac_per_unitstringCorresponding generic benchmark USD per source pricing unit, when supplied; blank is missing, not zero. No generic NDC is supplied.
generic_effective_datestringCMS assigned effective date of the corresponding generic rate, when supplied. Not necessarily the generic product rate's own effective date.
rate_effective_after_snapshotstringtrue if effective_date is later than as_of_date, else false. Do not apply a future-effective rate early.
generic_effective_after_snapshotstringtrue or false when a corresponding generic date exists; blank when absent.
source_rowstringOne-based row in the retained annual CMS CSV, excluding its header.

04 / INSIDE THE DOWNLOAD

Data, with its context.

One ZIP · 20.9 MB · 18 files. No account or subscription required.

05 / DATES THAT MEAN SOMETHING

Sources, versions & changes.

Source versions identify the inputs. Our processing revision describes how we prepare them. Either kind of change creates a new ACD release; the package date records when it was built.

Current source versions

Source edition
2025 NADAC
Weekly snapshot range
January 1–December 31, 2025 (53 dates)
CMS dataset metadata updated
December 30, 2025
ACD source capture
October 17, 2026
ACD preparation revision
1 · weekly observations, changes and coverage
Package prepared (UTC)

Source: Centers for Medicare & Medicaid Services. CMS publishes the source freely as public-domain data. ACD sells preparation, comparisons, validation and packaging. No CMS endorsement is implied.

RELEASE HISTORY

Oct 17, 2026 · current package (UTC)

First ACD NADAC release: five data/reference CSV tables, dictionaries, checked Python example, source and processing identities, quality report and independent acceptance. The change sheet compares weeks within the 2025 source, not two ACD releases.

2025 change sheet: weekly acquisition-cost comparisons

Processing corrections and improvements for your purchased source edition are free. Genuinely new source editions may be sold separately. See the update policy and access instructions.

Check the downloaded CSV’s integrity

The metadata file inside the ZIP records this SHA-256 checksum for observations.csv. A matching checksum confirms identical CSV bytes.

d4f57285c6e58d644a70e15041fe9092a07c8eac9372da58ca8419b12a2dd911

READY TO PUT IT TO WORK?

2025 NADAC Drug Acquisition Cost History

$29 USD · one time · 1,608,416 weekly observations

Get the full dataset