The kinds of problems we solve

Representative projects, each with the challenge, our approach and the outcome. Client details are kept confidential, and we're happy to share more under NDA.

Featured project

Forecasting demand across a store network

A retailer needed weekly demand forecasts for hundreds of products. We built a pipeline that cleans sales history, adds calendar and promotion signals, and compares several models before choosing one.

DataSales, promotions, calendar
ModelsSARIMA, Prophet, boosting
OutputForecast + uncertainty band
Discuss a similar project
Time series

Retail demand forecasting

Challenge
A multi-store retailer over-stocked slow items and ran out of fast ones.
Approach
Weekly forecasts per product group using seasonality, holidays and promotion effects, compared against a simple baseline.
Outcome
Forecasts with uncertainty ranges that planners use to set safety stock.

How we checked it: Rolling-origin validation, MAPE and MAE

  • Prophet
  • SARIMA
  • Gradient boosting
Anomaly detection

Equipment fault detection

Challenge
Machine sensors produced thousands of readings a day and faults were found too late.
Approach
Residual-based and isolation forest detectors tuned on historical failures, with adjustable alert thresholds.
Outcome
Early warnings with a controlled false-alarm rate that maintenance teams trust.

How we checked it: Precision, recall and alert lead time

  • Isolation forest
  • Statistical limits
Machine learning

Customer churn classification

Challenge
A subscription business could not tell which customers were about to leave.
Approach
Feature engineering from usage and billing history, then tree-based classifiers with explainable feature importance.
Outcome
A ranked list of at-risk customers plus the reasons behind each score.

How we checked it: Stratified cross-validation, ROC-AUC, precision / recall

  • Random forest
  • XGBoost
  • Logistic regression
Machine learning

Price & cost prediction

Challenge
Quotes were prepared by hand and varied widely between estimators.
Approach
Regression models trained on past jobs, with error analysis to show where estimates can and can't be trusted.
Outcome
Consistent estimates with clear error ranges, available inside a simple form.

How we checked it: Hold-out test set, MAE, RMSE, R²

  • Ridge
  • Gradient boosting
Data science

Customer segmentation

Challenge
Marketing treated every customer the same because no segments existed.
Approach
Behavioural features, dimensionality reduction and clustering, with each segment profiled in plain language.
Outcome
Named customer segments with size, behaviour and suggested actions.

How we checked it: Silhouette score and stability checks

  • K-means
  • PCA
  • DBSCAN
Simulation

Engineering simulation figures

Challenge
A research team needed dynamic-system results turned into clear, publishable figures.
Approach
Differential-equation models solved with SciPy and rendered in Matplotlib, including animations for presentations.
Outcome
Reproducible scripts and figure sets ready for papers, reports and teaching.

How we checked it: Checked against analytical solutions

  • Matplotlib
  • SciPy
  • Monte Carlo

Industries we work with

The methods are the same across sectors. We adapt the data work and the explanations to how your team operates.

Retail & e-commerce

Demand forecasting, customer segmentation and churn models.

Manufacturing & energy

Sensor analytics, fault detection and process simulation.

Finance & services

Risk scoring, anomaly detection and reporting dashboards.

Education & research

Simulations, publication-quality figures and statistical analysis.

Healthcare analytics

Operational data analysis, trend reporting and classification.

Startups & agencies

Data-driven features and clean websites, built quickly.

How we check our work

A model that looks good on paper but fails on new data is worse than no model. These habits keep results reliable.

Honest splits

Models are tested on data they have never seen, and time series use rolling-origin validation.

Right metrics

MAE, RMSE and MAPE for numbers; precision, recall and ROC-AUC for classes.

Baselines first

Every model must beat a simple baseline to earn a place in the solution.

Explainable results

Feature importance and error analysis show why a model decides what it does.

What you receive

Every project ends with something you can run, read and explain.

  • Documented Python code and notebooks
  • A clear written report in plain language
  • Trained models and a reusable prediction script
  • Charts, figures or a dashboard for your team
  • A walkthrough session with your team
  • Support after hand-over for questions and tweaks

Have data, or a problem worth modelling?

Tell us what you're working on. We reply within one business day with next steps and a clear scope.

Start a project