Composite of refund rate, fulfillment rate, OOS count, and 30D revenue trend. The single number a store-owner glances at.
At a glance
A composite 0-100 score blending refund rate, fulfillment rate, OOS count, and 30D revenue trend. The single number a store-owner glances at on Monday morning to know whether to celebrate, investigate, or fix.
| What it counts | Weighted blend, default weights: 30% revenue trend, 25% fulfillment rate, 25% refund rate (inverse), 20% OOS count (inverse). Each component normalised to 0-100 before weighting. |
| VAT / tax treatment | Not applicable directly; underlying components inherit their own treatment. |
| Shipping | Not applicable directly. |
| Discounts | Not applicable directly. |
| Refunds | Component metric. |
| Cancelled / voided orders | Affect the underlying fulfillment-rate component. |
| Currency | Multi-currency safe (composite is unitless). |
| Channels / sources | All channels contribute via the underlying components. |
| Time window | RT (real-time, components refresh on their native cadences). |
| Alert trigger | <70 triggers a sentiment alert. Configurable. |
| Roles | owner, marketing, operations |
Calculation
Calculated automatically from your Shopify data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.Worked example
A UK lifestyle brand on Shopify Plus. Snapshot 12 May 26.| Component | Raw value | Normalised score (0-100) | Weight | Contribution |
|---|---|---|---|---|
| Revenue trend (30D vsP) | +4.2% growth | 78 | 30% | 23.4 |
| Fulfillment rate | 93.1% | 88 | 25% | 22.0 |
| Refund rate | 7.1% (vs 8% target) | 81 | 25% | 20.25 |
| OOS count (active variants) | 18 (within 2σ baseline) | 82 | 20% | 16.4 |
| Composite Health Score | 82.05 |
- 82 is healthy. The default thresholds: ≥85 excellent, 70-84 healthy, 60-69 watching, <60 problem. Most well-run stores hover 75-85 most of the time.
- The score hides bad news. A score of 82 with one component at 60 and three at 90 is meaningfully different from four components at 82. Always drill into the components, especially when the score moves more than 5 points week-over-week.
- A drop in any one component below 60 should prompt drill-down. Even if the composite stays >70, an outlier component is a fire. Set alerts on each component individually for resilience.
- The weights are configurable. A logistics-heavy DTC brand might prefer 40% fulfillment, 30% refunds, 20% revenue, 10% OOS. A growth-stage brand might prefer 50% revenue, 25% refunds, 15% fulfillment, 10% OOS. Tune in Nerve Centre → Health Score Weights.
- The score is RT. Components refresh on their native cadences (5-min for OOS, hourly for refunds, daily for fulfillment, hourly for revenue). The composite recalculates whenever any component updates.
- The score doesn’t replace the components. It surfaces “is something wrong?” but never “what’s wrong?”. Always click through to the breakdown.
Sibling cards merchants should reference together
The Health Score is the composite. The four components and their families:| Card | Why pair it with Store Health Score |
|---|---|
| Revenue Over Time | Revenue trend component; the 30D vs prior-30D delta. |
| Total Revenue | The aggregate the trend is computed from. |
| Fulfillment Rate | The fulfillment-rate component. |
| Refund Rate | The refund-rate component (inverted: lower refund rate = higher score). |
| Products with Zero/Negative Stock | The OOS-count component (inverted). |
| OOS Spike Alert | Acute OOS anomaly that pulls the OOS component sharply down. |
| Refund-Rate Spike Alert | Acute refund anomaly; pulls the refund component down. |
| Fulfilment Delay Alert | Acute fulfillment-state anomaly. |
Reconciling against the vendor’s own dashboard
Where to look in Shopify Admin: Shopify doesn’t expose a composite store-health score; the closest is the Home dashboard with separate tiles for sales, orders to fulfil, inventory alerts. Reconstruct manually by reviewing each component report. Apps that produce composite-style health scores:- Glew, Polar Analytics: produce their own dashboard health scores; methodology differs.
- Shopify’s “Sales over time” with multiple tiles: assemble manually.
| Reason | Direction | Why |
|---|---|---|
| Component weights | Either | Each tool weights components differently; no industry standard. Vortex IQ defaults are based on observed common-sense priorities; configurable. |
| Component definitions | Either | ”Refund rate” can mean count-rate or value-rate; “fulfillment rate” can include or exclude partials. Audit the component-by-component definitions. |
| Time windows | Either | We use 30D for revenue trend, RT for OOS, 30D for fulfillment, 30D for refund. Different windows produce different scores. |
| Normalisation curves | Either | Mapping raw % to 0-100 score requires a non-linear curve. Different methods produce different scores even with same raw inputs. |
| Sync lag | Ours lower for “right now” | Components have their own sync lag; composite inherits longest. |
| Card | Expected relationship | What causes legitimate divergence |
|---|---|---|
| Cross-platform health scores | No reconciliation | Each platform’s health score uses its own components and weights; not directly comparable. |
Known limitations / merchant FAQs
My score dropped from 85 to 70 overnight. What happened? A composite drop of 15 points usually means one component went sharply south. Drill into the four components:- Revenue trend dropped: check Revenue Over Time. Real revenue dip or sync issue?
- Fulfillment rate dropped: check Fulfillment Rate. Stockouts, 3PL, or warehouse issue?
- Refund rate rose: check Refund Rate. Quality, sizing, or fraud event?
- OOS count rose: check Products with Zero/Negative Stock. Sync glitch or real depletion?
- Naturally high refund / low fulfillment category: clothing brands with 25%+ refund rates score lower on the default refund weighting. Re-tune weights.
- Persistent stockout pattern: chronic under-stocking. Address with safety-stock policy.
- Stagnant revenue: flat or declining trend penalises the score. Evaluate growth strategy.
- Weights: in Nerve Centre → Health Score Weights. Change which component matters most.
- Component swap: replace OOS with a different component (cancellation rate, NPS, etc) on roadmap.
- Threshold: alert level <70 default; lower to <65 for more-tolerant brands or raise to <80 for stricter monitoring.
- Revenue trend is more stable (recurring billing absorbs noise).
- Fulfillment rate is higher (subscription fulfilment is operationally smoother).
- Refund rate is lower (subscribers pre-committed).
- Daily: glance at the score. If unchanged, move on. If down >5 points week-over-week, drill in.
- Weekly: review all four components even if score is stable. A balanced 80 may hide a 60-component on the verge of breakdown.
- Monthly: review weights. Are they still relevant to your business priorities?
- Quarterly: review threshold. Is <70 still the right alert level?
- For team-wide alignment: use the score as a shared north star. Operations, marketing, finance all see the same number; conversations get aligned.