Skip to content
varun.rout

Jump to

Search pages, projects and repos

Applied data science · Birmingham, UK

Models that earn their claims.

Forecasting, causal ML, and models that earn their claims. Every metric on this site sits next to the thing it aims to beat, and the failures are on the page too.

StatsBomb-benchmarked xGTwo-stage X-learner upliftAzure ML in productionDrift & leakage monitoring
0.000

CxG diagnostic AUC, vs StatsBomb’s own xG at 0.820

0.00M

raw StatsBomb events behind the football models

+0%

Manor Park quarterly forecast accuracy vs the previous approach

0%

E.ON forward price-curve improvement, far seasons

Featured work

Five projects, one habit: benchmark against the incumbent.

Energy markets · production

Professional

Residual-Load Forecasting & Price Curves

Market Analyst · E.ON Energy Markets · 2025

Rebuilt hourly power forecasting around a residual-load framework (demand net of wind and solar), benchmarked against the previous demand-based methodology and monitored for drift in production.

+15% far / +9.7% near

vs previous methodology

Azure ML StudioAzure DevOpsPythonPower BI
Read the write-up →

Football analytics · flagship

Live repo

Opponent-Adjusted Football Metrics

Independent research · 8 months of active development

Contextual expected goals (CxG) and assists (CxA) over 2,143,146 raw StatsBomb events, benchmarked directly against StatsBomb's own xG on the same shots rather than self-reported in isolation.

0.80920 AUC

vs StatsBomb xG 0.81957

scikit-learnFastAPIPostgreSQLSQLAlchemy
Read the write-up →

Causal ML · the rare one

Live repo

Retail Growth Intelligence — Uplift Modelling

Independent research · synthetic data

A genuine two-stage X-learner for campaign uplift with control-arm up-weighting and per-campaign propensity blending. Committed outputs, unlike most of the portfolio.

0.0444

X-learnerLightGBMDuckDBQini / uplift deciles
Read the write-up →

Retail · demand forecasting

Professional

Multi-Horizon Demand Forecasting

Data Scientist · Manor Park Trading Company · 2024

Demand forecasting across ~7,000 SKUs over Shopify, Amazon, eBay and The Range at three horizons, paired with a seven-cluster customer and product segmentation.

+28% weekly · +19% monthly · +37% quarterly

PythonForecastingClusteringCampaign analytics
Read the write-up →

Football analytics · deep learning

Live repo

Frame2Threat — Possession-Danger Prediction

Independent research · StatsBomb open data

Predicts possession danger from partial event sequences with an XGBoost + GRU ensemble, a graph neural network (SAGEConv) and a SHAP explanation layer. Executed notebooks and 49 committed figures.

0.965 AUC (n=2,475)

XGBoostPyTorch GNNGRUSHAP
Read the write-up →

The rigour manifesto

Four habits, applied the same way across three domains.

01

Benchmark against the incumbent

CxG is reported next to StatsBomb’s own xG on the same shots, not in isolation. A metric with nothing to beat does not lead a headline.

02

Report negative results

The betting-market model does not beat the market, most configurations are unprofitable, and the site says so. The honest negative result is the asset, not the edge.

03

Test for leakage, then enforce it

Defensive Actions Expected archived its own compromised v0-v9 results rather than presenting them, and now runs an enforced leakage guard checked in CI.

04

Calibrate and validate out of sample

Brier scores and log loss sit alongside AUC. Held-out and cross-validated results are reported separately from training numbers, and walk-forward splits protect the time-series work.

Stack

Only what is imported and executed.

Modelling

  • Python
  • scikit-learn
  • LightGBM
  • X-learner (causal uplift)
  • GLM / logistic regression / Ridge
  • GradientBoostingClassifier
  • PyTorch (GNN, GRU)
  • SHAP
  • XGBoost
  • Isotonic calibration
  • Monte Carlo simulation
  • Time-series forecasting

