What you'll take away
- 15 metrics matter. Everything else is diagnostic or downstream.
- Group them into four buckets: demand, supply, financial, and quality.
- Target ranges shift with stage. A pre-launch brand tracks different KPIs than a $20M brand.
- Every KPI has a data source, an owner, and a cadence. KPIs without owners are wallpaper.
- A dashboard is a decision-support tool. If the number does not lead to a decision, it does not belong on the dashboard.
Evidence note: Linked external claims point to the named primary source where available. Unattributed cost, margin, timing, and operating ranges are Logic Agency planning benchmarks drawn from client work, supplier quotes, and operating models. They are directional, not guaranteed market averages; validate them against current contracts, quotes, regulations, and channel requirements.
Who this is for: Founders, CFOs, and heads of ops at CPG brands from pre-launch through $50M who need to build a KPI dashboard that produces decisions, not just reports.
What's Inside
Dashboard design principles
Every KPI has an owner
One person is accountable for the number and the action when it moves out of range. If no owner exists, do not track it.
Every KPI has a cadence
Weekly, monthly, or quarterly. Match the cadence to the decision frequency. Weekly numbers that never lead to weekly action are noise.
Every KPI has a data source
Named system, named report, named refresh time. If the source is a manual export, it is fragile and will break.
Every KPI has a target range
Not a target number. A range with a floor and ceiling. Outside the range triggers a specific action.
The dashboard fits on one screen
If it does not, it will not be read. The 15-metric ceiling is real.
Trend matters more than snapshot
Every metric shows a rolling 6-12 week trend. A single-point snapshot hides direction.
Demand metrics
What is happening on the sales side and how well we're predicting it.
| Metric | Formula / definition | Target range | Owner / cadence |
|---|---|---|---|
| Forecast Accuracy (MAPE) | MAPE = |Actual − Forecast| / Actual, averaged across SKUs weighted by revenue | 15–25% is typical for scaling; <10% excellent; >35% needs work | Ops lead / monthly |
| Sell-Through Velocity | Cases sold per store per week (or units per SKU per week for DTC) | Category-dependent; compare to category norm from SPINS/IRI | Sales / weekly |
| Channel Mix % Contribution | Revenue and contribution margin per channel as % of total | Strategic; monitor trend more than snapshot | CFO / monthly |
| Retailer PO Cycle Time | Average days between retailer POs by account | Trend metric; sudden extension signals declining velocity or trade spend cut | Sales / monthly |
Supply metrics
What is happening in production and inventory.
| Metric | Formula / definition | Target range | Owner / cadence |
|---|---|---|---|
| Fill Rate | (Units shipped ÷ Units ordered) × 100 | 95–99% depending on retailer expectation | Ops lead / weekly |
| OTIF (On-Time In-Full) | % of shipments arriving on-window at full quantity | 90%+ acceptable; 95%+ target for Walmart/Target | Ops lead / weekly |
| Inventory Turns | COGS ÷ Average Inventory Value | 4–8x annually is typical for scaling CPG; higher for velocity products, lower for launch inventory | CFO / monthly |
| Days of Supply (by SKU) | On-Hand Inventory ÷ Average Daily Sales | 30–60 days typical; category and lead-time dependent | Ops lead / weekly |
| Stockout Rate | SKU-days with zero inventory ÷ total SKU-days | <2% for top SKUs; higher tolerance for tail SKUs | Ops lead / weekly |
| Production Adherence | Actual production ÷ planned production, unit-weighted | 95%+ target; below signals capacity or planning misalignment | Ops lead / weekly |
Financial metrics
The numbers that determine whether the operation is creating value.
| Metric | Formula / definition | Target range | Owner / cadence |
|---|---|---|---|
| Gross Margin (by channel) | Net revenue − COGS, per channel | DTC 60–70%, Amazon 25–45%, wholesale 15–35% — channel-specific | CFO / monthly |
| Contribution Margin (by channel) | Gross margin − channel-variable costs (fulfillment, ad spend, deductions) | DTC 40–55%, Amazon 20–35%, wholesale 10–30% | CFO / monthly |
| Cash Conversion Cycle | Days Inventory + Days Receivables − Days Payables | Category-dependent; 90–180 days typical for scaling CPG | CFO / monthly |
| Deductions % of Gross Wholesale | Total wholesale deductions ÷ gross wholesale invoice | 8–18% typical; goal is to disaggregate and reduce by category | CFO / monthly |
| Freight % of Revenue | Total inbound + outbound freight ÷ revenue | 5–12% typical; track by lane and mode | Ops lead / monthly |
Worked exampleFill rate — what the number actually means, worked live
Fill rate looks simple until a retailer sends the first chargeback that says otherwise. Below is the calculation as it appears on a real month for a mid-sized natural CPG brand.
Two definitions matter: unit fill rate (units shipped ÷ units ordered) and OTIF (on-time in-full — the retailer's own metric that punishes late or short deliveries).
Quality and risk metrics
What might break, and how well we're catching it before it does.
| Metric | Formula / definition | Target range | Owner / cadence |
|---|---|---|---|
| Damage Rate | Damaged units ÷ shipped units | <0.5% for parcel; <1% for LTL/pallet | Ops lead / monthly |
| Return Rate (DTC/Amazon) | Returned units ÷ shipped units | 2–8% for DTC; 3–10% for Amazon; category-dependent | Ops lead / monthly |
| Quality Escape Rate | Batches with quality issues ÷ total batches | <2% for a mature operation | Quality / monthly |
| Chargeback Rate (Retailer) | Chargeback $ ÷ gross wholesale $ per retailer | <1% for well-run wholesale ops; 3–5% signals systemic issue | Ops lead / monthly |
How the dashboard changes by growth stage
A pre-launch brand does not need a fill rate metric. A $30M brand cannot manage without one. Click through to see what to track — and what to ignore — at each stage.
Prove product-market fit
The metrics that matter at this stage are the ones that tell you whether the product is selling and whether you have cash to keep going. Everything else is premature.
- Track: sell-through velocity (units/store/week for wholesale; units/day for DTC), DTC/Amazon contribution margin, cash runway (weeks), damage rate.
- Ignore: forecast accuracy (no history yet), OTIF (no retailer count that matters), turns (inventory is too small to be meaningful).
- Common trap: building an elaborate dashboard before the product proves out. Discipline > sophistication.
Build repeatable operations
You have production rhythm, at least one distributor, and enough retailers that mistakes create pattern. Introduce a monthly planning meeting; hire (or outsource) the owner for each metric.
- Add: forecast accuracy (MAPE by SKU), fill rate (%), inventory turns, deductions % of gross wholesale, cash conversion cycle.
- Owner map: founder or COO owns forecast; planner or ops manager owns inventory + fill; controller owns cash cycle.
- Common trap: reading a single-month movement as a trend. Require three months before declaring a metric moved.
Manage complexity
Multi-DC, multi-retailer, multi-channel. The metrics stop being aggregates; they must decompose by retailer, by DC, by channel.
- Add: OTIF by retailer, chargeback rate by retailer/type, contribution margin by channel, forecast accuracy at SKU × DC level.
- Retire: blended metrics that hide the story. "Company fill rate is 96%" is fine — until you learn that Kroger fill rate is 88% and Kroger is 40% of gross.
- Common trap: proliferation of dashboards. Each metric needs a decision it triggers. If no decision changes, retire the metric.
Institutionalize discipline
All 15 core metrics live on a refreshed dashboard. Retailer-facing scorecards. Category-specific KPIs (velocity per doors, SPINS panel share, Amazon TACOS). Full ERP integration; automated data pipelines.
- Add: retailer-specific scorecards (Walmart Retail Link, Target POL, Amazon Vendor Central), category share metrics (SPINS, Circana, Numerator), Amazon TACOS by SKU.
- Governance: KPI review is a monthly executive rhythm; metric definitions have owners and change-control.
- Common trap: the dashboard becomes an artifact instead of a working document. Kill any metric no exec has referenced in a decision for 90 days.
Where each metric actually lives
Have the data but no dashboard? We build the KPI dashboard as part of Active Management retainers — metric selection, data pipelines, weekly review rhythm.
| Metric family | Source system(s) | Typical tools |
|---|---|---|
| Demand / forecast | DTC platform, Amazon Seller Central, SPINS/IRI, retailer portals | Shopify, Amazon Brand Analytics, SPINS, Cogsy, Streamline |
| Supply / inventory | ERP, WMS, 3PL portal, distributor portal | NetSuite, Cin7, Extensiv, 3PL Central, ShipBob, KeHE/UNFI portals |
| Financial | Accounting, ERP, deduction management | QuickBooks, NetSuite, Xero, PromoMash for deductions |
| Quality | Batch records, retailer scorecards, customer service tickets | Co-manufacturer batch reports, retailer scorecard portals, Gorgias / Zendesk |
When Logic gets involved
KPI engagements typically start when a founder or CFO realizes they have data but no decisions, when investor reporting starts requiring numbers no one currently tracks, or when growth exposes operational blind spots.
- KPI shortlist tailored to your stage, category, and channel mix
- Data-source mapping — where each number lives and how it flows
- Owner and cadence assignment
- Dashboard build (Google Sheets, Airtable, or purpose-built depending on stage)
- Weekly and monthly review rhythm establishment
- Quarterly KPI evolution review as the business grows
The operator's summary
- 15 metrics matter. Group them into demand, supply, financial, and quality buckets.
- Every KPI needs an owner, a cadence, a data source, and a target range.
- Target ranges shift with growth stage — pre-launch, $2–10M, $10–30M, $30M+.
- A dashboard that fits on one screen and updates automatically is worth more than a 40-metric report nobody reads.
- The KPI is the trigger for a decision. If it does not lead to a decision, it does not belong on the dashboard.