Featured Work
Selected projects
Client work and Cambridge coursework. Each case study states the method, the measured result and its limitations.
Featured
FINBERT SENTIMENTFINBERT SENTIMENT81 REPORTS AND TRANSCRIPTS81 REPORTS AND TRANSCRIPTS
17,292text chunks scored
Financial Regulation / NLP
G-SIB Disclosure Analysis Prototype
81 reports and transcripts 17,292 text chunks scored
TOPIC MODELLINGTOPIC MODELLINGEMOTION CLASSIFICATIONEMOTION CLASSIFICATION
27,585reviews analysed
Natural Language Processing
Customer Review Topic Modelling and Emotion Analysis
27,585 reviews analysed 2,031 anger-led reviews
SIX SENSORSSIX SENSORS19,535 READINGS19,535 READINGSNO FAULT LABELSNO FAULT LABELS
422readings flagged by the IQR rule
Anomaly Detection / Operations
Ship Engine Anomaly Detection
422 readings flagged (2.16%) IQR rule
THREE-TIER QUERY ENGINETHREE-TIER QUERY ENGINE25+ FILE FORMATS25+ FILE FORMATS
No document contentsent to external AI services
Applied AI / RAG / Privacy
Private Local Documents AI
25+ file formats no third-party AI provider
Additional Projects
Further work spanning forecasting, deep learning, predictive analytics, and QA engineering.
Forecasting
Book Sales Demand Forecasting
Weekly demand for two long-selling titles forecast with SARIMA, XGBoost, LSTM and hybrids on a 32-week hold-out. A well-specified seasonal model was the strongest default; the hybrids did not beat it.
19.6% MAPE, SARIMA (Title B)
Predictive Analytics
Student Non-Completion Prediction
XGBoost at three stages of the student journey. Adding engagement data gave the best balance of accuracy and lead time; the final-stage result is flagged for a leakage check.
0.650 F1, engagement stage
Time Series
Crime Incident Forecasting with SARIMA
Daily incident data for a US city resampled, tested for stationarity and modelled with seasonal ARIMA, with a 52-week cycle confirmed and models compared on a hold-out year.
139.98 test MSE, best SARIMA
Financial Services
Bank Customer Churn Classification
Decision tree and random forest models predicting which retail bank customers will leave, with the trade-off between catching churners and raising false alarms made explicit.
0.61 churner F1, random forest
Statistical Analysis
Statistical Hypothesis Testing Framework
Six business questions tested with t-tests, ANOVA, chi-square and Mann-Whitney U, with normality checks driving test choice and three nulls honestly retained.
6 hypothesis tests at α = 0.05
Deep Learning
Neural Network Design and Hyperparameter Search
A Keras spam classifier built, tuned and evaluated over three exercises. Grid search over epochs and batch size did not beat the simple 64-32 baseline.
94.6% baseline test accuracy
QA Engineering / Test Automation
Automated PDF Compliance Test Harness
Layout and content checks for generated PDF letters, with per-file failure reasons and a colour-coded Excel report. Verdicts matched ground truth on a synthetic 300-letter corpus with five seeded defect types.
300 / 300 verdicts matched (synthetic corpus)
Business Analytics / ML
Customer Segmentation with Clustering
K-Means and hierarchical clustering of 68,300 retail customers, published as a learning exercise: silhouette scores were modest and one cluster held two-thirds of customers.
0.266 best silhouette score
Statistical Analysis / Insurance
Medical Insurance Cost Correlation Analysis
Pearson correlation analysis of what drives insurance charges across 1,000 anonymised records, set in a scenario where an employer weighs a BMI-linked benefits scheme.
r = 0.709 BMI correlation, strongest predictor identified
Marketing Analytics / ML
Decision Trees and SHAP: Bank Marketing
Tree-based models and SHAP on a public bank telemarketing dataset. Call duration dominated, but it is only known after the call, so the score describes outcomes rather than pre-call targeting.
0.9485 ROC AUC, Gradient Boosting (with leakage caveat)
Additional Work
Broader technical exploration outside my core financial services focus - methodology deep-dives and applied ML across other domains.
Natural Language Processing
Movie Review Sentiment Analysis
A classical baseline on binary sentiment, where Bag-of-Words and TF-IDF tied, then four recurrent networks on a harder five-class task, where the LSTM and GRU failed to learn.
38.5% five-class accuracy, Bidirectional LSTM
Business Analytics / Retail
Customer Loyalty Analysis
Regression and correlation analysis across 1,711 customers isolating which of quality, brand awareness and negative publicity actually drives loyalty.
r = 0.713 quality-loyalty correlation
Feature Engineering / Automotive
Automobile Price Prediction
Feature engineering, feature selection and PCA/t-SNE on a 205-vehicle dataset, comparing Random Forest and linear regression on a held-out test set.
R² 0.894 Random Forest, held-out test
Deep Learning Fundamentals
Neural Network Manual Backpropagation
One forward and backward pass of a small network written by hand in NumPy, without a framework, to show exactly what TensorFlow or PyTorch automates.
Zero framework dependencies
Deep Learning / Model Evaluation
Optimiser Comparison: Adam vs RMSprop
Adam and RMSprop compared on the same small network for historical passenger-survival data, then regularisation, dropout and early stopping explored.
86.0% vs 83.2% test accuracy, RMSprop vs Adam