Now booking Q4 2026 engagements

We turn enterprise data into decisions leadership can defend.

Predictify Analytics is a decision intelligence consultancy. We build the forecasts, models and reporting that survive a board meeting.

Independent by design — no reseller commissions, no technology partnerships that bias what we recommend. The work is published: twenty-five projects with the results, the method and the limitations in the open.

What the raw table costs you · UCI Online Retail II · CC BY 4.0

01 / 08 · Problem

Which number is the number?

What is actually wrong with this dataset, what would a data contract have caught, and what does the damage cost in money?

Finance, ops and the board are quoting different revenue figures off the same table, and nobody can say which reading is correct. That is where the work starts — not with a model.

02 / 08 · Their data

One export, as published

Two spreadsheet tabs, a transaction line per row, no product master and no documented grain. Exactly the shape most operational exports arrive in.

transaction lines
1,067,371
trading period
2009–2011
03 / 08 · Tools

Nothing you need a licence for

Python and pandas over the raw export. No warehouse to buy first, no platform commitment, and every step reproducible on your own machine.

licences required
0
figures computed
100%
04 / 08 · Technique

A data contract, declared up front

Thirty-one rules covering grain, keys, types, ranges, referential integrity and sign conventions — each with a severity, written before the data is scored so the thresholds cannot be tuned to flatter the result.

rules declared
31
at critical severity
9
05 / 08 · The work

Every rule, over every row

The contract runs across the whole table rather than a sample, and each violation is attributed back to the rule that caught it.

rules fail
19 of 31
of lines violate one
65.4%
06 / 08 · Findings

A nine-day window, counted twice

Both spreadsheet tabs carry the same nine days. Anyone who concatenates them inherits the double count, and it survives naive de-duplication because the line values differ.

double counted
$632,383
revenue with no customer
14.75%
07 / 08 · Result

Four defensible answers, one definition

Four legitimate readings of the same table sit $2.37m apart. The engagement ends with one definition chosen, written down and enforced in CI — so it stays one number after we leave.

between readings
$2,366,335
of the total
7.92%
08 / 08 · Handover

Published, limitations included

The method, the results and what we could not establish — all of it in the open, on public data. You can check every figure on this slideshow against its source.

findings
11
limitations published
11
Read the full project
Tools we work in

The analysis does not change with the tool. See the same work rendered in each of them.

Languages

  • Python
  • R
  • Scala
  • Julia
  • TypeScript
  • JavaScript
  • Bash
  • Java
  • SQL

Python libraries

  • pandas
  • NumPy
  • SciPy
  • scikit-learn
  • Polars
  • Arrow
  • Dask
  • Ray
  • Numba
  • SQLAlchemy
  • Plotly
  • spaCy
  • OpenCV
  • Optuna
  • Pydantic
  • pytest
  • Ruff
  • uv
  • Poetry
  • conda

R

  • R
  • RStudio
  • Posit
  • Quarto
  • tidyverse

Query & storage

  • PostgreSQL
  • MySQL
  • Snowflake
  • BigQuery
  • Databricks
  • DuckDB
  • ClickHouse
  • MongoDB
  • SQL Server
  • Redshift

Pipelines

  • Spark
  • Airflow
  • Airbyte
  • Kafka
  • Prefect
  • dbt

ML & AI

  • PyTorch
  • TensorFlow
  • Keras
  • Hugging Face
  • LangChain
  • Anthropic
  • MLflow
  • DVC
  • ONNX
  • OpenAI
  • W&B

Reporting

  • Looker
  • Metabase
  • Superset
  • Qlik
  • Jupyter
  • Streamlit
  • Sheets
  • Power BI
  • Tableau
  • Excel

Cloud & delivery

  • Google Cloud
  • Docker
  • Kubernetes
  • Terraform
  • Git
  • GitHub
  • Actions
  • GitLab
  • AWS
  • Azure
The work

Proof you can re-run, not a number you have to take on trust.

Every figure below comes out of code that is published and re-executed on demand. A verification script regenerates each result from the raw data and fails if a single headline number moves.

Projects published with code and results
Real transaction lines analysed, across 12 public datasets
Findings, every one computed rather than asserted
Limitations published in full, including the null results

Results that came out badly are published too: a forecasting model that barely beats a moving average, an exception rule that lost to a naive one, a repricing range that spans zero. All twenty-two projects.

The argument

Most dashboards go unused. Most forecasts are never tied to a decision.

The gap is rarely the model. It is that nobody wrote down which decision the model was for, who owns it, or what changes when the number moves.

How we work differently

Start at the decision, not the data

Before any modelling we write down the decision, its owner, its cadence and its weight in the P&L. If those four boxes cannot be filled in, the model does not get funded.

Commit to an accuracy bar in writing

Every model ships against a threshold agreed before the work starts, measured on hold-out data your analysts can reproduce without us in the room. If it misses, we say so.

Build for the handover from day one

Retraining schedule, monitoring, rollback path and a named internal owner before we leave. A model nobody can retire safely is a liability, not an asset.

How an engagement runs

Four phases, and you can stop after any of them.

No twelve-month programme sold on a slide. Each phase produces something you own outright and can take to your board whether or not you hire us for the next one.

The four engagement phases

01 / 2 weeks

Diagnose

A decision audit. Which decisions actually move the P&L, what each one is worth, and what would have to be true to make them better. Two weeks, fixed fee, written findings.

02 / 3–4 weeks

Design

Target-state model and architecture. Written, costed and sequenced, with the options we rejected and why. Stopping here is a legitimate outcome — the design is yours either way.

03 / 8–16 weeks

Build

Production pipelines and models, shipped in fortnightly increments against the accuracy bar agreed in Design. If a model cannot clear that bar, you hear it in the increment where it happens.

04 / Ongoing

Embed

Adoption, training and handover, with a measurement plan that survives our departure. We write the value statement with your finance team, then we leave.

Client work

Four of these six practices, on one engagement.

A subscription education technology platform. We built the data platform underneath it and four pieces of work on top.

  • Decision Intelligence

    An AI dashboard over their own data, so the questions the business asks get answered from the platform rather than from an export.

  • Machine Learning & AI

    Recommendation models for educational content — what a given learner is served next, and why.

  • Predictive Forecasting

    A monthly subscription forecast running three years out, which is a planning horizon rather than a reporting one.

  • Strategy & Governance

    Automated data cleaning and quality checks, so the numbers the other three depend on hold up without anyone remembering to look.

The client is under NDA, so there is no name, no logo and no figures here — and there will not be until they say otherwise. The twenty-two projects on this site are the same method on public data, where you can re-run every number yourself.

See the method on public data

Ready to see what your data already knows?

Book a 20-minute scoping call. You leave with a one-page view of the opportunity — no charge, no deck.