Credit risk modelling
Loss forecasting, IFRS 9 and CECL provisioning, PD models and stress testing, from development through governance and senior review.
- NatWest UK Retail
- JPMorgan Chase ICB Risk
Data engineering · Credit risk · Statistics
I build the models banks use to forecast credit losses, and the data those models depend on.
Nine years at NatWest and JPMorgan Chase, across stress testing, IFRS 9 and CECL model development and, now, data engineering. Outside work I write CannonIQ, an Arsenal analytics newsletter read by 500+ people.

Illustrative one-factor (Vasicek) portfolio model. Losses in £k over one year. Each dot is one simulated year. Red bars are the worst 1% of years, the tail that stress testing and capital planning are built around.
What I work on
Most of my work sits where a model, a dataset and a business decision have to agree.
Loss forecasting, IFRS 9 and CECL provisioning, PD models and stress testing, from development through governance and senior review.
Pipelines, lineage and data quality controls that make critical data traceable and ready for analytics and AI.
Independent projects and writing where I test new methods, from Bayesian updating to Monte Carlo, and explain them in plain English.
Track record
Numbers from my work at NatWest and JPMorgan Chase. The details are on the experience page.
| £200bn | UK retail portfolio covered by the stress testing and loss forecasting I co-led | NatWest |
| 60 → 10 min | IFRS 9 staging runtime after I directed its rebuild from SAS to Python | NatWest |
| 2 FTE | Recurring manual work removed by a roll-rate model and automated forecasting | JPMorgan Chase |
| 7+ | Inherited model risk issues cleared in my first year as lead model developer | JPMorgan Chase |
| 100+ | Colleagues moved onto SageMaker, CI/CD and GitHub across ICB Risk | JPMorgan Chase |
Writing · CannonIQ
CannonIQ is my Arsenal publication on Substack. It's where I test new methods and explain them in plain English.
Poisson, weighted rolling averages, Bayesian updating and Monte Carlo, explained for football people.
↗ Expected points · 2026Why a probabilistic view of team strength tells us something the league table can't.
↗ Recruitment · 2025A Random Forest model for projecting goal contributions and testing shortlists.
↗ Long-form · 2026A personal essay on fandom, narratives and what statistics can't settle.
↗Contact
For conversations about data, risk modelling or statistics, or anything on this site.
Contact ↗From CannonIQ
Questions about a post, a correction, or an idea for a future piece.
Get in touch ↗