Volume and profit are not the same drug. The product that fills most often is rarely the one that pays the bills, and a handful of NDCs usually carry the margin while a long tail dispenses near break-even or below. This dashboard ranks every drug and NDC by the profit it actually contributes, so purchasing and generic-sourcing decisions follow margin instead of habit.

What this report answers

Which products make money, and which only make work? The Product Margin Leaders page carries the six KPIs — total gross profit, total net sales, blended gross margin rate, gross profit per script, dispensed lines, and units dispensed — then ranks gross profit by drug, shows margin rate by drug class, and scatters margin rate against script count per NDC so high-volume/low-margin and low-volume/high-margin products separate visually.

The metrics that matter

Gross profit per script is the buyer's compass — it normalizes for volume so a high-turn, thin-margin generic doesn't masquerade as a winner. Blended gross margin rate is the store-level health number. Net sales here is net reimbursement plus patient copay, so the margin reflects every dollar the script collects, not just the insurance portion. The NDC Detail table puts it all at the package level, because two NDCs of the "same" drug can carry very different acquisition costs depending on the generic source.

Why the data is trapped across the systems

Margin at the NDC level needs three joins: the dispense and quantity from PioneerRx, the net reimbursement from the PBM remittance (835/CSV), and the acquisition cost from the wholesaler portal (McKesson, Cardinal, AmerisourceBergen) — matched on the exact NDC, not just the drug name. Because the same molecule has many NDCs at different costs, drug-name reporting hides the very differences that drive sourcing decisions, and no dispensing system reconciles cost against payment per NDC.

How to read it

Start with the treemap of gross profit by drug class then drug to see where profit concentrates, then use the scatter to find the two corners that matter: high-volume/low-margin products to re-source, and low-volume/high-margin products to protect and grow. In the NDC table, compare gross profit per script across NDCs of the same drug to spot a cheaper generic source. Margin leaders fund the store; margin losers feed the underwater-claims report.

The sample uses synthetic products, NDC-style identifiers, and made-up costs — no real data.

Metrics it tracks

MetricWhat it means
Total Gross ProfitNet sales (net reimbursement + patient copay) minus acquisition cost, across all dispensed lines.
Total Net SalesNet reimbursement plus patient copay, summed across all dispensed lines.
Blended Gross Margin RateTotal gross profit ÷ total net sales across all products.
Gross Profit per ScriptTotal gross profit ÷ dispensed lines — average profit a script contributes.
Total Dispensed LinesCount of dispensed claim lines in the period.
Total Units DispensedUnits/tablets dispensed across all lines.

Used by: Owner-pharmacists and buyers choosing generic sources and separating margin-leader from margin-loser products at the NDC level

Frequently asked questions

Why analyze margin at the NDC level instead of by drug?

Because a single drug has many NDCs — different manufacturers and generic sources — each with its own acquisition cost. Reporting by drug name averages those away and hides the sourcing decisions that move margin. NDC-level gross profit per script shows exactly which package to buy and which to switch.

What's the difference between net sales and net reimbursement here?

Net reimbursement is what the PBM/payer pays. Net sales adds the patient copay collected at the counter, so it reflects the total dollars a script brings in. Gross margin computed against net sales is the truest picture of product profitability.

Can I build this on my own dispensing and cost data?

Yes. Export your dispensing lines with NDCs, your PBM reimbursement, and your wholesaler acquisition cost and use this as a template — we model it into a Power BI report at the NDC grain. The sample uses synthetic data so there's no PHI here.

Build this report on your own data

Clone this Independent pharmacies template — describe it and we’ll generate sample data so you can try it free, or upload your own export. You get a fully modeled, branded Power BI project that opens in Power BI Desktop.

Use this as a template →