The research behind the Recast engine.
Most planning and analysis vendors deploy a model. Recast runs a research lab. More than 20% of our team holds a PhD in statistics, math, or engineering, and their job is to make the engine measurably better, week after week. There is no single breakthrough that fixes marketing planning and analysis — no silver bullets, just lots of lead bullets. This page is the record of them.
✓ Every advance ships into every customer’s model through the weekly refresh
✓ Every forecast is scored against actual, realized business results
✓ Built on our own proprietary engine, not a wrapper on open-source libraries
95%+
median out-of-sample forecast accuracy, up from 93% two years ago
1 in 4
forecasts land above 97% accuracy
+21pts
improvement in our worst forecasts — the tail has improved most
20%
of the Recast team holds a PhD in stats, math, or engineering
Quantifying our Research
Every production model’s forecasts are scored against what actually happened, every week. Two years of research shows up as two lines moving up — and the worst forecasts improving fastest.

Research is the product: a running record.
A sample of what the research team has shipped and what it’s chasing, grouped by the problem it attacks. No single item transforms the model. Together, they’re why the chart above goes up.
Measuring more of what you care about
Multi-stage models
Shipped
A survival model that links your first KPI to the one that matters more — signup to paid conversion, trial to subscription — so channel performance is measured against downstream value, not top-of-funnel volume.
LTV-based models
Shipped
A model that links customer acquisition to performance over time. You don’t just care about your CPA, you also care about whether that CPA was justified, and whether certain channels tend to acquire more valuable customers than others.
Campaign-level measurement
Active
Customers don’t just ask “how is Meta doing” — they ask how last month’s campaign did across three channels. Research into estimating campaign-level performance without exploding the model’s channel count.
Geo-level media mix models
Active
Models per geography that roll up coherently to a national view. Has been gated because of computational bottlenecks for Recast’s MMM (which is fully time-varying at the daily level). The speed work below finally makes estimating them at scale feasible.
Portfolio-level budget constraints
Shipped
Real budgets have overlapping rules — a total cap and a Facebook floor and a lower-funnel tradeoff, all at once. New constraint mathematics for the optimizer so it can accept budgets the way CFOs actually write them.
Altcast: replaying history
Shipped
Forecasting in reverse — what would last quarter have done under the budget you didn’t choose, holding everything else constant. The counterfactual behind every “what if we’d spent more on TV” argument.
Modeling how marketing actually works
Channel footprint scaling
Shipped
When a channel expands from 30% of the market to 60%, sales rise — and a standard MMM calls that better performance. Footprint scaling lets the model know each channel’s market coverage over time, so broader reach never masquerades as a straighter saturation curve.
Incorporating query volume for branded search
Shipped
We’ve modeled branded search as both an output and an input for some time. Branded search is both caused by marketing activity and a cause of sales, and both effects are important to capture. But auction dynamics impact how much search spend is driven by upper funnel activity; capturing that correctly leads to improved estimates of both upper and lower funnel effects.
Non-spend demand signals
Shipped
Web sessions and email sends carry real information about the funnel but don’t fit as spend channels — treated naively they steal credit from the media that drove them. A new channel type models them without the theft.
Channel grouping
Shipped
Channels with similar physics — several flavors of paid social, say — can share statistical strength. Grouping them measurably improves stability, interpretability, and forecast accuracy, and the approach is now being extended to lower-funnel channels.
Making the model more accurate
Optimization-aware ROI priors
Active
A new class of efficiency priors that constrains the model from finding “corner” solutions where one channel absorbs all of the credit. Tighter, better-shaped ROI priors trade a little theoretical flexibility for models that forecast the way the business actually behaves.
Smarter promotion priors
Shipped
Promotions are easy to over-fit: a spike parameter will happily absorb signal that belongs to media. Re-engineered spike priors keep promo effects realistic and pass parameter-recovery checks.
Translating CPA experiments into the model, correctly
Shipped
Turning a CPA lift test into the ROI prior the model needs is not simple arithmetic. CPA is the reciprocal of efficiency — it races toward infinity as a channel weakens — so a tidy, symmetric uncertainty band on CPA becomes a badly skewed one on ROI, and the naive inversion breaks outright when a test is noisy. A Gamma-distribution approach carries the test’s real uncertainty through the flip intact.
Benchmarking Recast vs. the World’s Greatest Test
Shipped
The only real test of a statistical model is whether it can make accurate forecasts even when you make changes to the underlying data. Biased models can forecast well — unless you use them. Only truly causal models survive this test. We looked at the last two years of data, separating forecasts into “easy” and “hard” based on how much spending patterns changed. The upshot was a 35%+ reduction in forecasting error regardless of how difficult the forecast was.
Benchmarking against open-source models
Shipped
Recast head-to-head against Robyn and Prophet on identical data, judged out of sample. If a free library measured marketing as well as we do, we’d want to know first.
Making the model more stable
Separating noise from signal: autocorrelated errors
Active
When the model misses high on Monday, it tends to miss high on Tuesday too — but a model that assumes independent errors reads five misses in a row as five pieces of fresh evidence, over-reacts, then swings back. Modeling the correlation directly removes a mechanism behind week-to-week swings customers have described for years.
Rolling stacking weights
Shipped
Each Recast model is an ensemble. Letting the ensemble weights evolve smoothly instead of resetting each week anchors this refresh to the last one — steadier estimates without freezing the model’s ability to learn.
Better Gaussian Process specifications
Shipped
Overhauled our GP specification to more easily decompose “level” (overall mean) and “shape” (seasonality and trend) effects in the model, and to be able to independently set priors and group across those dimensions. The result: more interpretable models, better forecasting performance.
Making the model faster
Gradient optimization: models in a tenth of the time
Shipped
Swapped in custom analytic gradients for key functions in the model, avoiding automatic differentiation — cutting fit times roughly 10x. Faster iteration for the research team, faster onboarding and refreshes for customers, and the compute headroom that makes bigger model structures feasible.
Custom data structures and better mass matrix tuning
Shipped
Swapped the internal data structures into a var_matrix representation, making autodifferentiation 2x faster. We also implemented the nutpie mass matrix tuning algorithm in our model fitting, improving sampling time by roughly 2x.
Low-rank approximations of full-rank Gaussian processes
Shipped
Full-rank GPs scale to roughly 1k parameters per channel (a few years of data is roughly a thousand timesteps). Low-rank approximations of the kernel matrix can approximate the full rank GP arbitrarily closely with an order of magnitude fewer parameters. This is likely to improve our sampling speed by about 2x.
Wiring experiments into the model
Multi-channel lift tests
Shipped
Real experiments often cover several channels at once — a geo holdout across all of paid social, not one platform. The model now ingests multi-channel tests directly instead of forcing an artificial single-channel attribution.
Lift tests as hard bounds
Active
Customers rightly weigh a clean experiment above any observational model. A harder-bounded lift-test prior makes the model share that judgment — estimates during a test window stay consistent with what the test found.
Making experiments echo further
Active
A lift test tells you about more than its three-week window. Research into how far a test’s evidence should propagate forward and backward in time, so an expensive experiment keeps paying off.
Designing better geo experiments
Shipped
Which cities go in the treatment group, and how many? Optimizing test design against correlated geo-level sales data buys the same statistical power for less spend at risk.
Signal booster
Shipped
Some channels simply haven’t generated enough variation for any model to read them. Signal Booster identifies those channels and recommends the specific experiment or budget shift that would create the missing signal.