https://www.mediamixmodel.com/blog/marketing-mix-modeling-control-variables
    Go Back

    Choose Marketing Mix Modeling Control Variables With Care

    Choose marketing mix modeling control variables for price, promotions, seasonality, distribution, macro factors, and competitive effects.

    EJ White

    • 8 min read
    Choose Marketing Mix Modeling Control Variables With Care

    The right control variables decide if your marketing mix model tells the truth or a comforting story. If you pick too few, you get omitted-variable bias. This means the model gives ads credit for sales that a holiday, a price cut, or a competitor problem actually caused. If you pick too many, or the wrong kind, you cause overfitting or post-treatment bias. These problems hide the real effect of your media. This article gives you a decision path to choose controls with care.

    What Controls Do

    A control variable is any input that is not paid media but still explains changes in sales. Marketing mix modeling (MMM) uses statistics to estimate how much each input, media and non-media, contributed to an outcome over time. Controls let the model separate the effect of ads from the effect of everything else that changes at the same time.

    MMM is a correlational method that uses causal language. It infers effects from patterns in historical data, not from controlled experiments. Attribution, by contrast, tracks individual touchpoints. Incrementality testing measures cause and effect directly. Examples include holdouts or geo experiments that withhold treatment from part of the audience. Controls try to match what an incrementality test would show, without you having to run one.

    Good controls narrow the gap between the two methods. Weak controls widen it.

    Confounding creates the core danger. A confounder is a variable that affects both a marketing channel and sales at the same time. A well-known example: a Football World Cup increases both TV spend and jersey sales. If the model does not include a World Cup variable, it will credit TV with sales that the tournament caused. See this Towards Data Science analysis of MMM bias. Controls exist to remove these shared causes.

    A simple causal diagram showing three boxes labeled "Seasonality," "TV Spend," and "Sales," with arrows from Seasonality to both TV Spend and Sales, illustrating how a confounder creates a false link between media and outcome

    Core Control Categories

    Most non-media variables in MMM fall into a small number of groups. Review each group before you finalize a model.

    • Seasonality and holidays. Weekly or monthly patterns tied to the calendar, such as Christmas or back-to-school demand, move sales without any link to ads. See fusepoint's overview of MMM design.
    • Price and promotion. Discounts and price changes shift demand directly. If a promotion also triggered extra ad spend, it is a confounder and you must add it to the model. See the Towards Data Science piece on confounders.
    • Macroeconomic conditions. Inflation, unemployment, and consumer confidence affect spending power. See M-Squared's guide to variable selection.
    • Competitor activity. A rival's price cut or campaign changes market demand for reasons unrelated to your media. Several MMM data guides list this as a valuable variable when you can get the data, including MMM Pilot's data requirements.
    • Distribution and availability. Store count, stock-outs, and product launches change what customers can buy, apart from advertising. See the Hopmann Marketing Analytics data requirements checklist.
    • Weather. This matters for categories like insurance, apparel, or beverages, where climate drives short-term demand swings.

    For a full list of the raw inputs a model needs before you even reach controls, see our guide to marketing mix modeling data requirements.

    Selection Criteria

    Run a short test before you add any variable to your model. Ask three questions in order.

    1. Does it affect sales? If a variable has no plausible link to the outcome, leave it out. Extra variables that add only noise reduce precision without adding truth.
    2. Does it also affect a media channel? If yes, it is a confounder. You must include it, or your channel estimates will absorb its effect. The World Cup example above is the classic case.
    3. Did media cause it? If the variable changes after your media spend, and media caused that change, do not add it as a control. This is a post-treatment variable, and the next section covers it in full.

    Prefer variables with a clear, defensible causal story. Do not pick variables that merely correlate well within your data set. A control without a real mechanism will fail on new data. It can quietly absorb the effect of your advertising. This is why you need company knowledge, not just data mining, to identify confounders. The Towards Data Science piece stresses this point when it says causality "only resides on assumptions."

    Balance this against overfitting. Each added variable costs you a degree of freedom, and weekly or monthly marketing data rarely spans more than a few years. Our article on MMM regression methods explains how too many covariates inflate variance in your coefficient estimates, even when each covariate seems reasonable alone.

    A Decision Tree for Controls

    StepQuestionIf YesIf No
    1Does the variable move sales on its own?Go to Step 2Exclude
    2Does it also move a media channel?Include as confounder controlGo to Step 3
    3Did media spend cause this variable?Exclude (post-treatment)Include with caution, monitor for overfit

    Post-Treatment Variables

    A post-treatment variable, often called a mediator, sits between your media spend and your sales outcome. Website visits driven by a TV ad are a common example. TV increases visits, and visits increase sales.

    Adding "visits" as a control may seem harmless, but it is not. If you control for visits, your model captures only the direct effect of TV on sales. It misses the indirect effect that runs through visits. The Towards Data Science analysis found that a mediator cut one channel estimate by more than half, understating that channel's true value. The rule is simple: control for confounders, never for mediators.

    To test whether a variable is a mediator, use the same causal thinking you use to test for a confounder. Ask whether your media spend could plausibly change the variable's value. If yes, and the path runs toward your outcome, treat it as a mediator and exclude it from the control set.

    A flowchart with three decision diamonds in sequence, labeled "Affects sales?", "Also affects media spend?", and "Caused by media spend?", leading to boxes marked "Include," "Exclude," or "Include with caution"

    Data Preparation

    Raw data rarely arrives ready for a model. Follow a consistent process before you add any control to a regression.

    • Align time granularity. Match weekly or monthly frequency across every input, including price, promotion calendars, and macro indicators.
    • Decompose seasonality. One straightforward method extracts a seasonal component from your outcome series and adds it back as its own feature. See Mar-Sci's guide to control variables.
    • Source external data with care. Government portals and industry data providers offer macroeconomic and competitor series, but these often need aggregation and date alignment before use. The same Mar-Sci guide notes this.
    • Check units and scale. Price should reflect net price after standard discounts, not list price. See the categories in the Hopmann data requirements checklist.
    • Document your causal assumptions. Write down why each control belongs in the model before you run any regression. This record protects you from swapping a confounder for a mediator without noticing.

    Clean, aligned inputs matter as much as the right variable list. A confounder with mismatched dates or units will not correct the bias it exists to fix.

    Sensitivity Testing

    No single model run proves your control set is correct. Test it.

    Run the model with and without each candidate control, one at a time, and compare the channel coefficients. A large shift in an estimated effect signals that the removed variable had a real effect, likely as a confounder. A stable estimate suggests the variable added little beyond noise.

    Compare model fit statistics across these runs, but do not chase fit alone. A control that improves fit without a causal story may only fit a coincidence in your specific time window. Check any channel estimate you plan to act on against outside evidence, such as a geo holdout test or a lift study. Follow the steps in our guide to validating your MMM. MMM, attribution, and incrementality tests answer different questions. Agreement across two of them gives you more confidence than any one method alone.

    Conclusion

    Control variables are not a checklist you fill out once and forget. They are a set of causal claims about your business, and you must defend, test, and revisit them as conditions change. Include real confounders such as seasonality, price, promotion, and competitor activity. Exclude mediators that sit downstream of your own media spend. Prepare your data with care, and test your control set with sensitivity checks rather than trust in a single model run.

    If you want a second opinion on your model's inputs and the causal structure behind them, we offer a model input and causal-structure review. Reach out to walk through your control variables before you commit to a channel budget decision built on them.

    A text-free conceptual business visual about Selection criteria in the context of marketing mix modeling control variables, using abstract shapes and objects with no title, labels, words, numbers, logos, or fabricated data

    Stay in the loop

    Get updates on new posts and resources.

    Related Posts
    Loading related posts...