> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vortexiq.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Store Health Score, Shopify

> Composite of refund rate, fulfillment rate, OOS count, and 30D revenue trend. The single number a store-owner glances at. How to read it, why it matters, a...

**Metrics type:** [Supporting Metrics](/nerve-centre/overview#metrics-types-explained)  •  **Category:** [Ecommerce Platform](/nerve-centre/connectors#connectors-by-type)

> 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**    |

Six things to notice:

1. **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.
2. **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.
3. **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.
4. **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*.
5. **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.
6. **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](/nerve-centre/kpi-cards/shopify/revenue-over-time)                                 | Revenue trend component; the 30D vs prior-30D delta.                    |
| [Total Revenue](/nerve-centre/kpi-cards/shopify/total-revenue)                                         | The aggregate the trend is computed from.                               |
| [Fulfillment Rate](/nerve-centre/kpi-cards/shopify/fulfillment-rate)                                   | The fulfillment-rate component.                                         |
| [Refund Rate](/nerve-centre/kpi-cards/shopify/refund-rate)                                             | The refund-rate component (inverted: lower refund rate = higher score). |
| [Products with Zero/Negative Stock](/nerve-centre/kpi-cards/shopify/products-with-zero-negative-stock) | The OOS-count component (inverted).                                     |
| [OOS Spike Alert](/nerve-centre/kpi-cards/shopify/oos-spike-alert)                                     | Acute OOS anomaly that pulls the OOS component sharply down.            |
| [Refund-Rate Spike Alert](/nerve-centre/kpi-cards/shopify/refund-rate-spike-alert)                     | Acute refund anomaly; pulls the refund component down.                  |
| [Fulfilment Delay Alert](/nerve-centre/kpi-cards/shopify/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.

**Why our number may legitimately differ from app-based health scores:**

| 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.                                                                                    |

**Cross-connector reconciliation:**

| 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. |

***

<details>
  <summary><em>Documentation cross-reference (for agencies running multiple platforms)</em></summary>

  * [`bigcommerce.shp_store_health`](/nerve-centre/bigcommerce/shp_store_health)
  * [`adobe_commerce.shp_store_health`](/nerve-centre/adobe_commerce/shp_store_health)
</details>

## 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:

1. **Revenue trend** dropped: check [Revenue Over Time](/nerve-centre/kpi-cards/shopify/revenue-over-time). Real revenue dip or sync issue?
2. **Fulfillment rate** dropped: check [Fulfillment Rate](/nerve-centre/kpi-cards/shopify/fulfillment-rate). Stockouts, 3PL, or warehouse issue?
3. **Refund rate** rose: check [Refund Rate](/nerve-centre/kpi-cards/shopify/refund-rate). Quality, sizing, or fraud event?
4. **OOS count** rose: check [Products with Zero/Negative Stock](/nerve-centre/kpi-cards/shopify/products-with-zero-negative-stock). Sync glitch or real depletion?

**Why is my score consistently below 70?**
Three usual causes:

1. **Naturally high refund / low fulfillment category**: clothing brands with 25%+ refund rates score lower on the default refund weighting. Re-tune weights.
2. **Persistent stockout pattern**: chronic under-stocking. Address with safety-stock policy.
3. **Stagnant revenue**: flat or declining trend penalises the score. Evaluate growth strategy.

**Can I customise the score?**
Yes:

* **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.

**Why doesn't the score include conversion rate?**
Conversion rate isn't reliably available from Shopify webhooks (requires session-level data from GA4 or similar). Future versions will incorporate when CR connector is integrated.

**Should I obsess over the score?**
No. The score is a glance-tool. The components are the actionable diagnostics. A score going from 82 to 81 isn't a story; a single component going from 90 to 60 is. Focus on the components.

**My subscription store, does the score behave differently?**
Subscription-heavy stores typically score higher because:

* 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).

This isn't a flaw; subscription brands are operationally healthier on these dimensions.

**My multi-store setup, do scores aggregate?**
Each store has its own score; not aggregated across stores. On the cross-store roadmap. For now, monitor each store individually; if you have 3 stores at 75/80/65, the 65 deserves attention.

**Action playbook for using the Health Score:**

1. **Daily**: glance at the score. If unchanged, move on. If down >5 points week-over-week, drill in.
2. **Weekly**: review all four components even if score is stable. A balanced 80 may hide a 60-component on the verge of breakdown.
3. **Monthly**: review weights. Are they still relevant to your business priorities?
4. **Quarterly**: review threshold. Is \<70 still the right alert level?
5. **For team-wide alignment**: use the score as a shared north star. Operations, marketing, finance all see the same number; conversations get aligned.

***

### Tracked live in Vortex IQ Nerve Centre

*Store Health Score* is one of hundreds of KPI pulses Vortex IQ tracks across Shopify and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English.

[Start for free](https://app.vortexiq.ai/login) or [book a demo](https://www.vortexiq.ai/contact-us) to see this metric running on your own data.
