Skip to main content

ABC/XYZ Analysis & Product Grading

Synplex classifies every variant with two independent grades: an ABC grade based on revenue contribution, and an XYZ grade based on demand predictability. Together they form a combined score like A/X or C/Z that tells you both how important a product is and how reliably you can forecast it.


ABC grading

What it measures

ABC grades rank every variant in your shop by its share of total net revenue over the configured lookback period. The ranking is relative — every variant is compared against every other variant in the same shop in a single pass.

How it is calculated

  1. Each variant's total net revenue is summed over the lookback period
  2. All variants are sorted by revenue, highest first
  3. Cumulative revenue percentage is calculated as each variant is added to the running total
  4. Grades are assigned by where each variant falls in the cumulative distribution:
GradeAssigned when cumulative revenue share reaches…Default threshold
AUp to the A threshold80% (abcxyzSchema.A = 0.8)
BBetween A threshold and A+B thresholdNext 15% (abcxyzSchema.B = 0.15)
CEverything beyond A+B thresholdBottom 5%
Example: If your shop generates £100,000 in total revenue, the variants that together
account for the first £80,000 (sorted highest to lowest) are Grade A. The variants
accounting for the next £15,000 are Grade B. The remaining variants are Grade C.

What ABC grading always uses

Products are ranked A, B, or C based on their share of total net revenue over a configurable lookback period. There is no option to grade by profit or quantity. The thresholds (A and B percentages) are configurable; the grading variable is not.

Excluded variants

Variants are excluded from ABC grading and receive a null grade if any of the following apply:

  • The inventory item is not tracked in Shopify
  • The product has been marked as excluded in Synplex
  • The product has variants that require BOM components (assembly products)

Excluded variants do not affect the cumulative revenue calculation for other variants.

Configuring ABC thresholds

Go to Settings → Insight Settings → Grading to adjust the A and B thresholds. The values must be decimals that sum to less than 1.0 (the remainder becomes the C bucket).

SettingDefaultEffect
Grade A threshold0.80Variants accounting for the top 80% of revenue
Grade B threshold0.15Variants accounting for the next 15% of revenue
Grades recalculate on the nightly scheduled run.

XYZ grading

What it measures

XYZ grades classify how predictable a variant's demand is, by comparing recent sales velocity to the historical average. A product can be Grade A (high revenue) but Grade Z (erratic demand), which means it is important but hard to plan for.

How it is calculated

  1. demandVariability = |1 − (7-day daily sales rate ÷ historical daily sales rate)|
  2. This measures how far recent demand has deviated from the historical baseline as a ratio
  3. Grades are assigned against configurable thresholds:
GradeMeaningAssigned when demandVariabilityDefault threshold
XStable, predictable demand≤ X threshold0.30
YVariable demand, some pattern≤ Y threshold0.50
ZErratic or unpredictable demand> Y threshold
Example: A variant with a historical rate of 10 units/day and a 7-day rate of 8
units/day has `demandVariability =1 − 0.8= 0.20`. At the default thresholds, this
is Grade X (stable).

A variant with a historical rate of 10 units/day and a 7-day rate of 16 units/day has demandVariability = |1 − 1.6| = 0.60. This is Grade Z (erratic).

Configuring XYZ thresholds

Go to Settings → Insight Settings → Grading to adjust the X and Y thresholds.

SettingDefaultEffect
X threshold0.30Demand within 30% of historical average → X
Y threshold0.50Demand within 50% of historical average → Y

The combined ABC/XYZ score

Every non-excluded variant gets a combined score stored as abcxyzEvaluation, for example A/X, B/Y, or C/Z. This gives you a two-dimensional view of your catalogue:

X (stable)Y (variable)Z (erratic)
A (high revenue)Plan tightly, hold higher safety stockPlan carefully, monitor closelyImportant but unpredictable — hold buffer, review forecasts often
B (mid revenue)Standard managementStandard management with monitoringWatch for demand shifts
C (low revenue)Low priority, lean stockLow priorityCandidate for discontinuation review

How ABC/XYZ grades are used in Synplex

  • Inventory table — filter and sort by ABC or XYZ grade
  • Saved views — create a view for Grade A variants to monitor daily
  • Alerts — configure alerts to fire specifically for Grade A variants
  • Demand anomaly signal — the XYZ grade works alongside the per-location demand anomaly score (a sigma-based spike/drop signal) to give you two independent demand stability indicators

When grades update

ABC and XYZ grades recalculate on the nightly scheduled run. They are not updated by Shopify syncs or by Refresh Metrics. Because ABC ranking is shop-wide, a single variant's grade can change when other variants' revenue changes — not just its own.