Cold start
What it is
Cold start is the engine's strategy for customers it knows little about. Instead of leaving a new customer without recommendations (or serving them something random), personalisation grows in stages: the more purchases, the more personal the picks become.
How it is computed
Every customer is in one of four tiers based on purchase count (updated nightly):
| Tier | Customer history | What they get |
|---|---|---|
| 0 | no purchases | the store's most popular products; species-specific items (cat/dog) are excluded until the pet's species is known |
| 1 | 1 purchase | products that complement the first purchase's category + top items from the same and adjacent categories |
| 2 | 2-3 purchases | hybrid: half segment knowledge, half rules; no experimental picks yet |
| 3 | 4+ purchases | full personalisation: buying cadence, segment, all calibrations |
If the customer has an active trigger (e.g. a replenishment window, a winback signal, a seasonal window), trigger-driven picks take the first slots in every tier — the tier only decides how the remaining slots are filled.
How to interpret it
- If a large share of customers have "bestseller-based" picks, that is not a bug — it reflects the depth of purchase history in your customer base. Many stores have most contacts with no purchase or one old purchase.
- The tier looks at purchase count; engagement state looks at recency of the last purchase — two different axes. A customer can be tier 3 (many purchases) and dormant (purchases long ago) at the same time.
- Any species signal moves a customer out of tier 0 faster: store-plugin browse data or the first purchase.
Common misreadings
- "Why do two different customers get the same products?" — if both are in tier 0, they get a similar popularity-based selection (with light rotation). This changes with the first purchase/browse signal.
- "A cat owner got a dog product" — in tier 0 the engine offers species-neutral categories (transport, grooming etc.) or a balanced mix until the species is known. If the species IS known and it still happens, tell the operator.
Technical background
Tier: customers.cold_start_tier (0-3), spec §6.11. Tier 0 excludes
species-specific categories until inferred_species is known (§6.12);
non-recommendable products (gift cards, test articles) are filtered by
catalog.recommendable on all paths. A product the customer returned in the
last 180 days is likewise excluded on all paths — a substitute (a different
product) stays allowed. A fully refunded order counts as a return: when the
store sends an order with status refunded, the engine treats every line of
that order as returned (dated at the order's own date). Partial returns have to
be sent line by line by the store. Recommendation rotation: reissue
threshold 7 days (spread ±2 days per customer, so a large group doesn't
refresh all at once on one night) / demotion 35 days.
Last updated: 2026-07-11