Power BI • SQL • Python • DAX

UK Railway Analytics

End-to-end operational analytics project analysing performance, pricing behaviour, customer trends, and route-level reliability across UK rail journeys.

UK Railway Dashboard

Project Overview

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.

KPI Snapshot

Total Journeys

31,653

Operational volume

On-Time Performance

86.82%

Service reliability

Delays & Cancellations

13.18%

Performance risk

Average Ticket Price

~£36

Revenue indicator

Online Purchase Rate

58.51%

Digital adoption

Analytical Approach

Key Insights & Decisions

Dashboard Views

Operational Performance

Pricing Analysis

Customer Behaviour

Route Performance

SQL KPI Example


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.

Tools & Technologies

Power BI (DAX, KPIs, Data Modelling)
SQL (Joins, Aggregations, KPI Queries)
Python (Pandas, Data Cleaning)
Data Storytelling & Insight Delivery