The workflow before#
PENN Entertainment operates casinos and racetracks across North America, and much of its marketing depends on spotting valuable guests before they drift away. In practice, teams saw declining guests in after-the-fact reports, once spend had already dropped and the best moment to step in had passed. Hypotheses about what changed guest behavior after specific events were argued in meetings rather than tested. Data science work ran without a structured cadence, so experiments and model tuning were hard to track and hard to trust. Marketing also couldn't see why a guest might be pulling back, so offers were chosen on instinct.
What we built#
We built decliner models that score each guest on how likely they are to reduce spend, before the drop shows up in reports. Every score comes with the reasons behind it, so marketing can pick the right offer for the right guest. We ran the work inside PENN's own sprint process so the team could track, repeat and trust every experiment.
Scores that look ahead
The models learn from visit and play patterns over time, using features such as where a guest's last actual loss falls in percentile terms and how recent sessions compare with older ones. Marketing gets a ranked list of guests likely to cut back while there's still time to reach them. We built features around each guest's own history because a drop means something different for a weekly regular than for an occasional visitor.
An explanation on every score
Each prediction ships with the factors that drove it. A marketer can see why a guest was flagged and choose an offer that fits, instead of acting on a black box. We made explanations part of the output rather than a separate report, because a score nobody trusts doesn't get used.
Hypotheses tested before they're used
When the team suspected an event changed guest behavior, we ran a hypothesis test before turning it into a model feature. Ideas that held up went into the models, and ideas that didn't were set aside with the evidence. Debates turned into decisions.
How we delivered it
We worked inside PENN's Jira sprints, so every experiment, tuning run and result was logged where the team already tracked its work. Models were tuned by cross-validation and Bayesian hyperparameter search. Results were reviewed with marketing each sprint before anything changed how guests were treated.
Before and after#
| Measure | Before | After |
|---|---|---|
| When a decliner is found | After spend has dropped | Scored ahead of the drop |
| At-risk guests identified | Rules and reports | 2x more, from the model |
| Why a guest was flagged | Not shown | Explanation on every score |
What's next#
The scores are the input for the next step: an agent that drafts a retention offer for each flagged guest and sends it to a host for approval. The host stays the one who decides; the agent does the legwork of matching the guest, the reason and the offer.






