MANDATORY before any threshold calculation that references AOV. Raw AOV can be misleading due to data issues or bulk purchases.
Extract price_p25 and price_p50 from catalog_stats (use the "All Products" category group).
Evaluate AOV against catalog price distribution:
| Condition | Interpretation | Action |
|---|---|---|
| AOV < price_p25 | Anomalous — likely a data or unit issue | Override: use price_p50 as base. Note in reasoning. |
| AOV > price_p90 | Possible bulk/combo orders | Still use AOV but note discrepancy. |
| price_p25 <= AOV <= price_p90 | Reasonable | Use AOV as-is. |
effective_aov. Use effective_aov everywhere AOV would be referenced — backup rate calibration, shipping thresholds, free shipping thresholds.Rate types are determined by the conditions array, not by an explicit field.
| Rate Type | Configuration |
|---|---|
| Flat rate | conditions[] empty, just amount |
| Free shipping | amount = "0" with optional BY_TOTAL_PRICE GTE [threshold] |
| Weight-based tiers | BY_TOTAL_WEIGHT conditions |
| Price-based tiers | BY_TOTAL_PRICE conditions |
| Quantity-based | BY_TOTAL_QUANTITY conditions |
Supported operators: EQ, GT, GTE, LT, LTE.
When multiple conditions appear in the same rate entry, they combine with AND logic.
Optimal range: effective_aov x 1.0 to effective_aov x 1.5
| Scenario | Impact |
|---|---|
threshold > AOV x 2 | Too high -- customers rarely qualify |
threshold < AOV x 0.8 | Too low -- potential margin erosion |
Enhanced calibration using catalog stats:
price_p75 > aov x 1.5 then use price_p50 x 1.5price_p75 < aov then use aov x 1.2max(aov x 1.2, price_p75)multiplyByQuantity = true charges amount x cart quantity. Always flag this configuration and recommend switching to flat rate or tiered pricing instead.
Recommend switching from flat to tiered rates when ALL of the following are true:
price_spread_ratio > 10price_stddev > price_avg x 0.5Recommended tier structure:
When ALL of the following are true, flat rate is optimal and no change is needed:
price_spread_ratio <= 3price_stddev < price_avg x 0.3Sort all conditions by value and look for gaps between ranges. Gaps mean some cart totals have no matching rate, which can cause checkout failures.
Any rate amount > AOV x 0.15 (15% of average order value) should be flagged as a cart abandonment risk.