Segments

What it is

A segment is the customer's buying-behaviour pattern — not demographics, but how they buy. The segment influences which recommendation rules the engine prefers for the customer (e.g. a diet-locked customer is not casually offered substitutes).

The pet store segments

SegmentPattern
Routine repeaterbuys the same products at a steady rhythm
Diet lock-inthe pet is on a fixed diet (e.g. veterinary food) — brand/recipe must not switch lightly
Promo-elastic value seekeractivates primarily on offers
Premium pet-parentchooses the higher price and quality tier
Explorer / novelty buyerhappily tries new products and brands
Sensitive-care ownerspecial food/care needs (allergies, sensitive digestion)
Multi-pet householdpurchases for several animals (e.g. cat and dog together)
High-risk return / complainthistorically many returns or complaints — kept on conservative content

How to interpret it

  • The segment is derived from purchase history and carries a confidence level — a customer with little history may still shift.
  • Segment and engagement state are different things: the segment says how the customer buys, the state says how recently.
  • A customer with no purchases has no segment yet (cold start tier 0).

Common misreadings

  • "Can I reassign segments myself?" — not directly; the segment is the engine's computation. You can, however, create Smaily segments from Audience filters for campaign targeting — that is a separate layer under your control.

Brand loyalty

Every night the engine computes each customer's brand shares from the last 365 days of purchases: each brand's share of the customer's spend (only products carrying a brand tag count). The loyalty score (0–1) is the favourite brand's share, dampened when the customer has fewer than three brand-tagged orders — a single purchase does not make anyone loyal. A score ≥ 0.8 counts as brand-loyal.

The result syncs to the Smaily contact as rec_loyalty_brand_top (favourite brand) and rec_loyalty_score — you can build brand segments in Smaily on these fields (e.g. "everyone whose favourite brand is Brit Care").

Technical background

Definitions: industry-packs/pet/segments.yaml (8 segments, ET/EN labels, detection hints). Customer fields: customers.segment + segment_confidence. The segment is one of the scoring factors (spec §6.1-6.5 segmentBias). Brand loyalty: customers.loyalty_signals (brands + score), computed in the nightly calibration cron (line_total-weighted shares, 365 days; score = top share × min(1, orders/3)).

Last updated: 2026-07-07