Engineering & data

  • SQL
  • DuckDB
  • PostgreSQL
  • SQLAlchemy
  • Snowflake
  • FastAPI
  • Docker
  • Azure Data Factory
  • Azure Databricks
  • Power BI

MLOps & delivery

  • Azure ML Studio
  • Azure DevOps CI/CD
  • MLflow
  • Prefect
  • GitHub Actions
  • Drift / PSI monitoring
  • Leakage guards
  • Walk-forward cross-validation

Experience

Where the numbers come from.

Jan 2026Present

Independent research · Portfolio · football analytics focus

Full-time, deliberate investment in this portfolio and an active search for the next role, after the E.ON fixed-term contract ran its course in December 2025.

  • Opponent-adjusted football metrics benchmarked against StatsBomb xG
  • Retail uplift modelling and the model scorecard behind this site

Jan 2025Dec 2025

Market Analyst · E.ON Energy Markets

Rebuilt hourly power forecasting around a residual-load framework, ran it in production with drift monitoring, and led the stakeholder-facing shape meetings that used it.

  • Residual-load framework: forward price curve +15% far seasons, +9.7% near seasons vs the previous methodology
  • Christmas-period demand RMSE reduced ~18% (~0.35 GWh/h) after diagnosing holiday-specific error
  • Built and ran the model in Azure ML Studio with Azure DevOps CI/CD and production drift detection
  • Built Power Curve Viewer and Shape Viewer in Power BI; led fortnightly Gas and Power Shape meetings

Jul 2024Dec 2024

Costing and Risk Intern · E.ON Energy Markets

Built a half-hourly network-charge forecasting engine and a Monte Carlo risk model, and migrated legacy spreadsheet processes into governed Python and SQL.

  • ~23% improvement in network-charge forecast accuracy vs the previous internal approach
  • 10,000-run Monte Carlo producing P5/P50/P95 cost outcomes
  • Migrated Access/spreadsheet processes into Python, SQL and Snowflake; saved ~6 to 7 hours per reporting cycle

Jun 2024Aug 2024

Business Analytics Consultant · University of Birmingham Sport & Fitness

MSc capstone: benchmarked four forecasting methods on out-of-sample MAE across six activity categories, then applied ABC/Pareto prioritisation to booking and revenue data.

  • Benchmarked SARIMA, Prophet, Holt-Winters and Random Forest; a tuned Random Forest roughly halved error on the hardest categories
  • Cardio MAE 23.8 to 11.2, Holistic MAE 26.5 to 13.4, Toning MAE 14.3 to 10.3
  • ABC/Pareto prioritisation: three member groups drove ~80% of revenue (~£5.68m); a ~5% class tail flagged for review

Jan 2024Jun 2024

Data Scientist · Manor Park Trading Company

Multi-horizon demand forecasting across ~7,000 SKUs and four sales channels, paired with customer and product segmentation for campaign targeting.

  • Demand forecast accuracy +28% weekly, +19% monthly, +37% quarterly
  • Seven-cluster customer and product segmentation for targeted campaigns
  • Campaign analysis associated with ~7% ROAS improvement and ~£78k incremental revenue (no holdout test; not a causal claim)
  • Reporting automation cut per-draft production time ~50%

Jul 2021Aug 2023

Systems Engineer · Infosys · John Deere account

Two years of production ETL/ELT engineering on high-volume operational data.

  • Production pipelines in Python, SQL, Azure Data Factory and Azure Databricks
  • Complex SQL transformations and automated data-quality checks
  • Cloud-migration and legacy-modernisation initiatives

Education

MSc Business Analytics, University of Birmingham (20232024)

B.Tech Polymer Science & Chemical Technology, Delhi Technological University (20162020)

Get in touch

Open to the next role in applied data science.

Based in Birmingham, UK, open to relocation and hybrid or on-site work. The full story, including how I moved from energy markets into this portfolio, is on the about page.