Machine learning

The model only matters if it changes the work.

One project used anonymized B2B manufacturer data for revenue forecasting, customer scoring, and prospect scoring. The other uses years of my own paid-ad data across paving, garage door, and Heaviside-managed accounts.

The useful part is not the model name. It is whether the model changes what someone does next.

AI avatar summary

No loose AI claims.

This page is about source data, baselines, validation, and whether the work made a real decision easier.

Here's a summary of this page by my AI Avatar

Source data

Start with the underlying records, not screenshots or stale dashboard summaries.

Baseline

Measure against a simple baseline before claiming a model improved anything.

Validation

Use holdouts, walk-forward checks, and segment reads where the data calls for it.

Production use

The model matters only if it changes a decision, alert, report, or review loop.

Anonymized case study

Revenue forecasting (anonymized B2B)

Anonymized Case Study

Multi-year revenue forecasting program for an anonymized B2B manufacturer. XGBoost on 27 engineered features, walk-forward validation, state disaggregation that cut MAPE in half, autoresearch agent campaign that drove global mean MAPE to 3.77%.

Three pooled segment models, two domestic and one international across 144 countries
Single-digit test MAPE across all three segment models
machine-learning:forecasting
Open page
Anonymized case study

Customer + prospect intelligence

Anonymized Case Study

Customer segmentation, prospect lookalike scoring, repurchase prediction, and customer-potential scoring across ~34K customers and a six-figure external-institution reference universe. Surfaced an eight-figure identified growth opportunity across the top-scoring accounts.

~34K customers segmented (K-Means k=5, silhouette 0.54)
Lookalike propensity classifier scored 108K+ prospect institutions, ROC-AUC 0.869
machine-learning:customer-intelligence
Open page
Deployment and ops

Production ML infrastructure

Anonymized Case Study

What it actually takes to run a real ML system in production. MLflow registry, FastAPI service layer, React frontend, Docker + Coolify + Cloudflare, JWT + SES email auth, quarterly retrain runbook, drift monitoring, autoresearch off-net runtime.

MLflow registry with alias-based rollout (alias=best)
FastAPI service layer with role-restricted endpoints
machine-learning:ml-infrastructure
Open page
Years of multi-vertical ad data

Industry paid-ad ML model

Internal

Years of paid-ad data across 165+ accounts in paving, garage door, and Heaviside-managed verticals. Warehoused, vertical-labeled at ingest, ML feature view per account-day, production scoring engine that writes risk scores and threshold alerts on every warehouse run. Same methodology as the anonymized B2B forecasting work, applied to my own ad data.

165+ ad accounts modeled
Multi-year daily metrics across Google + Meta
machine-learning:ml-industry-ad-model
Open page