Operational Performance
Power BI • SQL • Python • DAX
End-to-end operational analytics project analysing performance, pricing behaviour, customer trends, and route-level reliability across UK rail journeys.
This project analyses UK National Rail journey data to evaluate operational reliability, ticket pricing dynamics, customer purchasing behaviour, and route-level performance.
A SQL-first workflow was used for data preparation and KPI development, followed by Python-based cleaning and Power BI dashboarding for insight delivery.
31,653
Operational volume86.82%
Service reliability13.18%
Performance risk~£36
Revenue indicator58.51%
Digital adoption
SELECT
route,
COUNT(*) AS journeys,
AVG(delay_minutes) AS avg_delay,
ROUND(
SUM(CASE WHEN delay_minutes <= 5 THEN 1 ELSE 0 END)::DECIMAL
/ COUNT(*) * 100, 2
) AS on_time_pct
FROM railway_journeys
GROUP BY route
ORDER BY avg_delay DESC;
This query underpins route-level performance analysis and prioritisation of operational improvements.