Skip to content

Customer Lifecycle

Models the lifecycle of a Customer from anonymous visitor through registration, active engagement, and potential churn and reactivation. Central to CLV (Customer Lifetime Value) tracking and personalisation strategy. Applies across all channels: e-commerce, store, app.

Object: customer · States: 8 · Transitions: 12


State Diagram

flowchart LR

    %% ── classDef palette ─────────────────────────────────────
    classDef stInit  fill:#0d9488,stroke:#0f766e,color:#fff,font-weight:bold
    classDef stNorm  fill:#3b82f6,stroke:#2563eb,color:#fff
    classDef stOk    fill:#16a34a,stroke:#15803d,color:#fff,font-weight:bold
    classDef stFail  fill:#dc2626,stroke:#b91c1c,color:#fff,font-weight:bold
    classDef stHold  fill:#d97706,stroke:#b45309,color:#fff

    %% ── nodes ───────────────────────────────────────────────
    anonymous(["Anonymous"])
    identified["Identified"]
    registered["Registered"]
    active["Active"]
    at_risk["At Risk"]
    churned["Churned"]
    reactivated["Reactivated"]
    blocked[["Blocked"]]

    %% ── transitions ─────────────────────────────────
    anonymous -->|"customer-identified"| identified
    identified -->|"customer-registered"| registered
    anonymous -->|"customer-registered"| registered
    registered -->|"order-confirmed"| active
    identified -->|"order-confirmed"| active
    active -->|"customer-updated"| at_risk
    at_risk -->|"order-confirmed"| active
    at_risk -->|"customer-segment-assigned"| churned
    churned -->|"order-confirmed"| reactivated
    reactivated -->|"order-confirmed"| active
    active -->|"customer-updated"| blocked
    identified -->|"customer-merged"| registered

    %% ── class assignments ───────────────────────────
    class anonymous stInit
    class identified,registered,active,at_risk,churned,reactivated stNorm
    class blocked stOk

States

State Label Description Initial Terminal
anonymous Anonymous Visitor not yet identified. Browsing or in-session without authentication.
identified Identified Customer identity resolved (loyalty card scan, login, cookie match). Profile linked but not fully registered.
registered Registered Customer has a verified account with contact details and consent preferences.
active Active Customer has transacted within the engagement window. Receives personalised communications.
at-risk At Risk Engagement declining. Last purchase beyond churn-risk threshold. Win-back campaigns triggered.
churned Churned No engagement beyond churn threshold. Customer considered lost. Suppressed from regular comms.
reactivated Reactivated Previously churned customer has re-engaged (purchase, login, or campaign response).
blocked Blocked Account suspended due to fraud, abuse, or GDPR erasure request.

Transitions

From To Trigger Guards
anonymous identified customer-identified Identity resolved via loyalty card, login, or device fingerprint
identified registered customer-registered Email verified; Required consent captured
anonymous registered customer-registered Customer completes registration directly (no prior identification)
registered active order-confirmed First order placed and confirmed
identified active order-confirmed Guest checkout converted to identified customer with transaction
active at-risk customer-updated Days since last purchase exceeds at-risk threshold (configurable per segment)
at-risk active order-confirmed Customer transacts in response to win-back campaign or organic return
at-risk churned customer-segment-assigned Days since last purchase exceeds churn threshold
churned reactivated order-confirmed Purchase or meaningful engagement after churn period
reactivated active order-confirmed Second transaction within engagement window
active blocked customer-updated Fraud confirmed OR GDPR erasure request submitted
identified registered customer-merged Duplicate profile merged into master record