Product Case · Data Analysis & Forecasting

A Glasgow taxi company had trip data — and no clear view of demand patterns, pricing anomalies, or fleet allocation.

This is a Product Strategy Growth problem.

Academic data science project completed in 2024 with Kin Karta Consulting at the University of Strathclyde Business School, United Kingdom, using Haggis Hopper's real historical trip data across Glasgow.

Demand wasn't the mystery — Haggis Hopper already had the trip volume. What was missing was where fleet capacity should sit by hour and postcode, and whether the pricing riders were charged actually held up against the data. I turned raw trip records into live dashboards and a forecasting model, so fleet deployment and pricing could be decided from evidence instead of instinct.

Streamlit analysis app Tableau dashboard
Who Haggis Hopper's operations team Decides where to position the fleet and how trips should be priced across Glasgow.
What See where and when demand happens — and act on it Turn raw trip records into a live view of demand, revenue, and fleet performance.
Why Demand mapped by hour and postcode Two live tools let stakeholders see where demand concentrates, instead of reading a static report.
$ Impact +3.8% revenue vs. current flat pricing Scales with peak-hour trip volume — ≈£1,800–£2,200/month at the current run rate.

Two things that were invisible

Fleet allocation was a guess

Demand across Glasgow shifts by hour and postcode, but without mapped patterns, vehicles couldn't be positioned where and when riders actually needed them.

Pricing wasn't checked against the data

Fares hadn't been validated against actual trips, leaving the fare-distance relationship and pricing anomalies unexamined.

What we changed

What it moved

3,068 trips
Modeled in the pricing deep-dive
February 2024 · tariff inference, fare-distance correlation, anomaly detection
8 demand views
Temporal and geospatial patterns mapped
hour, postcode, duration, fare — not a single summary chart
2 live tools shipped
Tableau dashboard + Streamlit app
built for stakeholders to explore, not just read a report

The business case

+3.8%
Projected monthly revenue lift from peak-hour pricing
≈£1,800–£2,200/month · fares were flat by time of day despite peak trips taking 60% longer to complete
11% of trips
Flagged in a cash-reconciliation gap
342 trips · amount charged ≠ amount recorded, concentrated entirely in cash/unlogged payments
4 zones
Demand zones segmented for a prioritized pricing rollout
clustered by location, trip volume, revenue/km, and peak share

Supporting visuals