Content OS

Winback

Bring back customers who went quiet in the last six months, while the relationship is still warm.

Vertical: Program · Status: ⬜ Planned Back to Program · workflows index


Who it targets

A2 inactive base, 0-6 months since last activity. The shortest-lapse bucket - these customers still recognise the brand, so the message is a nudge rather than a reintroduction.

Trigger

Recency crossing the 0-month boundary, evaluated on a schedule. Exit on any qualifying activity, or on promotion to the 6-month Closure bucket.

Flow

select inactive 0-6m  ->  segment by last product held
        |
suppress: opted out - in collections - active complaint
        |
generate message per cohort        [Creative Agent, pointed at a segment]
        |
compliance review                  [Compliance Agent, outbound framing]
        |
dispatch: WA - SMS - App push      [A5 dispatcher - not an agent]
        |
measure re-activation vs control

Data it needs

NeedsHave
Last activity date per customer⬜ no CRM
Product held at lapse
Contact consent + DND status
Channel reachability
Holdout/control group

Agents involved

Creative Agent for the copy - Compliance Agent for outbound review - Segmentation Agent (proposed) to define the cohort.

Blocked on

CRM integration and the BTL channel layer - neither started.

Roadmap source

Page 2 - A2 Inactive -> Winback - 0-6m — see roadmap_ref_extracted.md.


Design notes

  • A control group is not optional. Lapsed customers reactivate on their own; without a holdout you will attribute organic returns to the campaign.
  • Suppression before creative. Cheaper to exclude than to generate and discard, and a message to someone in collections is a complaint waiting.
  • Frequency capping must be shared across all Program workflows - a customer can qualify for Winback and Cross Sell in the same week.
Source: roadmap/workflows/program/winback/README.md