MWMS Audience State Transition Rules

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