The same generic medication can carry very different prices at two pharmacies on the same street - and the cash price can be a multiple of the discount-card price at the very same counter. For US drug-price transparency, that inconsistency is the whole story.
This report turns publicly available retail pharmacy pricing - labeled by price type and anchored to precise drug identity - into a clear view of how CVS and Walgreens prices vary by region and ZIP. It uses only public retail pricing, never patient or prescription data.
Key findings at a glance
Three patterns stand out across the pricing data. (Figures below are illustrative previews - the full report breaks them down by drug, chain and region.)
Key finding 1: cash vs discount-card is the biggest gap
For many common generics, the discount-card price is a fraction of the posted cash price - often around a third. A comparison that shows only cash prices makes every pharmacy look far more expensive than a savvy shopper actually pays.
This is why every price in a credible pharmacy dataset must be labeled by type. An unlabeled number invites false comparisons and misleads the shopper it is meant to help.
Key finding 2: CVS vs Walgreens varies by ZIP
Neither chain is uniformly cheaper. The cheaper chain for a given drug flips between ZIPs, and the gap can be meaningful. The sample below shows cash and card prices for one drug across regions (illustrative).
| Region | CVS Cash | WAG Cash | CVS Card | WAG Card |
|---|---|---|---|---|
| West | $38.49 | $34.99 | $12.80 | $11.50 |
| Midwest | $35.20 | $37.10 | $11.90 | $12.40 |
| Northeast | $41.00 | $39.80 | $13.10 | $12.90 |
| South | $33.75 | $34.10 | $11.20 | $11.60 |
The takeaway is that there is no single "cheaper chain" nationally - the answer is local, which is exactly why ZIP-level data matters.
Key finding 3: precise drug identity is non-negotiable
In grocery, fuzzy matching is fine; in pharmacy it is dangerous. "Atorvastatin 20mg" and "40mg" are different products at different prices. Every record is anchored to the full identity - name, strength, form, pack quantity - and the NDC where available, so a comparison never crosses product lines.
What the underlying data looks like
The report is built from records like the one below - publicly available retail pricing, labeled by type and anchored to drug identity.
{
"chain": "CVS",
"store_id": "CVS-08842",
"zip_code": "94601",
"drug": "Atorvastatin 20mg",
"package_qty": 30,
"ndc": "00071-0155-23",
"cash_price": 38.49,
"discount_card_price": 12.80,
"availability": "in_stock",
"captured_at": "2026-06-29T15:00:00Z"
}
Aggregated by chain, ZIP and price type, the same data rolls up into a flat file analysts can model on:
chain,zip,drug,qty,price_type,price
CVS,94601,Atorvastatin 20mg,30,cash,38.49
Walgreens,94601,Atorvastatin 20mg,30,cash,34.99
CVS,94601,Atorvastatin 20mg,30,discount_card,12.80
Walgreens,94601,Atorvastatin 20mg,30,discount_card,11.50
This report is built for the teams working on US drug-price transparency and intelligence.
- Cash vs discount-card price gaps by drug
- CVS vs Walgreens comparison by region/ZIP
- Regional price-spread patterns
- NDC-anchored matching methodology
- Complete methodology, sample size and sources
Methodology & data
The findings are based on publicly available retail drug pricing collected across CVS and Walgreens by location in 2026, labeled by price type and anchored to drug identity (name, strength, form, quantity, and NDC where available), then aggregated by region and ZIP. This uses only public retail pricing - never patient, prescription or personal health data. The full report details the drugs, regions and how each metric is calculated.
The numbers and charts shown on this page are illustrative previews of the kind of analysis in the report. They are based on publicly available, non-personal web data in aggregate and do not represent any single named company. The full report contains the complete dataset, methodology and sources.
Frequently asked questions
Yes. Enter your details and we will email you the PDF.
No. The report uses only publicly available retail pricing and product information - never patient, prescription or personal health data.
They are illustrative previews of the report's analysis. The full PDF contains the complete dataset, methodology and sources.
Prices are compared at the ZIP-code level and labeled by type - cash vs discount-card - using publicly available data.
Yes. Our pharmacy price-intelligence solution delivers ZIP-level retail pricing for your drugs and geographies as an ongoing feed.