Skip to main content
Scenario Arena Run

Season Ticket Renewals

6e758c4e-bfe8-4e45-9cc3-72e2c8d81685

completed

All runs, fan cohorts, and outcomes shown here are produced by an autonomous synthetic simulation. No real teams, fans, or data are represented. This is a read-only view of persisted simulation output. Nothing on this page can be edited, approved, or promoted.

How to read this simulation

This page is an audit trail for one autonomous synthetic arena run. A strategy bot is stepping through a simulated season-ticket renewal scenario. Each tick is one saved simulation step. On each tick, the bot may take an action, fan cohorts react, KPI snapshots are persisted, and the updated run state is saved for the next cron or manual tick.

What happens on each tick?

  1. The run is claimed.
  2. The strategy bot reads the current scenario state.
  3. The bot applies deterministic strategy rules.
  4. One action is recorded.
  5. Each synthetic persona cohort reacts.
  6. KPI snapshots are saved.
  7. The updated run state is persisted for the next tick.
Glossary
Strategy Bot
The deterministic, rule-based program stepping through this scenario. Its decisions come from fixed configuration, not generated text.
Tick
One persisted simulation step. A 12-tick run is divided into 12 steps, advanced one at a time by a cron job or a manual smoke test.
Action
The single move the strategy bot made on a given tick: for example, sending a renewal offer or staying quiet for a cadence gap.
KPI Snapshot
A measurement (such as renewal rate or revenue attributed) recorded after a tick completes, so the run has a full time series, not just a final score.
Cohort State
The simulated state of one fan persona group after a tick: engagement, churn risk, and renewal likelihood at that point in the run.
Renewal Likelihood
The simulated probability, from 0–100, that a persona renews by the end of the run.
Reaction
A label describing how a cohort simulated responding to the latest action: for example, interested, ignored, or churn_risk_increased.
Synthetic Disclosure
A statement confirming that all personas, reactions, and metrics on this page are generated by simulation, not collected from real fans or real campaigns.

Latest Tick Summary

Latest Tick

12 / 12

Latest Action

Urgency Touch

Season Ticket Renewal Rate

59%

Win-Back Journey Revenue Attributed

$265,704

Average Days to Renewal (At-Risk Cohort)

49 days before deadline

Renewal Rate - Founding Loyalist Persona

80%

All values above are synthetic simulation outputs, not real fan or revenue data.

Admin Control Panel

The controls below are the Scenario Arena admin surface. Pause / Resume, Advance 1 Tick, and Queue Variable Change are wired to real requests — all three are protected server-side and require an ARENA_ADMIN_SECRET header, which this panel sends only when you submit one of those controls. Queue Variable Change is audit-only — it records an audit event and does not change simulation behavior yet. Every other control below remains a preview or is not yet implemented; wiring them up is deferred to follow-up PRs.

Secret is held only in this browser component state and is not persisted. It is never written to localStorage, sessionStorage, a cookie, or a log. It is sent only as the x-arena-admin-secret header when you click Pause, Resume, or Advance 1 Tick, or submit Queue Variable Change.

○ Locked — enter a secret to unlock Pause/Resume, Advance 1 Tick, and Queue Variable Change

Pause / Resume

Pauses or resumes this run so the tick cron skips or resumes claiming it. Current state: not paused.

POST /api/arena/runs/6e758c4e-bfe8-4e45-9cc3-72e2c8d81685/control

Advance 1 Tick

Manually runs one deterministic tick for this run, outside the cron schedule. Current tick: 12 / 12.

POST /api/arena/runs/6e758c4e-bfe8-4e45-9cc3-72e2c8d81685/tick

Queue Variable Change

Records an audited request to change scenario variables. Audit event only — this does not change simulation behavior yet.

POST /api/arena/runs/6e758c4e-bfe8-4e45-9cc3-72e2c8d81685/variable-events

Advance N Ticks

Advance several ticks in one request. Not yet implemented.

Run to Completion

Advance every remaining tick until the run completes. Not yet implemented.

Operator Event Timeline

These events show admin/operator interventions made during the synthetic run. They do not represent fan behavior. They explain when the simulation was paused, resumed, manually advanced, or when future variable changes were queued.

Control Events (pause / resume / manual tick)

