Predictive customer modeling
Propensity & Capacity Modeling
Predictive models that identify who's most likely to buy and how much they'll spend — applied to season ticket sales for pro sports teams.
Propensity models predict the likelihood of a customer taking a specific action. Capacity models estimate the potential value of that action. Together, they turn raw customer data into actionable intelligence — telling you not just who to target, but how much to invest in reaching them.
How It Works
Propensity modeling operates at the individual customer level, predicting the probability of specific actions like making a purchase. It optimizes marketing spend by zeroing in on customers most likely to convert. The model generates propensity scores — probabilities reflecting future actions based on customer attributes like demographics, behavior, and history.
Capacity modeling predicts how much a customer is likely to spend. You can frame it as classification (grouping customers into spending tiers) or regression (predicting exact dollar amounts). By targeting customers with both high propensity and high capacity, businesses maximize ROI.
Sports Marketing Case Study
I applied this to season ticket sales for professional sports teams. The challenge: thousands of fans in each team’s database and limited sales resources. We needed to predict not only who would buy, but their spending potential.
The process involved connecting to team databases, handling data imbalance between buyers and non-buyers, engineering features from historical spending trends and team-level metrics, and building unique models tailored to each team’s customer base.
One key decision: rather than using the same model for all teams, each model type used a different algorithm suited to its problem — capacity (spend amount) as a support vector machine, propensity (likelihood to buy) as a boosted decision tree. For each account, the pipeline built a full grid of parameter combinations, scored every candidate, and handed a ranked shortlist to a person to make the final call — the score was a guide, not an auto-selector. Automated feature selection kept models focused on the most predictive variables, and logging features and performance metrics provided transparency for continuous improvement.
Operationalization
Building models is half the battle. We implemented automated pipelines that process new data through the same training pipeline, apply the right models, and append results to the database. A feedback loop compared predictions against actual outcomes, keeping models relevant over time.
Key Design Decisions
Replaced a legacy system without an unverified leap of faith. This pipeline replaced an IBM SPSS Modeler system that had been generating the teams’ scores. The runner shipped with a validation mode: run the new models against real accounts, skip writing scores back to the database, and instead pull the SPSS system’s existing scores for a side-by-side comparison file. The switch happened only after that comparison held up.
Cache every stage so development doesn’t re-hit the database. Raw data and prepped/feature-engineered data are each cached to disk. Killing the process mid-run and restarting doesn’t mean re-querying the database or re-running feature prep — a small decision that made iterating on a slow, database-bound pipeline much faster.
Key Takeaway
Combining customer data with external factors — team performance, pricing, schedules — produced significantly deeper insights. The models didn’t just optimize sales outreach; they fundamentally changed how teams thought about customer relationships and revenue strategy.
Tech Stack
Python (Anaconda distribution), pandas, NumPy, SciPy, scikit-learn (SVM and AdaBoosted decision trees), joblib for model persistence, matplotlib and Graphviz/pydotplus for visualization, and a SQL database driving both the training data and the model-build job queue.