learn
Articles and series
From the open rebuilds. Full method, full code.
series
Uplift modelling and incrementality
Why a churn score sends money to the wrong customers, and what to model instead. Builds to a working treatment-assignment loop with a permanent holdout.
- A risk model is not a decision model
- Two-model, class-transformation, and what breaks in each
- Designing the holdout you will be asked to give up
- Measuring uplift when the treatment is not random
- Putting an uplift model behind an approval gate
From the rebuild: Churn intervention loop
Agents that touch production
Evals, human gates, and the failure modes that only appear once an agent can write to a system of record.
- What an eval suite is actually for
- Human gates: approval, veto, and the anchoring problem
- Making an agent refuse
- Cost, latency and the trace you will need at 3am
From the rebuild: Fraud review assistant
Forecasting for people who own inventory
Accuracy is not the goal. This series ends at a working-capital number, and treats forecast error as an input to an inventory policy.
- Your forecast is an input to a decision, not the output
- Hierarchies, reconciliation and why totals matter
- Promotions: the feature nobody owns
- Lead-time variance is the real problem
- From forecast error to working capital
- Running it weekly without a data team
From the rebuild: Demand forecast + reorder
all articles
A risk model is not a decision model
Uplift · 11 min read
2026-07-14
What an eval suite is actually for
Agents · 14 min read
2026-06-28
Making an agent refuse
Agents · 9 min read
2026-06-02
Promotions: the feature nobody owns
Forecasting · 12 min read
2026-05-19
The four minutes that looked like a defect
Data engineering · 7 min read
2026-04-30
Removing a capability instead of restricting it
Governance · 8 min read
2026-04-08
You cannot claim a saving without a counterfactual
Measurement · 10 min read
2026-03-21
Closed vocabularies beat clever prompts
LLM / RAG · 9 min read
2026-02-24