Document Type: Specification
Status: Active
Version: v1.1
Authority: Affiliate Brain (Audience Logic Layer)
Applies To: Audience state transition logic, engagement scoring, qualification rules, downgrade behavior, and audit requirements
Parent: Audience State Progression Schema
Last Reviewed: 2026-03-14
Purpose
This document defines the canonical state transition logic for the Audience Engine.
It is the single source of truth for:
• which events qualify for progression
• minimum thresholds required
• score adjustments
• downgrade and decay behavior
• audit traceability rules
This page does not execute automatically.
Execution is handled later by a derivation job, which is a separate layer.
Scope
This specification applies to:
• audience state-entry logic
• engagement score rules
• anti-inflation qualification rules
• retention-triggered downgrade behavior
• state-change audit requirements
• progression constraints across audience stages
This document governs how audience state changes are logically determined.
It does not govern:
• raw event validation by itself
• SQL scheduler implementation
• RLS implementation
• direct campaign execution
• capital allocation
• Velocity decisions
Those remain governed by related audience infrastructure and broader MWMS governance documents.
Definition / Rules
Canonical States (Ordered)
The canonical audience states are:
• S0 — Anonymous Visitor
• S1 — Engaged Viewer
• S2 — Repeat Consumer
• S3 — Subscriber
• S4 — Advocate
• S5 — Core Asset (High Value)
State progression must be monotonic unless a retention downgrade rule triggers.
Engagement Score Model (Baseline)
engagement_score is cumulative but bounded by decay.
Default score increments:
• content_view (qualified) = +1
• scroll_depth_75 = +2
• video_completion_75 = +3
• long_form_completion = +4
• multi_internal_click (at least 3 pages) = +2
• repeat_session_30d = +3
• email_subscribe = +6
• asset_download = +4
• content_share = +5
• referral_click = +4
• comment_repeat = +3
Score is never modified by system category events.
Qualification Rules (Anti-Inflation)
A content_view is qualified only if:
• duration_seconds >= 20
or
• scroll_depth_percent >= 30
Otherwise it is ignored for scoring.
State Entry Rules
S0 → S1
Anonymous Visitor → Engaged Viewer
Any one of the following triggers:
A. scroll_depth_75
B. video_completion_75
C. long_form_completion
D. engagement_score >= 5 within 7 days
Required metadata:
• content_id or page_path
• session_id
S1 → S2
Engaged Viewer → Repeat Consumer
Any one of the following triggers:
A. repeat_session_30d
B. engagement_score >= 12 within 30 days
C. at least 3 qualified content_view events across at least 2 sessions
Required metadata:
• session history proof
• at least one attribution record if traffic is paid
S2 → S3
Repeat Consumer → Subscriber
Triggers:
A. email_subscribe with consent_recorded = true
or
B. asset_download with consent_recorded = true and channel = email
Required metadata:
• channel
• consent_recorded = true
S3 → S4
Subscriber → Advocate
Any one of the following triggers:
A. content_share, platform required
B. referral_click, outbound_target required
C. comment_repeat >= 2 within 30 days
Required metadata:
• platform
• share_type
• outbound_target, if referral
S4 → S5
Advocate → Core Asset
Triggers:
Must meet at least 2 conditions within 60 days:
• at least 3 advocacy events (share, referral, comment_repeat)
• engagement_score >= 35
• repeat_session_30d occurs at least 2 times
• subscriber tenure at least 30 days, state maintained
Required metadata:
• event timestamps
• tenure tracking via state_updated_at
Retention Downgrade Rules (Decay)
Downgrades are system-triggered only through retention events.
Rule R1 — Subscriber Inactivity
If user is in S3 and inactivity_days >= 45:
S3 → S2
Required metadata:
• prior_state = S3
• new_state = S2
• inactivity_days
• rule_id = R1
Rule R2 — Advocate Inactivity
If user is in S4 and inactivity_days >= 60:
S4 → S3
Required metadata:
• rule_id = R2
Rule R3 — Core Asset Inactivity
If user is in S5 and inactivity_days >= 75:
S5 → S4
Required metadata:
• rule_id = R3
Rule R4 — Hard Decay Floor Protection
No user may decay below S1 unless:
• identity is unknown, user_id is null
and
• inactivity_days >= 90
This prevents artificial audience collapse from normal engagement cycles.
State Change Audit Requirements
Every state change must record:
• prior_state
• new_state
• triggering event_type or retention rule_id
• state_updated_at
• reference session_id, if session-triggered
No silent state changes are permitted.
Drift Protection
The system must block:
• state upgrades from unqualified views
• subscriber classification without consent_recorded = true
• advocacy without outward platform evidence
• manual downgrades without rule_id
• system events modifying engagement_score
• skipping states, for example no S0 → S3 jump
Audience state logic must remain strict, sequential, and auditable.
Next Layer (Not Included Here)
To execute these rules later, the following supporting layers will be built separately:
• Audience Derivation Job Spec, trigger-based or scheduled
• Event Validation Contract, to reject invalid events
• State Update SQL Function, service_role only
Architectural Intent
Audience State Transition Rules exists to ensure that audience progression inside MWMS is determined by measurable, non-inflated, and governance-safe logic.
Its role is to turn audience behavior into a reliable state model that can support future analysis, leverage measurement, and advocacy tracking without collapsing into vanity metrics or manual interpretation.
Change Log
Version: v1.1
Date: 2026-03-14
Author: MWMS HeadOffice / Affiliate Brain
Change: Rebuilt page to align with MWMS document standards. Removed duplicated title text, added standardised document header, replaced legacy metadata with compliant structure, introduced Purpose / Scope / Definition / Rules format, normalised state and rule formatting, and preserved the original state-order logic, engagement scoring, qualification rules, retention downgrades, and audit requirements.
Version: v1.0
Date: 2026-02-25
Author: Affiliate Brain
Change: Initial creation of Audience State Transition Rules defining canonical audience states, engagement score model, qualification rules, state entry logic, retention downgrade rules, audit requirements, and deferred execution-layer dependencies.
END – AUDIENCE STATE TRANSITION RULES v1.1