February 2024 | 3,068 trips | Analysis: Pricing Structure · Correlations · Anomalies · Dynamic Pricing Assessment
The fare model was reverse-engineered via Ordinary Least Squares regression on cleaned trips (distance < 50 km). The implied tariff structure is:
| Component | Implied Rate | Interpretation |
|---|---|---|
| Base Fare (flag-fall) | £3.74 | Charged at trip start regardless of distance |
| Per km rate | £0.77 / km | Primary distance component |
| Per minute rate | £0.33 / min | Time component (traffic, slow roads) |
| Model R² | 0.991 | Extremely high — fare is almost entirely deterministic |
| Stat | Value |
|---|---|
| Minimum | £1.10 / km |
| 25th percentile | £1.87 / km |
| Median | £2.20 / km |
| 75th percentile | £2.75 / km |
| Mean (excl. extreme outliers) | £2.73 / km |
The wide std (£10.09) is driven by a handful of very short trips where the fixed base fare inflates the £/km. Median is the reliable measure.
| Pair | Pearson r | Strength |
|---|---|---|
| Fare vs Distance | 0.918 | Very Strong |
| Fare vs Duration | 0.891 | Very Strong |
| Distance vs Duration | 0.652 | Moderate |
| Tip % | Trips | Share |
|---|---|---|
| 0% (no tip) | 2,161 | 70.4% |
| 5% | 566 | 18.5% |
| 10% | 225 | 7.3% |
| 15% | 116 | 3.8% |
Only 4 discrete tip levels exist — this is a prompted/selectable tip system, not free-entry. Tips are card-exclusive; cash trips show £0 tip universally.
18 trips showed £/km > £10 — all are very short-distance rides (≤ 0.87 km) where the £3.74 base fare dominates. This is mathematically expected, not a fraud signal. The shortest flagged trip is 0.006 km (6 metres) at £3.31 — almost certainly a cancelled or mis-recorded trip.
Total Amount ≠ Fare + Tip (avg gap £0.87, max £3.80).
These are exclusively Cash (184) and Unknown (158) payment types — zero Card trips have discrepancies.
This strongly suggests cash rounding, informal surcharges, or driver discretionary pricing on non-card transactions.
| Payment Type | Trips with Discrepancy | Avg Gap | Max Gap |
|---|---|---|---|
| Card | 0 | — | — |
| Cash | 184 | ~£1.02 | £3.80 |
| Unknown | 158 | ~£0.68 | £2.41 |
| Time Band | Trips | Median £/km | vs Daytime |
|---|---|---|---|
| Night (0–5) | 548 | £2.20 | +6.3% |
| AM Peak (6–9) | 577 | £2.35 | +13.5% |
| Daytime (10–15) | 693 | £2.07 | baseline |
| PM Peak (16–19) | 594 | £2.37 | +14.5% |
| Evening (20–23) | 655 | £2.14 | +3.4% |
AM and PM peaks generate naturally higher £/km (shorter but slower congestion trips) yet are priced identically to off-peak. This is unrealised revenue.
AM (6–9) and PM (16–19) account for 38% of trips. A 10–15% surge multiplier on fare during these windows is industry-standard and customers in peak slots are less price-elastic.
Night trips (0–5) represent 18% of volume with higher driver costs (unsocial hours). A 10% night tariff is standard in Glasgow and legally permissible under Hackney carriage rules.
Fri/Sat evenings show higher demand density. A 5–10% weekend evening multiplier captures willingness-to-pay for leisure travel without alienating regular commuter riders.
Before implementing, benchmark vs Glasgow minicab and platform (Uber/Bolt) rates. A/B test a 5% uplift on peak hours for 2 weeks to measure cancellation sensitivity.
Aggregating full postcodes (G131, G413…) into 2-digit districts reveals clear geographic patterns in both demand and revenue.
| Area | Trips | Share of Fleet | Avg Duration |
|---|---|---|---|
| G13 (Jordanhill / Knightswood) | 270 | 8.8% | 18.6 min |
| G41 (Pollokshields / Shawlands) | 266 | 8.7% | 18.7 min |
| G12 (West End) | 254 | 8.3% | 16.5 min |
| G51 (Govan / Ibrox) | 219 | 7.1% | 16.6 min |
| G20 (Maryhill) | 198 | 6.5% | 16.7 min |
Note: "% of Fleet" above reflects true share of all 3,068 trips. The "Top 5 by Density" chart in the presentation shows each area's share relative to the top 5 combined — not the total fleet — producing inflated-looking figures (~22%) that should be corrected before customer delivery.
| Area | Total Fare | Rev/km |
|---|---|---|
| G13 | £4,293 | £2.08/km |
| G41 | £4,227 | £2.09/km |
| G12 | £3,525 | £2.32/km |
| G52 (Cardonald) | £3,291 | £1.90/km |
| G21 (Springburn) | £3,290 | £1.94/km |
| Route | Trips | Implication |
|---|---|---|
| G12 → G13 | 29 | West End to Jordanhill — commuter corridor |
| G13 → G20 | 29 | Jordanhill to Maryhill — cross-suburb flow |
| G13 → G13 | 27 | Intra-district trips — local short hops |
| G41 → G13 | 25 | Southside to West — regular cross-city run |
| G21 → G13 | 23 | Springburn to Jordanhill — northside commute |
Average trip duration rises sharply in two windows — confirming the case for peak pricing:
| Period | Avg Duration | vs Off-Peak (avg 15 min) |
|---|---|---|
| AM Peak 7–9 | ~24 min | +60% — congestion-driven |
| PM Peak 16–18 | ~24 min | +60% — congestion-driven |
| Off-peak (rest) | ~15 min | baseline |
Drivers spend 60% more time per trip during peaks yet earn the same fare — a direct cost to driver efficiency that dynamic pricing would address.
| # | Finding | Severity | Action |
|---|---|---|---|
| 1 | 402 km mega-trip on 20-Feb | High | Verify against raw records; exclude from KPI dashboards |
| 2 | 342 cash/unknown payment discrepancies | High | Audit cash-handling process; enforce POS reconciliation |
| 3 | No dynamic pricing in place | Medium | Pilot 10% peak surcharge (AM 7–9, PM 17–19) + event-day uplift |
| 4 | 18 very-short-distance high-£/km trips | Medium | Flag <0.1 km trips for review; set operational minimum fare £4.50 |
| 5 | 158 "Unknown" payment type records | Medium | Enforce payment type logging in dispatch/meter system |
| 6 | G13 & G41 dominate demand but have low rev/km | Low | Investigate whether longer/slower routes in these areas warrant a time-component uplift |
| 7 | Daytime (10–15) lowest volume & fare/km | Low | Explore off-peak corporate account packages for these quiet hours |
Using approximate centroids for each Glasgow postcode district, K-Means (K=4) was run on a combined feature set of location (lat/lon), trip volume, median revenue/km, peak share, evening share, and average duration. This is meaningfully different from distance-only clustering — each zone has a distinct operational and demand profile.
| Zone | Areas | Trips | Fleet % | Med £/km | Avg Fare | Avg Dur | Peak% | Evening% |
|---|---|---|---|---|---|---|---|---|
| Zone A — Core Urban Belt | G11 G12 G13 G14 G20 G21 G22 G31 G40 G41 G42 G51 G52 | 2,507 | 81.7% | £2.19 | £15.41 | 17.9 min | 32.5% | 21.5% |
| Zone B — SE Evening Fringe | G24 G25 G26 G27 G28 G29 G36 G37 G38 G49 G50 | 313 | 10.2% | £2.60 | £13.48 | 16.1 min | 34.4% | 26.9% |
| Zone C — Northern Periphery | G15 G23 | 207 | 6.7% | £2.14 | £17.59 | 21.5 min | 43.0% | 20.7% |
| Zone D — SW Boundary | G58 G59 | 40 | 1.3% | £2.64 | £12.41 | 14.1 min | 28.1% | 6.2% |
82% of all trips, balanced demand across hours. Apply the base tariff here. Dynamic pricing changes here have the biggest revenue impact — a 10% peak uplift in Zone A alone would cover most of the projected £1,800–2,200/month gain.
Evening trips are 27% of Zone B volume (vs 21% fleet average) and already yield £2.60/km. Formalise this with an evening surcharge from 20:00 — demand is concentrated and less price-elastic after dark.
Highest peak share (43%) and longest average duration (21.5 min). Drivers heading to Drumchapel or Lambhill spend disproportionate time in congestion yet earn a standard fare. A peripheral distance band surcharge during peak hours would compensate.
Only 40 trips from Renfrew/Paisley fringe. Almost no evening demand. These are likely cross-boundary trips where drivers deadhead back empty. A zone boundary minimum fare (e.g. £15 floor) recovers dead mileage cost.