Control event legend: what each label means
Pause (pause)
An operator paused this run, blocking the cron claim pool from advancing it further.
Resume (resume)
An operator resumed a paused run, making it claimable by the cron claim pool again.
Manual Tick (manual_tick)
An operator manually advanced this run by exactly one tick, outside the normal cron schedule.
Manual Tick Batch (manual_tick_batch)
An operator manually advanced this run by more than one tick in a single request.
Run to Completion (run_to_completion)
An operator manually advanced this run to its final tick.
EventOccurredActorDetails
PauseJun 30, 2026, 11:33 PMschema-smoke-testPreviously paused at: not paused.

Variable-Change Events (queued, audit-only)

These are audit records of requested variable changes. They record intent only: the current control endpoint does not apply changes to bot behavior, so every row below is an audit event, not a state change.

TickOccurredChanged ByDetailsStatus
0Jun 30, 2026, 11:33 PMschema-smoke-test

Variable set: none → schema-smoke-test-variable-set

Reason: schema smoke test

Audit event only

Strategy Bot

Renewal Bot Beta

Runs the 90-Day Persona-Specific Win-Back Journey variable set: intervention starts 90 days out with persona-specific offers (family pack, corporate hospitality, women's team bundle, concert bundle) and payment plans. The FanSignal OS intervention.

Tick Progress

12 / 12

A tick is one persisted simulation step, not a real-world day, email, or fan interaction. Vercel Cron advances ticks automatically in production; manual smoke tests can also advance one. The final tick can complete the run and create a draft synthetic case study. Nothing is promoted automatically.

Created

Jun 30, 2026, 8:13 PM

Completed

Jun 30, 2026, 8:17 PM

KPI Snapshot Timeline

How to read this table: each row is one KPI measurement recorded after a tick completed. The same KPI reappears once per tick it was measured, so reading a single KPI top-to-bottom shows how that metric moved over the course of the run.

TickKPIValue
1Average Days to Renewal (At-Risk Cohort)36 days before deadline
1Renewal Rate - Founding Loyalist Persona79%
1Season Ticket Renewal Rate59%
1Win-Back Journey Revenue Attributed$78,314
2Average Days to Renewal (At-Risk Cohort)78 days before deadline
2Renewal Rate - Founding Loyalist Persona79%
2Season Ticket Renewal Rate60%
2Win-Back Journey Revenue Attributed$84,803
3Average Days to Renewal (At-Risk Cohort)78 days before deadline
3Renewal Rate - Founding Loyalist Persona79%
3Season Ticket Renewal Rate60%
3Win-Back Journey Revenue Attributed$81,411
4Average Days to Renewal (At-Risk Cohort)78 days before deadline
4Renewal Rate - Founding Loyalist Persona79%
4Season Ticket Renewal Rate60%
4Win-Back Journey Revenue Attributed$80,075
5Average Days to Renewal (At-Risk Cohort)78 days before deadline
5Renewal Rate - Founding Loyalist Persona79%
5Season Ticket Renewal Rate60%
5Win-Back Journey Revenue Attributed$76,872
6Average Days to Renewal (At-Risk Cohort)55 days before deadline
6Renewal Rate - Founding Loyalist Persona79%
6Season Ticket Renewal Rate60%
6Win-Back Journey Revenue Attributed$85,805
7Average Days to Renewal (At-Risk Cohort)55 days before deadline
7Renewal Rate - Founding Loyalist Persona79%
7Season Ticket Renewal Rate60%
7Win-Back Journey Revenue Attributed$82,372
8Average Days to Renewal (At-Risk Cohort)49 days before deadline
8Renewal Rate - Founding Loyalist Persona80%
8Season Ticket Renewal Rate61%
8Win-Back Journey Revenue Attributed$145,115
9Average Days to Renewal (At-Risk Cohort)49 days before deadline
9Renewal Rate - Founding Loyalist Persona80%
9Season Ticket Renewal Rate61%
9Win-Back Journey Revenue Attributed$139,310
10Average Days to Renewal (At-Risk Cohort)49 days before deadline
10Renewal Rate - Founding Loyalist Persona80%
10Season Ticket Renewal Rate61%
10Win-Back Journey Revenue Attributed$291,233
11Average Days to Renewal (At-Risk Cohort)49 days before deadline
11Renewal Rate - Founding Loyalist Persona80%
11Season Ticket Renewal Rate60%
11Win-Back Journey Revenue Attributed$276,775
12Average Days to Renewal (At-Risk Cohort)49 days before deadline
12Renewal Rate - Founding Loyalist Persona80%
12Season Ticket Renewal Rate59%
12Win-Back Journey Revenue Attributed$265,704

Action Timeline

Action legend: what each label means
Intervention Start (intervention_start)
The first outreach of the run, introducing the renewal offer to every fan cohort.
Cadence Touch (cadence_touch)
A regularly scheduled touch sent between the intervention start and the deadline.
Quiet Tick (quiet_tick)
No outreach this tick — the campaign's cadence intentionally skipped this step.
Service Recovery (service_recovery)
A mid-run touch aimed at repairing trust with fans flagged for service recovery.
Urgency Touch (urgency_touch)
A final, deadline-driven touch sent near the end of the run.
Build Behavioral ROI Report (build_behavioral_roi_report)
Builds the partner ROI case around fan behavior — activation-to-purchase, app engagement lift, loyalty redemption — instead of media impressions. Also surfaces the sponsor health score.
Map Persona–Partner Affinity (map_persona_partner_affinity)
Maps which fan archetypes engage with which partner categories, to target activations at the cohorts that convert.
Flag Partner Renewal Risk (flag_partner_renewal_risk)
A mid-run touch that proactively flags a partner whose activation rate is declining, before the renewal conversation.
Create Mid-Season Activation Report (create_midseason_activation_report)
Produces a partner-facing mid-season activation report so the sponsor sees behavioral lift ahead of renewal.
Reframe Renewal Proposal (reframe_renewal_proposal)
A final-tick touch that reframes the renewal proposal around behavioral proof rather than reach.
Present Media Metrics (present_media_metrics)
The old-model touch: a reach-only media deck (impressions, signage, broadcast mentions) with no behavioral proof.
Score Churn Risk (score_churn_risk)
Scores early churn risk from behavioral signals such as attendance velocity, engagement decay, service sentiment, or purchase recency.
Segment Win-Back Journey (segment_winback_journey)
Routes at-risk fans into persona-specific retention journeys instead of one generic lapsed-fan campaign.
Resolve Visit Friction (resolve_visit_friction)
Targets practical friction, such as parking, family logistics, or venue uncertainty, before it turns into churn.
Route Service Recovery (route_service_recovery)
Sends service-issue cohorts into a recovery touch before dissatisfaction becomes a lapsed-fan outcome.
Escalate High-LTV Outreach (escalate_high_ltv_outreach)
Escalates valuable or relationship-managed fans to human outreach while the save window is still open.
Send Venue Bridge Offer (send_venue_bridge_offer)
Uses arena-event affinity to bridge a fan back into a low-friction sports attendance path.
Launch Win-Back Offer (launch_winback_offer)
Sends the late-stage reactivation offer for fans still at risk near the modeled lapse point.
Send Generic Win-Back Blast (send_generic_winback_blast)
The old-model retention touch: a generic discount blast sent after annual lapsed-fan classification.
Flag Fan Churn Risk (flag_fan_churn_risk)
A proactive mid-run flag that surfaces cohorts whose retention propensity needs intervention before lapse.
Score Readiness to Convert (score_readiness_to_convert)
Scores digital fans on readiness-to-convert from engagement recency, depth, intent, and crossover signals — a fan who watched multiple full-game streams is not the same as a fan who opened one welcome email.
Send Game Day Education (send_game_day_education)
Sends the education-before-offer sequence that removes first-visit anxiety: parking, seating, food, and schedule logistics.
Capture Fan Bot Intent (capture_fanbot_intent)
Captures first-time buyer intent signals from Fan Bot conversations — game day questions, family logistics, seating options — and routes them into the first-timer journey.
Recommend First Game (recommend_first_game)
Recommends the right first game for the cohort — family day, themed night, lower-stakes inventory, or an arena-event bridge match — instead of pushing playoff-priced tickets.
Send First-Timer Offer (send_first_timer_offer)
Sends the first-game ticket offer once the education and recommendation steps have run.
Route High NPS to Second Purchase (route_high_nps_to_second_purchase)
Routes high-satisfaction first-time attendees toward a second purchase and the season-ticket pipeline.
Send Mass Acquisition Blast (send_mass_acquisition_blast)
The old-model touch: the same untargeted first-game ticket offer emailed to the entire digital-fan database, with no education or segmentation.
Flag High-Intent Prospects (flag_high_intent_prospects)
A proactive mid-run flag that surfaces digital-fan cohorts whose intent signals indicate they are ready for a first-game offer.
Score Per-Cap Potential (score_per_cap_potential)
Scores each fan cohort's per-cap concessions upside from ordering behavior — adoption gaps, section spend patterns, and premium potential — instead of treating concessions as a pure operations problem.
Send Pre-Game Ordering Education (send_pregame_ordering_education)
Sends the pre-arrival mobile ordering education sequence that removes first-order friction: how to order, where to pick up, and when lines peak.
Send First-Order Incentive (send_first_order_incentive)
Delivers a first-order incentive to mobile-ordering non-adopters before arrival — a pre-game offer outperforms an in-venue prompt.
Recommend Section Ordering (recommend_section_ordering)
Recommends the right ordering path for the cohort's section — express pickup points and low-wait windows for the sections with the least queue tolerance.
Send Persona Menu Bundle (send_persona_menu_bundle)
Sends a persona-matched menu bundle — family value combos for family cohorts, premium items for club sections — instead of one menu for everyone.
Run Service Speed Recovery (run_service_speed_recovery)
A touch aimed at repairing in-venue service-speed frustration — queue relief and express-lane routing for cohorts whose satisfaction is line-limited.
Route High Spend to Premium (route_high_spend_to_premium)
Routes the highest per-cap cohorts toward premium inventory and club offerings at the marquee event.
Send Static Menu Promo (send_static_menu_promo)
The old-model touch: the same untargeted in-venue promo blast for every fan, with no connection between ordering behavior and fan identity.
Flag Per-Cap Opportunity (flag_per_cap_opportunity)
A proactive mid-run flag that surfaces cohorts with untapped per-cap concessions upside — high-LTV segments that never adopted mobile ordering.
Score Cross-Sell Affinity (score_crosssell_affinity)
Scores each sports-fan cohort's concert cross-sell affinity from in-venue behavior, event crossover attendance, and content engagement — a fan's relationship is with the venue, not the tour.
Send Venue Content Bridge (send_venue_content_bridge)
Sends arena programming content that builds familiarity with the venue as an entertainment destination before any ticket ask.
Send Matched Show Announcement (send_matched_show_announcement)
Announces the show matched to the cohort's affinity — artist, genre, family show, or comedy night — instead of blasting every show to everyone.
Offer Cross-Sell Presale (offer_crosssell_presale)
Offers presale access to sports cohorts as a venue-relationship benefit — early access converts fans who have already crossed the familiarity threshold.
Send Game-Day Concert Bundle (send_gameday_concert_bundle)
Sends a game+concert bundle offer that uses the sports habit as the on-ramp to a first concert purchase.
Offer VIP Concert Upgrade (offer_vip_concert_upgrade)
Offers premium and corporate cohorts a VIP concert experience — suites, club access, hospitality — matched to their spend profile.
Route Dual-Buyers to Next Show (route_dual_buyers_to_next_show)
Routes converted dual-buyers toward the next show on the calendar, turning a first crossover into a repeat events habit.
Send Mass Concert Blast (send_mass_concert_blast)
The old-model touch: the same untargeted concert announcement to the whole database, with no bridge from sports-fan identity to concert intent.
Flag Concert-Affinity Prospects (flag_concert_affinity_prospects)
A proactive mid-run flag that surfaces sports-fan cohorts whose affinity signals indicate they are ready for a concert cross-sell offer.
Score Satisfaction Risk (score_satisfaction_risk)
Scores each fan cohort's satisfaction risk from in-moment signals — low NPS flags, Fan Bot escalations, section hotspots — instead of waiting for the annual survey.
Route Service Recovery Journey (route_service_recovery_journey)
Routes cohorts with detected service issues into the recovery journey: acknowledgment and resolution before any commercial message.
Send Resolution Acknowledgment (send_resolution_acknowledgment)
Confirms to the affected cohort that its issue was heard and resolved — closing the loop before the fan is asked for anything.
Suppress Commercial Pressure (suppress_commercial_pressure)
Holds renewal and offer messaging for cohorts with an open service issue — a renewal ask on top of an unresolved complaint accelerates churn.
Empower Frontline Resolution (empower_frontline_resolution)
Resolves section-level service issues on the spot through empowered frontline staff, before the fan leaves the venue.
Send Goodwill Gesture (send_goodwill_gesture)
Follows a resolved issue with a goodwill gesture matched to the cohort — repairing the relationship, not just the transaction.
Route Post-Game Survey (route_postgame_survey)
Collects post-game micro-survey responses and routes low scores straight into the recovery journey while the experience is fresh.
Route Recovered to Renewal (route_recovered_to_renewal)
Routes cohorts whose satisfaction recovered back onto the renewal path once resolution is confirmed.
Send Annual Survey Blast (send_annual_survey_blast)
The old-model touch: the annual post-season survey plus a generic apology blast, sent while renewal offers keep flowing to dissatisfied fans.
Flag Dissatisfaction Risk (flag_dissatisfaction_risk)
A proactive mid-run flag that surfaces cohorts whose satisfaction propensity is deteriorating before dissatisfaction compounds into churn.
TickActionOccurred
1intervention_startJun 30, 2026, 8:16 PM
2cadence_touchJun 30, 2026, 8:16 PM
3quiet_tickJun 30, 2026, 8:16 PM
4cadence_touchJun 30, 2026, 8:16 PM
5quiet_tickJun 30, 2026, 8:16 PM
6service_recoveryJun 30, 2026, 8:16 PM
7quiet_tickJun 30, 2026, 8:16 PM
8cadence_touchJun 30, 2026, 8:16 PM
9quiet_tickJun 30, 2026, 8:16 PM
10cadence_touchJun 30, 2026, 8:17 PM
11urgency_touchJun 30, 2026, 8:17 PM
12urgency_touchJun 30, 2026, 8:17 PM

Cohort State by Persona

Engagement and churn risk are synthetic 0–100 scores, not measurements of real fans. Renewal likelihood is the simulated probability that a persona renews at that tick. Reaction labels describe how the cohort simulated responding to the latest action. These are synthetic cohort records, not real fan records or real customer predictions.

concert-first-arena-visitor
TickStageEngagementChurn RiskRenewal LikelihoodReaction
1first-touch356238%delayed
2first-touch356241%interested
3first-touch356241%delayed
4first-touch356241%ignored
5first-touch356241%delayed
6first-touch356244%interested
7first-touch356243%delayed
8first-touch356243%ignored
9first-touch356243%delayed
10first-touch356243%ignored
11first-touch356243%ignored
12first-touch356242%ignored
corporate-buyer
TickStageEngagementChurn RiskRenewal LikelihoodReaction
1engaged743169%delayed
2engaged743169%delayed
3engaged743169%delayed
4engaged743169%delayed
5engaged743169%delayed
6engaged743169%delayed
7engaged743169%delayed
8engaged743169%delayed
9engaged743169%delayed
10engaged743172%upgraded
11engaged743172%ignored
12engaged743172%ignored
first-time-family-attendee
TickStageEngagementChurn RiskRenewal LikelihoodReaction
1first-purchase625842%delayed
2first-purchase625845%interested
3first-purchase625845%delayed
4first-purchase625845%ignored
5first-purchase625845%delayed
6first-purchase625845%ignored
7first-purchase625844%delayed
8first-purchase625844%ignored
9first-purchase625844%delayed
10first-purchase625844%ignored
11first-purchase625844%ignored
12first-purchase625844%ignored
lapsed-playoff-fan
TickStageEngagementChurn RiskRenewal LikelihoodReaction
1lapsed187824%interested
2lapsed187824%ignored
3lapsed187824%delayed
4lapsed187824%ignored
5lapsed187824%delayed
6lapsed187825%interested
7lapsed187825%delayed
8lapsed187827%interested
9lapsed187826%delayed
10lapsed187826%ignored
11lapsed187826%ignored
12lapsed187826%ignored
season-ticket-holder
TickStageEngagementChurn RiskRenewal LikelihoodReaction
1loyal912279%interested
2loyal912279%ignored
3loyal912279%delayed
4loyal912279%ignored
5loyal912279%delayed
6loyal912279%ignored
7loyal912279%delayed
8loyal912280%interested
9loyal912280%delayed
10loyal912280%ignored
11loyal912280%ignored
12loyal912280%ignored
womens-team-growth-fan
TickStageEngagementChurn RiskRenewal LikelihoodReaction
1awareness444852%delayed
2awareness444854%interested
3awareness444854%delayed
4awareness444856%interested
5awareness444856%delayed
6awareness444855%ignored
7awareness444855%delayed
8awareness444855%ignored
9awareness444855%delayed
10awareness444855%ignored
11awareness444845%negative_response
12awareness444840%churn_risk_increased
← Case Studies