AI Dynamic Ticket Pricing
Machine learning-powered pricing engine for UK live events, delivering transparent, CMA-compliant price recommendations with SHAP explainability and real-time demand signal integration.
Executive Summary
An end-to-end AI pricing system for UK live events that integrates artist popularity, venue location premiums, demand urgency signals, and market conditions to generate explainable, ethical price recommendations. The model achieves R² = 0.79 on real demand signals — deliberately capturing genuine market unpredictability rather than overfitting — and is deployed as a production Streamlit dashboard.
R² Score
Genuine demand signal learning
Mean Abs Error
Baseline Phase 1 (percentage points)
Optuna Trials
Hyperparameter optimisation
CMA Price Cap
Ethical pricing boundary
Problem Statement
UK live events venues lose significant revenue through static ticket pricing that ignores real-time demand signals. The same seat at the O2 Arena sells for the same price whether the artist has just gone viral on TikTok, whether there are 180 days or 3 days until the show, and whether a competing event is drawing fans away that same evening.
The challenge is not technical — XGBoost exists. The barrier is product thinking: How do you build dynamic pricing for live events without triggering the kind of fan backlash that Ticketmaster faced with Oasis tour pricing in 2024? How do you make recommendations transparent enough that venue managers trust and act on them? How do you operate within CMA guidelines while still capturing genuine demand uplift?
This project addresses the full product lifecycle: from ML model design decisions to SHAP explainability to ethics guardrails to a shipped, interactive demo — demonstrating how AI Product Managers bridge technical capability with business value and regulatory awareness.
Solution Overview
An AI-powered ticket pricing recommendation engine that combines 16 demand signals — artist popularity, venue location premium, days to event, genre, seasonal patterns, and real-time market conditions — to generate transparent, auditable price recommendations with a SHAP explanation for every decision. Unlike black-box dynamic pricing systems, every recommendation includes a plain English explanation of exactly why that price was suggested.
Multi-Signal Demand Modelling
Integrates 16 features: artist popularity, venue location premiums, days to event urgency, genre demand patterns, competing events, viral moments, and transport disruptions — all in real time.
SHAP Explainability
Every price recommendation includes a waterfall chart and plain English explanation showing exactly which factors drove the suggestion and by how much — in percentage points, not just feature names.
CMA-Compliant Ethics Guardrails
Hard-coded +22% maximum increase cap and -28% minimum floor, surge pricing detection with human review flag, and full audit trail for regulatory compliance — built for the post-Oasis regulatory environment.
Architecture Diagram
Data & Methodology
Data Dictionary
| Feature | Type | Description | Source |
|---|---|---|---|
| artist_popularity | integer (1-10) | Artist popularity score — single biggest driver of price adjustment at 26.2% of total variance | Synthetic (Spotify popularity distribution) |
| venue_location_premium | float (0.00-0.35) | Venue location premium factor. O2 London: 0.22, Glastonbury: 0.35, Cardiff: 0.00 | UK venue research |
| days_to_event | integer (1-180) | Days remaining until event — urgency signal. Lower = higher price pressure | Feature Engineering |
| venue | categorical (8 values) | Venue name — encoded to integer for model input. Location premium is extracted separately as venue_location_premium. 8 UK venues: O2 Arena London, Manchester Arena, First Direct Arena Leeds, Utilita Arena Birmingham, SSE Hydro Glasgow, Motorpoint Arena Cardiff, Glastonbury Festival Somerset, Boardmasters Newquay. | UK venue research |
| genre | categorical (8 values) | Music genre — demand multiplier varies. Musical Theatre: 1.20x, Classical: 0.90x | Synthetic with realistic demand distributions |
| viral_shock | binary | 1 if viral moment active (TikTok/press spike) — 8.2% occurrence rate in training data | Synthetic demand shock |
| transport_disruption | binary | 1 if transport disruption — suppresses demand. 6% occurrence rate in training data (confirmed from data generation code). Mean SHAP impact: -0.593pp (3.6% of total price variation) | Synthetic demand shock |
| has_competing_event | binary | 1 if competing event same night — demand split signal | Feature Engineering |
| is_peak_season | binary | 1 for Feb, Jul, Aug, Dec — peak live events months in UK | Feature Engineering |
| is_saturday | binary | Saturday premium — highest demand day of week | Feature Engineering |
| temperature_c | float (-5 to 32) | Temperature — relevant for outdoor festival venues (Glastonbury, Boardmasters) | Synthetic weather |
| is_cold | binary | 1 if temperature below 8°C — suppresses outdoor and weather-sensitive venue demand | Feature Engineering |
| is_rainy | binary | 1 if temperature below 13°C — proxy for wet conditions in UK climate | Feature Engineering |
| is_weekend | binary | 1 if event falls on Friday, Saturday, or Sunday | Feature Engineering |
| month | integer (1-12) | Calendar month of event — captures seasonal demand patterns | Feature Engineering |
| day_of_week | integer (0-6) | Day of week (0=Monday, 6=Sunday) — Saturday commands highest demand | Feature Engineering |
Methodology
Used XGBoost regression to predict price adjustment percentage (not absolute price) based on 16 demand signals. Critical design decision: targeting adjustment percentage rather than absolute price prevents ticket tier from dominating feature importance — first attempt with absolute price had ticket_tier absorbing 98.3% of importance. The model was trained on 80% of 5,000 synthetic transactions with 20% holdout validation. Hyperparameters optimised using Optuna TPE sampler over 50 trials with 3-fold cross-validation. Synthetic data designed with explicit documentation of every distributional assumption — more defensible than an unexplained Kaggle CSV because every design choice has a stated business rationale.
Validation Approach
- •Train/test split (80/20) — 4,000 training, 1,000 test transactions
- •3-fold cross-validation during all 50 Optuna hyperparameter trials
- •Feature importance validation: top features align with domain knowledge (artist popularity, venue premium)
- •SHAP directional validation: high popularity → positive SHAP, transport disruption → negative SHAP (correct)
- •Ethics validation: all predictions clipped to [-28%, +22%] CMA-compliant range, zero violations
Proof of Impact
49.8%
of all price variation explained by 2 features: artist popularity + venue location premium
Results Comparison
| Metric | Before | After | Change |
|---|---|---|---|
| Model R² (Baseline vs Optimised) | 0.7935 | 0.7962 | Marginal improvement (+0.3%) |
| Artist Popularity Impact (score 9) | Not quantified | +7.73 percentage points | Quantified |
| Venue Location Impact (O2 London) | Not quantified | +6.89 percentage points | Quantified |
| Viral Moment Impact | Not quantified | +4.7% of total price variation (0.777pp mean SHAP) | Quantified |
| Transport Disruption Impact | Not quantified | -3.6% of total variation (0.593pp mean SHAP) | Quantified |
| CMA Cap Compliance | No guardrails | 100% across all scenarios | Enforced |
Key Insights
Artist popularity and venue location premium together explain 49.8% of all price adjustment decisions. This validates the core product hypothesis: who is performing and where they are performing are the two most important pricing signals in UK live events.
The model's R² of 0.79 is intentionally honest. The remaining 21% unexplained variance represents genuine market unpredictability — viral moments, human judgment, fan irrationality. My first model achieved R² = 0.997 by learning to look up ticket tier. That was worse, not better.
Optuna ran 50 hyperparameter trials and found minimal improvement over baseline (R² 0.7935 → 0.7962). This is a valuable insight: the performance ceiling is close to genuine market noise — the optimised model improved by 0.3% but the gain was marginal.
SHAP waterfall for a superstar artist (popularity 9) at SSE Hydro Glasgow, 10 days to event: artist_popularity (+7.73%), venue_location_premium (-2.44%), days_to_event (+1.71%), genre (+1.35%). Recommended £95.16 vs £78.00 base — a recommendation any venue manager can read, understand, and defend to an artist's team.
Average price adjustment baseline across all 5,000 events: +15.27%. The market skews positive — our UK venue profiles and artist distributions reflect a premium events market where demand typically exceeds static pricing assumptions.
Ethics & Responsible AI
Transparency
Every price recommendation includes a SHAP waterfall chart and plain English explanation. Venue managers, artists, and regulators can see exactly why a price was suggested — in percentage points, not just feature names.
Fairness
+22% maximum increase cap prevents the kind of extreme surge pricing that triggered the CMA investigation of Ticketmaster in 2024. The Oasis tickets went from £135 to £355 — a 163% increase our system would block.
Accountability
Full audit trail of every pricing decision with SHAP values logged. If the CMA asks why a ticket cost £152 instead of £125, the answer is documented, explainable, and defensible within 24 hours.
Human Override
The AI recommends. Venue managers decide. No fully automated price changes — human judgment remains in the loop for every single recommendation, with viral moments flagged for mandatory review.
Guardrails & Safeguards
| Rule | Threshold | Rationale |
|---|---|---|
| Maximum Price Increase | +22% | CMA-aligned cap. Prevents the surge pricing that triggered Ticketmaster investigation. |
| Maximum Price Decrease | -28% | Prevents below-cost selling and protects revenue floor. |
| Viral Surge Warning | Amber flag + human review | Viral moments require mandatory human approval before any price change. |
Bias Audit & Fairness Assessment
Analysed model predictions across all venue types, genres, ticket tiers, and temporal patterns. No protected characteristics used in model. Pricing signals are demand-based (artist popularity, timing, venue location) — not demographic-based. Transport disruption signal suppresses prices when fans face travel difficulties, protecting rather than exploiting vulnerable demand situations.
OKRs & Success Metrics
Objective
Demonstrate end-to-end AI Product Management capability through a shipped, production-grade ticket pricing system that is technically sophisticated, ethically sound, and commercially defensible in the UK regulatory environment
Key Results
Achieve R² > 0.75 learning genuine demand signals (not ticket tier lookup)
100%Target: R² = 0.75
Implement SHAP explainability for 100% of predictions with plain English output
100%Target: 100% coverage
Pass CMA compliance check across all test predictions including adversarial scenarios
100%Target: Zero violations
Deploy live interactive dashboard with public URL accessible to recruiters
100%Target: Live URL
Success Metrics
| Metric | Target | Achieved | Status |
|---|---|---|---|
| Model R² Score | > 0.75 | 0.79 | Achieved |
| CMA Cap Compliance | 100% | 100% — zero violations | Achieved |
| SHAP Coverage | Every prediction | Every prediction + plain English | Achieved |
| Demo Deployment | Live public URL | ai-ticket-pricing.streamlit.app | Achieved |
Roadmap & Future Vision
Now
Completed- →XGBoost model with 16 UK live events demand signals
- →SHAP explainability on every prediction
- →CMA-compliant ethics guardrails (±22% hard cap)
- →Live Streamlit dashboard — ai-ticket-pricing.streamlit.app
Next
In Progress- →Real Spotify API integration for live artist popularity scores
- →National Rail API for real-time transport disruption signals
- →Multi-event portfolio view for promoters managing 10+ shows
Later
Planned- →Ticketing platform API integration (FIXR, Eventbrite, Skiddle)
- →Artist manager transparency portal with demand data dashboard
- →Predictive sell-out probability modelling with 30/60/90 day horizon
Learnings & Reflections
What Went Well
- •The target variable decision was the single most important product decision in the project — changing from absolute price to price adjustment percentage transformed what the model learned and made the whole project defensible
- •Designing synthetic data with explicit, documented assumptions proved more defensible than an unexplained Kaggle CSV — every distributional choice had a stated business rationale that I can explain in an interview
- •SHAP explainability transformed a data science project into a product — without it, the model is a black box; with it, it is a stakeholder communication tool, an artist management tool, and a CMA compliance tool simultaneously
Challenges Faced
- •First model R² = 0.997 looked impressive but was completely useless — it had learned to look up ticket tier, not model demand. High accuracy on the wrong question is worse than honest accuracy on the right one
- •Optuna found minimal improvement over baseline (R² 0.7935 → 0.7899) — initially felt like failure, but is actually a valuable insight: the performance ceiling is genuine market noise, not fixable by tuning
- •Balancing regulatory constraint with product ambition — the CMA context added real limits but also created a genuine, defensible differentiator that makes the project stronger, not weaker
What I'd Do Differently
- •Define the target variable before writing any model code — it is a product decision masquerading as a technical one, and getting it wrong wastes significant time
- •Build the ethics framework simultaneously with the model, not after — the CMA caps influenced data generation design, and that integration made both better
- •Ship the Streamlit demo earlier — a live URL that recruiters can click is worth more than a perfectly tuned model they cannot see
"R² = 0.997 was my worst model. R² = 0.79 was my best. The difference was understanding what I was actually trying to predict — and why a perfect score on the wrong question is worse than an honest score on the right one. That insight is the core of AI product management."
PM Artefacts
Written before any code. Every project ships with a full PM artefact set.
Let's Connect
I am actively seeking Junior AI PM / Technical PM roles at companies building AI-powered products in media, events, e-commerce, or consumer applications. Let's connect if you're hiring or want to discuss AI product strategy.
Quick Links
© 2025 Ogbebor Osaheni. Built with Next.js, React, and Tailwind CSS.
