Blog
Direct Mail Marketing media mix models

Building an In-House Media Mix Model? Here's How to Make Sure Direct Mail Gets Counted Correctly

10 Min Read
by Allison Nick

Most in-house MMM efforts have a structural blind spot: direct mail is either excluded entirely or modeled with data so coarse it guarantees undervaluation. Here’s how to fix that.

Why Most In-House MMMs Systematically Undervalue Direct Mail

A growing wave of major advertisers — Hershey’s being the most publicly vocal — are bringing media mix modeling in-house. The logic is sound: proprietary models built on your own data, updated on your own timeline, tuned to your own business outcomes. But there’s a systematic problem in nearly every in-house MMM effort we’ve seen: direct mail is either excluded entirely or modeled with data so blunt it effectively guarantees a suppressed coefficient.

The root cause isn’t methodological. It’s historical. Legacy direct mail campaigns produced batch-level send data with weekly or monthly granularity, no household-level targeting logs, and no controlled holdout groups. That data was genuinely too coarse for a well-built MMM.

But the medium has changed faster than the modeling assumptions. Modern programmatic direct mail platforms generate timestamped, household-level campaign data with built-in holdout controls — the same granularity MMM systems need from any digital channel. Brands building or refining in-house models that fail to incorporate this data will systematically over-allocate budget toward digital channels and under-allocate toward a channel that, for many categories, delivers the strongest incremental ROAS per household reached.

What follows is a technical but accessible framework for getting direct mail right inside your MMM: the required data inputs, holdout group design, saturation curve considerations, and the specific steps needed to isolate direct mail’s incremental contribution alongside digital without double-counting.

The Data Gap That Creates the Bias

When Hershey’s programmatic chief publicly outlined the company’s push to own its media mix model, the stated rationale was control: faster iteration, no black-box vendor methodology, and the ability to integrate AI agents directly into allocation decisions. That logic resonates across the industry. Multiple industry surveys confirm a clear trend: the majority of large advertisers have either built or are actively building proprietary MMM systems.

But building the model is one problem. Feeding it the right data is another.

Most in-house MMM teams are staffed by data scientists with deep experience in digital media. They know what a clean impression log looks like. They know how to ingest platform-level spend data from Meta, Google, and programmatic DSPs at daily or even hourly granularity. They structure the model’s input matrix around variables they can observe with high frequency and high confidence: impressions, clicks, spend, and attributed conversions that are all timestamped and all granular.

Direct mail, historically, didn’t fit this schema. A legacy direct mail campaign might produce a single row in the dataset: “We mailed 500,000 pieces in the second week of March.” No daily send distribution. No household-level targeting log. No holdout group to establish a baseline. When that’s the only data you can feed the model, the coefficient the MMM assigns to direct mail will be noisy at best, biased downward at worst. Many teams simply omit the channel rather than introduce a variable they can’t trust.

The result is a model that looks rigorous but contains a structural gap. Every dollar of direct mail’s actual incremental contribution gets attributed to whatever digital channel happened to run concurrently (typically paid search or paid social) which already benefit from last-touch attribution bias. The model doesn’t just miss direct mail’s value; it actively inflates digital’s apparent efficiency, creating a feedback loop that shifts budget further away from offline channels with every optimization cycle.

Any brand running direct mail alongside digital — and modeling only the digital side with precision — is making allocation decisions based on an incomplete picture of what’s actually driving revenue.

How Programmatic Direct Mail Generates MMM-Ready Data

The reason legacy direct mail was hard to model has been resolved by the same shift that made direct mail targetable in the first place: the move from batch-and-blast catalog operations to programmatic, data-driven campaign execution.

A programmatic direct mail platform like Postie generates campaign data that is structurally equivalent to what an MMM expects from any digital channel:

  • Household-level send logs: Every mail piece is tied to a specific address, with a recorded send date and an estimated in-home delivery window. This gives the MMM a time-series input at daily granularity, not monthly batch totals.
  • Audience-level segmentation metadata: Campaigns are built from first-party CRM data, enriched with third-party attributes. Every record includes the targeting criteria that drove selection. The model can distinguish between a lapsed-buyer reactivation campaign and a prospecting campaign using lookalike audiences, assigning separate coefficients to each.
  • Built-in holdout control groups: Postie automatically withholds a randomized subset of the qualified audience from each campaign. This is the single most important data input for MMM accuracy because it provides a clean counterfactual: what would have happened without the mail piece? Without a holdout, the model has to infer direct mail’s effect from time-series variation alone, inherently noisier and less trustworthy.
  • Matchback attribution data: Deterministic matching between the send file and downstream conversions (online orders, in-store transactions, app installs) gives the model an observed outcome variable tied directly to the treated population. This isn’t modeled attribution or probabilistic matching; it’s a record-level join between “this household received mail on this date” and “this household converted on this date.”

When these four data streams are present, direct mail slots into an MMM’s input matrix with the same fidelity as paid social or programmatic display. The modeling team doesn’t need to make special accommodations. They need the right data exports.

How to Structure Holdout Groups for Statistical Power, Not Convenience

