Projects
Selected work across analytics, machine learning, statistics, and AI
Overview
My project work spans commercial analytics, machine learning, statistical modelling, model deployment, bioinformatics, mining analytics, and modern AI engineering.
I have intentionally separated professional work from public learning and portfolio projects. Some commercial projects cannot include source code or proprietary data, but the problem, approach, and technical contribution can still be described.
Featured Professional Work
Vehicle Pricing, Forecasting & Customer Analytics
Context: Automotive finance and fleet analytics
Role: Data Scientist / Pricing Analyst
I worked across several connected analytical problems involving vehicle pricing, fleet planning, customer profitability, and risk.
What I worked on
- ARIMA-based forecasting for vehicle termination and maintenance planning
- Machine-learning forecasting of future new-vehicle valuations
- Customer profiling and segmentation
- Loss-ratio analysis
- Credit-risk recommendations
- Data-quality analysis across six countries
- IRR and deviation analysis
- Shiny dashboard development for business-facing analytics
Why it matters
This work required more than fitting models. The analytical outputs had to connect to pricing, fleet, customer, and commercial decisions, which meant validating the underlying data and communicating results in a form that could be used operationally.
Tools: R · Python · time-series modelling · machine learning · Shiny · data validation · pricing analytics
Credit Scoring, Explainable AI & API Deployment
Context: Financial technology / credit analytics
Role: Data Scientist – Consultant
I designed a credit-scoring solution and helped move it from modelling into an application-facing workflow.
Key components
- Developed the credit-scoring model.
- Added Explainable AI (XAI) to improve interpretability.
- Exposed model predictions through a REST API.
- Implemented secure access using Keycloak.
- Built a Streamlit application for real-time interaction with the scoring model.
What this demonstrates
This project bridges data science and engineering: model development, interpretability, API delivery, authentication, and user-facing deployment.
Tools: Python · machine learning · REST APIs · Streamlit · Keycloak · XAI
Modern AI Engineering
Modern AI Learning Repository
I am building a practical repository to strengthen my understanding of the systems behind modern AI applications.
Rather than focusing only on prompts, I am working through the architecture of AI applications step by step.
Current progression
- Generative AI and LLM fundamentals
- API-based LLM applications
- Local-model workflows
- Retrieval-Augmented Generation (RAG)
- Knowledge retrieval and grounded generation
- Tool calling
- Agentic AI and multi-step workflows
A major theme in this work is understanding when an LLM should answer from general knowledge versus when it should remain grounded in an authoritative knowledge base.
Applied Machine Learning
Bank Customer Churn Prediction
Problem
Identify customers who are at risk of leaving a bank and provide interpretable predictions that can support retention decisions.
Approach
- Prepared and analysed customer data.
- Built an XGBoost classification model.
- Deployed the model in a Streamlit application.
- Used ELI5 to provide model interpretability and help explain individual predictions.
Skills demonstrated: Python · pandas · XGBoost · Streamlit · ELI5 · classification · model interpretation
COVID-19 Classification with Bayesian CNNs
Problem
Standard deep-learning classifiers may provide confident predictions without communicating uncertainty. In a health-related setting, that limitation can be important.
Approach
- Built a Bayesian Convolutional Neural Network for COVID-19 lung-image classification.
- Used probabilistic modelling to quantify uncertainty around predictions.
- Compared the Bayesian approach with standard CNN behaviour.
- Published the work as a peer-reviewed Springer book chapter.
Skills demonstrated: Python · TensorFlow · deep learning · computer vision · Bayesian inference · uncertainty estimation
Mining & Industrial Analytics
Digitizing Mining
This project focused on converting complex mining documents into analysable information and building applications that could support mining stakeholders.
Methods and techniques
- Topic modelling
- Text mining
- OCR
- K-means clustering
- Regression analysis
- Data visualisation
- Analytical web applications
The project combined unstructured text, statistical analysis, machine learning, and application development.
Recognition: 1st Prize, University of the Witwatersrand Mining Digital Hackathon (2022)
Tools: R · NLP · OCR · clustering · regression · data visualisation
Mining Process and Flotation Plant Analysis
This project explored industrial process data from an iron-ore flotation plant.
The analytical target was the percentage of silica impurity in the ore concentrate, using process variables sampled at different time intervals.
The project required thinking about:
- time-stamped industrial sensor/process data
- different sampling frequencies
- feature relationships
- predictive modelling
- how predictions could support earlier corrective action
Skills demonstrated: industrial analytics · time-series/process data · regression · EDA · predictive modelling
Statistical & Customer Analytics
E-Commerce RFM Analysis
Used Recency, Frequency, and Monetary Value (RFM) analysis to segment customers and identify groups such as high-value customers, at-risk customers, and customers requiring re-engagement.
The focus was not only on calculating scores, but on translating the segments into actionable customer-engagement strategies.
Skills demonstrated: customer segmentation · RFM · EDA · business interpretation
A/B Testing for Website Themes
Compared website themes using engagement and conversion metrics.
The analysis included:
- click-through rate
- conversion rate
- bounce rate
- hypothesis testing
- t-tests
- effect-size interpretation
The project also included a Shiny dashboard to present results interactively.
Skills demonstrated: hypothesis testing · A/B testing · statistical inference · Shiny
API & Data Collection Exercises
Spotify API
Built Python scripts to authenticate against the Spotify API and retrieve information about artists, tracks, albums, playlists, and recommendations.
Skills demonstrated: Python · REST APIs · authentication · JSON · data collection
Weather Forecasting
Explored forecasting using historical weather observations, with emphasis on structuring time-series data and using previous observations to predict future conditions.
Skills demonstrated: time-series analysis · forecasting · data preparation
More Work
My GitHub contains additional Python, analytics, and learning projects.