Skip to main content

Blog / MarkupRx

NADAC vs. PBM Reimbursement: Why Pharmacies Lose Money on Generic Fills

MarkupRx

TL;DR

NADAC and MAC are two different prices from two different sources. NADAC (National Average Drug Acquisition Cost) is the federal benchmark for what a generic costs you to buy — survey-based, public, refreshed weekly by CMS. MAC (Maximum Allowable Cost) is the ceiling your PBM will reimburse — set from its own proprietary list, on its own schedule. When a PBM’s MAC falls below NADAC, every fill is a loss — and the first step to recovering it is measuring the gap.

Two numbers that determine your margin on generics

Every time you dispense a generic drug, two numbers determine whether you make money or lose it:

  1. Your acquisition cost — what you paid your wholesaler per unit
  2. Your reimbursement rate — what your PBM's MAC pays per unit

When the reimbursement rate falls below the acquisition cost, every fill on that NDC is a loss. The pharmacy absorbs the difference out of pocket.

The federal government publishes a weekly benchmark for acquisition costs: the National Average Drug Acquisition Cost (NADAC). It tracks what pharmacies across the country actually pay wholesalers, surveyed weekly by CMS. It is your most authoritative, publicly verifiable reference for what a drug should cost to dispense.

NADAC vs. MAC: at a glance

NADAC is an estimate of what a drug costs a pharmacy to buy — survey-based, published openly by CMS, and refreshed weekly. MAC(Maximum Allowable Cost) is the ceiling a PBM will reimburse you for a multi-source generic — set from the PBM’s own proprietary list, rarely disclosed in full, and updated on the PBM’s schedule. They are produced by different parties for different purposes, which is exactly why they drift apart.

NADACMAC
What it representsEstimated national average acquisition costMaximum a PBM will pay for a generic
Who sets itCMS (federal)Each PBM (private)
SourceSurvey of pharmacy invoice pricesPBM’s proprietary methodology
Public?Yes — published openlyNo — disclosed only in limited ways, often on appeal
Update cadenceRefreshed weeklySet by the PBM (state law often requires every 7 days)
Anchored to your cost?A national-average proxy for costNo — it’s a payer-set ceiling

This isn’t a fringe problem. In December 2025, CVS Caremark agreed to pay about $5.08 million to resolve Oklahoma Attorney General allegations that it reimbursed pharmacies below the actual acquisition cost of certain drugs — covering roughly 68,000 prescriptions. The gap between these two numbers is real money.

How MAC rates work — and why they lag acquisition costs

MAC (Maximum Allowable Cost) rates are set by each PBM independently using their own internal benchmarks. Unlike NADAC, which is updated weekly from actual pharmacy invoices, MAC rates can remain static for extended periods — sometimes months.

When a generic drug's market price increases (due to supply constraints, manufacturer exits, or ingredient cost increases), the acquisition cost rises immediately. The NADAC benchmark picks this up within a week. But if the PBM's MAC rate was set before the price spike and hasn't been updated, pharmacies start filling prescriptions for less than they paid.

The chart below illustrates the relationship between acquisition cost (NADAC) and reimbursement (MAC) over time, showing how the gap can persist:

← gap1.00×1.05×1.10×1.15×1.20×1.25×W1W3W5W7W9W11NADAC acquisition costPBM MAC reimbursementUnderwater zone (loss per fill)
Illustrative mechanism chart — cost values normalized to baseline (1.00×). Shows how NADAC acquisition cost can rise above a static MAC reimbursement rate, creating the "underwater" zone where every fill generates a loss. Source: mechanism derived from CMS NADAC weekly data (data.cms.gov/nadac) + MarkupRx underwater detection methodology.

This pattern — stable or rising acquisition cost meeting a stale MAC rate — is the primary mechanism behind underwater generic fills. It is not typically the result of one party acting in bad faith; it is a structural consequence of asynchronous pricing systems.

What NADAC actually measures

NADAC is a survey-based dataset, not a price list. CMS contracts with an independent survey firm to collect actual invoiced prices from a nationwide sample of pharmacies. The result is a weekly per-unit price per NDC that reflects what pharmacies actually pay at wholesale.

Key properties of NADAC that matter for MAC appeals:

PropertyWhat it means
Weekly cadencePublished every Wednesday; reflects the current market price within one week
Invoice-basedDerived from actual pharmacy invoices, not published list prices (AWP/WAC)
Per-NDC, per-unitPriced by the 11-digit NDC so you can match it directly to your dispense records
Publicly availableFree at data.cms.gov — no subscription, no proprietary feed required

How to measure the gap in your own dispenses

The underwater detection formula MarkupRx uses is derived directly from NADAC and CMS State Drug Utilization Data (SDUD):

margin = (total_amount_reimbursed ÷ units_reimbursed) − nadac_per_unit

When margin is negative, the pharmacy lost money on that NDC in that period. The magnitude of the negative number is your per-unit loss. Multiply by your dispense volume to get the total dollar impact.

Because SDUD data reports at the NDC × state × quarter level, and NADAC is weekly, the comparison uses the closest NADAC benchmark date to the SDUD reporting period. This matches the methodology used in MarkupRx's underwater detection engine, which carries the Phase-79 unit-reconciliation guard to exclude NDCs where the pricing unit is ambiguous across NADAC history.

What to do when you find a gap

Once you have identified that a specific NDC is underwater, you have two levers:

  1. File a MAC appeal — your contractual mechanism to request a rate adjustment from the PBM. See our guide on how to file a MAC appeal.
  2. Source differently — if your wholesaler's price has increased but alternatives exist, compare purchasing options for that NDC. Acquisition cost is the variable you control; reimbursement is not.

Appeals are worth filing — but they’re won on documentation, not volume. Washington State’s transparency data showed pharmacies filing roughly 145 appeals per day from 2018–2020, with about 99.3% denied by PBMs. The ones that win pair the NDC and claim data with a dated acquisition-cost invoice — see what documentation wins a MAC appeal.

The public data explorer shows which generic NDCs are most commonly underwater nationally and by state — a useful starting point for prioritizing which contracts to appeal first:

Explore underwater NDC rankings →

To identify underwater fills in your own dispensing data and generate appeal letters:

Start your free trial →

Frequently Asked Questions

NADAC (National Average Drug Acquisition Cost) is a weekly dataset published by CMS that tracks what pharmacies across the country actually pay wholesalers per drug unit, based on invoice surveys. It is the federal government's benchmark for pharmacy acquisition costs.

Identify underwater fills in your own dispense data

MarkupRx joins your NDCs against weekly NADAC data and generates ready-to-submit MAC appeal letters. Free 15-day trial.

Start your free trial →

Ten minutes to know.

Read the report. Draft an appeal. Renegotiate a contract. Cancel if it isn't worth it.

15-day trial · no credit card · cancel anytime