A holdout group that’s too small produces confidence intervals too wide for the MMM to use. A holdout that’s too large sacrifices revenue you could have captured.

The practical guidance: hold out 10–15% of the qualified audience per campaign, randomized at the household level, and maintain the holdout for the full measurement window — typically 30–60 days post-delivery for direct mail, given longer response curves than digital. Critically, the holdout must be excluded from all direct mail (not just one campaign) during the measurement period. If a holdout household receives a different mail piece from a different campaign, you’ve contaminated the control.

For brands running continuous direct mail programs, implement a rolling holdout panel: a fixed subset of households that never receives mail for a defined period (typically one quarter), providing a persistent baseline the MMM can use as an anchor across campaigns.

This is how Postie builds incrementality measurement into every campaign. Every send runs alongside a holdout control. The model measures who received mail, who converted, and how that compares to the control group, separating campaign-driven behavior from organic purchases that were happening regardless.

Why Direct Mail’s Response Curve Requires Its Own Adstock Function

Direct mail has a fundamentally different response latency than digital. A paid search click converts in minutes or hours. A direct mail piece has an in-home delivery window of 3–7 days post-send, and the response curve typically peaks 7–14 days after delivery, with a meaningful tail extending to 45 days. If your MMM uses the same adstock decay function for direct mail that it uses for paid social, it will undercount late-arriving conversions and compress the apparent effect.

Build a channel-specific adstock transformation for direct mail. Start with a delivery delay parameter (the lag between send date and in-home date) and a decay rate calibrated to your own matchback data. Most programmatic direct mail campaigns show a half-life of 10–18 days post-delivery — significantly longer than any digital channel.

If you use a Bayesian MMM framework (such as Meta’s Robyn or Google’s Meridian), encode these priors explicitly rather than letting the model estimate them from time-series data alone, where direct mail’s slower response can be absorbed by faster-moving digital variables.

This aligns with what Postie observes across campaigns: physical mail’s impact doesn’t vanish when the initial response window closes. Campaigns retain meaningful performance well after the initial send window because the behavioral change direct mail creates persists.

How to Isolate Incrementality by Controlling for Cross-Channel Exposure

The most common source of double-counting in a multi-channel MMM occurs when a household that received direct mail also saw a digital ad, and both channels claim the conversion. The solution isn’t to assign credit to one or the other; it’s to structure the data so the model can decompose the joint effect.

Feed the MMM a cross-channel exposure matrix at the household level (or a representative aggregate): the percentage of the target audience that received mail only, digital only, both, or neither. With programmatic direct mail’s household-level send logs and your digital platform’s CRM-matched exposure data, you can construct this matrix directly rather than estimating it.

This allows the model to estimate interaction effects — how much of direct mail’s lift is additive versus how much is synergistic with digital touchpoints. In practice, most brands find that direct mail’s incremental contribution is largest among households that also received digital exposure, suggesting a reinforcement effect. But without the cross-channel matrix, the model has no way to separate reinforcement from redundancy, and it will default to crediting whichever channel has more granular data — which is always digital.

How to Model Direct Mail Saturation as Audience Depth, Not Spend

Digital channels exhibit saturation through rising CPMs: as you bid for more impressions, marginal cost increases and marginal ROAS declines. Direct mail exhibits saturation through audience exhaustion: as you extend beyond your highest-propensity segments into broader lookalike audiences, response rates decline even though unit costs remain relatively stable.

Model direct mail’s saturation curve as a function of audience depth (percentage of the addressable market mailed) rather than spend level. Use your own campaign history to estimate where diminishing returns begin — typically, response rates start declining meaningfully once you’ve mailed past the top 60–70% of your ML-scored audience. This produces a more accurate saturation curve than a simple spend-based Hill function, and it gives your optimization engine a more actionable lever: adjust audience depth, not just budget.

The Bottom Line: Your MMM Is Only as Good as the Data It Ingests

The push to insource media mix modeling reflects a correct instinct: brands that own their measurement frameworks make better allocation decisions, faster. But an in-house MMM is only as good as the data it ingests. If your model captures every digital impression with daily granularity and reduces direct mail to a quarterly line item — or omits it entirely — you’ll optimize toward the channels with the best-instrumented data, not the channels with the best actual performance.

Programmatic direct mail has eliminated the data gap that historically justified excluding offline channels from rigorous measurement. Household-level send logs, built-in holdout controls, deterministic matchback attribution, and audience-level segmentation metadata give your modeling team everything they need to assign direct mail a coefficient they can trust.

The technical work isn’t trivial — response curves, adstock functions, cross-channel exposure matrices, and saturation modeling all require channel-specific calibration. But the data exists. The methodologies are proven. The only question is whether your model reflects the full picture of what’s driving revenue, or just the channels that were easiest to plug in first.

Brands that get this right discover what their matchback data has been telling them: direct mail’s incremental contribution is larger than their previous models suggested, and the optimal budget allocation includes more offline spend than a digital-only model would ever recommend.

[See how Postie’s matchback attribution and holdout controls generate the MMM-ready data your modeling team needs →]

The Rocket Blog Thumbnail
Launching DM tips & tricks to your inbox
Subscribe