Skip to content
Matthew Reda

Archives

All the articles I've archived.

2026 29
July 5
June 24
  • Collinearity Doesn't Break Your Model — It Tells You What Your Data Can't Separate

    A high VIF isn't a technical failure to fix — it's a signal that your data can't distinguish two effects. The right response is better data or informative priors, not variable deletion.

  • Simulation-Based Calibration: The Missing Test in Your Bayesian Workflow

    Passing R-hat and ESS tells you the sampler converged — it says nothing about whether the inference is correct. Simulation-Based Calibration is the test that checks the inference itself.

  • Read the Diagnostics First

    R-hat, ESS, and divergences are not bureaucratic hurdles before you report a ROAS — they're the sampler telling you whether its output is valid. Here's what each one actually measures and what it reveals when it fails.

  • Stop Reporting ROI to Four Significant Figures

    A point estimate written as 2.347 looks like you know the answer to a tenth of a percent. If your interval is ±10%, you don't — you know the first digit and you're guessing at the second. The decimal places are a confidence claim the model never made.

  • The Assumptions Are the Model

    A model is a dumb number-crunching machine. Put data in, get numbers out — and unless something breaks loudly, those numbers look exactly as confident when your assumptions hold as when you've shredded them. The meaning was never in the arithmetic. It was in the assumptions.

  • mmm-framework 0.1.0 Is on PyPI

    The first public release of mmm-framework — a Bayesian marketing-mix modeling library built on PyMC-Marketing, designed around methodological rigor instead of specification shopping. pip install mmm-framework.

  • Measurement Is a Loop, Not a Report

    A marketing-mix model usually ships as a quarterly slide deck — a snapshot that's stale on arrival and impossible to interrogate. The more honest unit of measurement is a living workspace where evidence has a status and a shelf life.

  • Wiring Your MMM to Your Experiments

    Most teams run MMMs and geo-lift experiments as separate silos, then argue about which to trust. The better move is to wire them into a loop — the model picks the experiments, the experiments calibrate the model — and watch the uncertainty contract.

  • All Models Are Wrong, So Make Yours Generative

    If you can't run your model forward to simulate data, you don't understand it. Generative modeling turns that test into a workflow — and exposes the gap between a model that fits and a model that's right.

  • Coincidence Is Not Contribution

    A marketing-mix model answers a causal question — what would sales have been without this media — not "what moved together." Most MMMs quietly answer the easier question and dress it up as the hard one.

  • Your MMM's Control Coefficients Are Not Findings

    In a marketing-mix model you add seasonality, price, and competitor spend so your media coefficients come out clean. Then someone reads those control coefficients as insights. That's the Table 2 fallacy, and in an MMM it comes with two extra ways to get burned.

  • What Decades of Marketing-Mix Data Actually Tell Us

    Forty years of scanner data and split-cable experiments converge on a few numbers that are remarkably stable across brands and categories. Knowing them turns a media model from a free-for-all into something with priors.

  • You Are Your Relationships: The Yoneda Lemma

    Category theory's most famous lemma says something almost philosophical: an object is completely determined by its relationships to everything else. The same idea quietly powers embeddings, interfaces, and most good abstraction.

  • The Effect You're Looking For Isn't in Your Panel Data

    A between-person association and a within-person effect can differ in size or even flip sign. Most longitudinal models silently estimate a blend of the two, and the model you reach for decides which question you're actually answering.

  • Designing Experiments to Maximize Information

    There's a single objective that says what makes one experiment better than another — expected information gain. It's beautiful, it's principled, and it's a nightmare to compute. Here's the arc from Lindley in 1956 to policies that design experiments in real time.

  • NO TEARS: How Acyclicity Became Differentiable

    Learning the structure of a causal graph from data used to be a combinatorial search over a space that grows superexponentially. One change of variables turned it into gradient descent.

  • The Illusion of Significance: Why p-value Variable Selection Breaks Marketing Mix Models

    Stepwise regression produces overconfident models with biased estimates — here's why that matters for MMM, and how Bayesian shrinkage priors fix the problem without breaking your causal identification.

  • Noisy Covariates Bias Your Coefficients Toward Zero

    When a predictor in your regression is measured with error, its coefficient shrinks toward zero in a predictable, quantifiable way — here's the math and the Bayesian fix.

  • Building a Pre-Specified Bayesian MMM

    Most marketing mix models are tuned until the numbers flatter the brief. Here's the case for pre-specifying the model instead, and how mmm-framework builds the discipline into its API.

  • The Table 2 Fallacy: Your Control Variables Aren't What You Think

    Controlling for a variable to identify your treatment effect doesn't mean that variable's coefficient is causally interpretable — and confusing the two is surprisingly common.

  • Hello, world

    Welcome to my corner of the internet. A quick note on what this blog is for.

  • Atlas: Budget Optimization Over Any Model

    A fitted model predicts response; it doesn't hand you the best budget. Atlas is a model-agnostic framework that turns any predictive model into constraint-respecting spend recommendations.

  • Bayesian Models as Configuration

    Treating a Bayesian marketing-mix model as declarative configuration — variables, transforms, normalization, and priors in JSON — so a malformed input file fails validation before you fit instead of after you've shipped the wrong number.

  • Bayesian Brand Tracking, Honestly

    Why weekly brand-tracker survey data needs a Binomial likelihood instead of raw percentages, what a small PyMC model actually buys you, and where partial pooling and state-space smoothing come next.