Lapsing season member early-warning report
Problem
Season ticket renewal targeting starts from a spreadsheet tab, usually called something like 'renewals working file', that the CRM manager rebuilds once a year in the weeks before the renewal window opens. Building it means exporting barcode scan data from the ticketing platform, pulling last season's numbers from an old copy of the same file, and manually flagging anyone whose attendance has dropped. It is done once, late, by one person, and it only looks at attendance. A member who has stopped opening emails or transferring tickets to someone else all season shows no sign of trouble until the renewal invite goes out and nobody responds. By then the CRM manager is guessing why, and the marketing manager is running one blanket save campaign instead of a few targeted ones.
Product idea
A report that runs on a schedule rather than once a year. Each season member gets a simple score built from attendance scan rate over the last block of home games compared with the block before it, plus email open and click activity where that data is available. Members are sorted into three tiers, holding steady, drifting, and at risk, with the reasons for the tier shown next to the name rather than hidden in a number. The CRM manager gets a ranked list they can filter by tier and export to whatever platform sends the actual campaign. It does not send anything itself and does not predict who will renew. It surfaces who has gone quiet, on a schedule, instead of once a year under deadline.
Who it is for
CRM managers who currently rebuild the renewals list by hand, marketing managers who plan the save campaign, and the head of fan engagement who sponsors the retention target.
Possible first version
A weekly job that reads two manually uploaded CSV exports, ticketing attendance scans and email engagement, and produces a ranked, tiered list with the scoring reasons shown. Thresholds for each tier are configurable rather than fixed. Output is a filterable screen plus a CSV export shaped for upload into the CRM or email platform. Out of scope for version one: any live connection to the ticketing or CRM system, automated campaign sending, app usage data, and any predictive model. The score is arithmetic on two inputs, not a trained model, so the team can see exactly why a member landed in a given tier.
- Build classification
- Workflow application
- Rough effort
- 4-6 week first release
- Roles involved
- CRM manager, Head of fan engagement, Marketing manager
- Relevant to
- Professional club, League office, Women's league, Venue & stadium operator
- Systems in play
- Ticketing systems, CRM platforms, Email and messaging platforms, Spreadsheets
- Product framing
- Analyse data
Questions we get asked
What do we need to have ready before this produces its first report?
Two exports: barcode scan data per season member from the ticketing platform, covering at least two comparable blocks of home games, and email open and click data from the email platform if you want that signal included. Attendance alone is enough to run a first version. App usage and retail spend are not required and are not in scope for version one, so there is no need to wait on those integrations to see the first list.
We already have a renewals working file that our CRM manager rebuilds by hand every year. Doesn't this just become another spreadsheet?
In terms of the underlying data, yes, it is the same inputs. What changes is cadence and consistency. The scoring runs on a schedule rather than once under deadline pressure, and it applies the same thresholds every time rather than however the reviewer had time to check that year. Whether that is worth building depends on whether early warning actually changes what the team does with the extra weeks.
How do we stop staff losing trust in the tool the first time it flags someone who was actually fine?
The tiers are built from two visible numbers, attendance rate change and engagement activity, and the reason for each member's tier sits next to their name. Nobody has to trust a hidden score, they can see the two inputs that produced it. Thresholds are configurable, so if a tier is catching too many false positives in practice, the CRM manager can tighten or loosen them rather than waiting for a rebuild.
Does it decide who gets a renewal offer, or send anything?
No. It produces a ranked, exportable list and stops there. Deciding what offer a given tier receives, and sending it, stays with the marketing manager and whatever platform already handles campaign delivery. Keeping that decision with a person matters here specifically. A member flagged as drifting because of a data gap, or a season away, or an injury, should not receive an automated save message with no one checking the reason first.
Is this your workflow?
Tell us one sports workflow that still runs on paper, spreadsheets, WhatsApp or an outdated system. We will map it and show you what a simpler product looks like.
Tell us about itMore in Fan engagement & personalisation
- After-hours membership cancellation save lineA phone line that answers membership cancellation calls after hours, offers a pause or downgrade, and hands anyone who still wants to leave to a retention specialist with the reason already recorded.
- Email and push opt-out spike diagnosis assistantAn assistant that checks a campaign with an unusually high unsubscribe rate against past sends and shows which shared trait is the likely cause.
- Fan account chat concierge for loyalty and membership questionsA chat interface embedded in the app that answers a supporter's own account questions, loyalty points, renewal date, seat details, straight from their record, and escalates anything else to supporter services.