MBA Marketing Mix Modeling Concept Card Template
Adstock, saturation, base versus incremental, decomposition, ROI and marginal ROI, holdout validation, experiment calibration, Robyn and Meridian
Cách dùng: Use it when you must build, read or challenge a marketing-mix model for cross-channel budgets. Check the data window, spend variation and the experiments used for calibration before reading any ROI. The main pitfall is trusting a model because it fits well when a channel moves with demand.
Xem trước
Marketing Mix Modeling Concept Card: [Brand, market or course]
A concept card for building, reading and challenging a marketing-mix model (MMM): adstock (carry-over), saturation curves, base versus incremental sales, decomposition, return on investment and marginal return, validation, calibration with experiments, and the open-source tools practitioners use. It is for MBA students in a marketing analytics elective and for managers who receive an MMM from an agency or an in-house team and must decide how far to trust it. It builds on the core card mba/mba-marketing-mix-card, which introduced the response curve, adstock and the equal-marginal-return allocation rule, and on mba/mba-regression-for-managers-card for regression basics; neither is re-taught here. Source basis: Koyck (1954), Broadbent (1979), Little (1970), Dorfman and Steiner (1954), Hanssens, Parsons and Schultz (2001), Jin et al. (2017) and Sethuraman, Tellis and Briesch (2011), written up in original words with simulated, fictional Northfield Outdoor Co. data. Every number was computed in Python (numpy) and is shown with its Excel route where Excel can compute it. Replace every [bracketed] value and every row marked Example.
Document control
| Field | Value |
|---|---|
| Document ID | [MKT-MMM-001] |
| Course or project | [Marketing analytics elective / FY budget review] |
| Learner or analyst | [Your name] |
| Decision owner | [@owner] |
| Reviewed by | [Study group / analytics lead / agency] |
| Data set | [Northfield Outdoor Co., 104 weeks, simulated (fictional) / your data and source] |
| Granularity | [Weekly, national / weekly by region] |
| Model form | [OLS with grid-searched adstock and saturation / Bayesian / ridge] |
| Calibration evidence | [Search geo holdout, iROAS 3.7, SE 0.5 / your experiments] |
| Software | Python 3 with numpy; Excel (LINEST, EXP, Solver or Data Table) for the single-model route |
| Last updated | YYYY-MM-DD |
| Version | [0.1] |
| Classification | [Course work / internal] |
When to use it
One-sentence rule: use an MMM when you need the incremental contribution and return of all major marketing levers, including offline ones, on total sales, with privacy-safe aggregate data, and you have at least two years of weekly history with real variation in spend.
| Good uses | Poor uses |
|---|---|
| Annual and quarterly budget setting across TV, digital, print, promotions | Day-to-day bidding or creative choice (too slow, too aggregate) |
| Separating base sales from marketing-driven sales | A brand with one year of data and constant spend in every week |
| Measuring channels with no user-level tracking (TV, radio, out-of-home) | Proving causality on its own (needs experiments to calibrate) |
| Price and promotion effects alongside media | Very small channels whose spend is below the noise level |
| Checking platform and attribution claims against total sales | Questions about individual customer journeys (mba/mba-digital-attribution-card) |
The idea in plain language
An MMM explains weekly sales as a base (what the brand would sell with no current marketing: distribution, brand strength, trend, season) plus the incremental effect of each marketing lever, plus price, promotions and outside factors. Two shapes make it a marketing model rather than a plain regression:
- Carry-over (adstock). Advertising this week still sells next week. Koyck (1954) introduced geometrically declining distributed lags in economics; Broadbent (1979) coined "adstock" for the decaying stock of TV advertising. With retention rate , the effect halves every weeks.
- Saturation (diminishing returns). The first dollars in a channel reach the most responsive people; later dollars reach people who already saw the message. The response curve flattens.
The model learns these shapes from history: weeks with heavy TV and weeks without, weeks with promotions and weeks without. The coefficients then give each lever's contribution, its return on investment (ROI) and, most useful for budgeting, its marginal return at current spend, which feeds the allocation rule of the core card.
The idea is old. Little (1970) argued that managers will only use models that are simple, robust and easy to control; Dorfman and Steiner (1954) showed that a profit-maximising firm sets its advertising-to-sales ratio equal to the ratio of its advertising elasticity to its price elasticity. Hanssens, Parsons and Schultz (2001) is the standard reference on market response models. For scale, a meta-analysis of 751 short-term and 402 long-term brand advertising elasticities from 56 studies (Sethuraman, Tellis and Briesch 2011) found an average short-term elasticity of 0.12 and an average long-term elasticity of 0.24: a 10% rise in advertising goes with roughly 1.2% more sales in the short run. An MMM that implies much larger effects deserves a second look. What is new since the late 2010s is the return of MMM as user-level tracking declined, and Bayesian versions that combine data with prior knowledge and experiments (Jin et al. 2017).
Formulas and notation
Model for week :
Geometric adstock with retention :
Saturation. The negative exponential of the core card, , or the Hill curve (named after Hill's 1910 dose-response work), which allows an S-shape:
where is the half-saturation point and the shape. Tools differ in which they use; the business reading is the same.
Contribution, ROI and marginal ROI of channel over the period:
At a steady weekly spend , the adstock settles at , so the weekly response and marginal return are
Profit test. With gross margin , the next dollar pays back if ; channels should be funded until their marginal returns are equal (core card).
| Symbol | Meaning | Northfield example A (fitted) |
|---|---|---|
| Spend in channel , week (USD k) | TV average 46.58, search average 34.49 | |
| Adstocked spend | TV only | |
| Adstock retention per week | 0.60 for TV (search: none) | |
| Saturation scale (higher means slower saturation) | 175 for TV, 20 for search | |
| Maximum weekly incremental sales from the channel (USD k) | 500.51 TV, 289.55 search | |
| Price effect per unit of price index | -1,473.49 | |
| Incremental sales credited to over the period | TV 23,394.6, search 24,089.2 | |
| Gross margin | 0.45 |
Assumptions and limits
| Assumption | What it means | How to check or protect | If it fails |
|---|---|---|---|
| Spend varies for reasons unrelated to demand | Otherwise the model cannot separate marketing from demand | Ask how budgets are set; plot spend against season | Channel effects absorb seasonality: calibrate with experiments |
| Channels do not move in lockstep | Separate variation per channel | Correlation matrix of spend; variance inflation factors | Credit is split arbitrarily between correlated channels |
| Right functional form | Adstock and saturation shapes fit reality | Compare forms; residual plots; holdout error | Biased ROIs, wrong marginal returns |
| All important drivers included | Price, distribution, competitors, macro, weather | Business review of the variable list | Omitted variable bias (core regression card) |
| Stable effects over the window | The channel works the same in year 1 and year 2 | Rolling-window refits | Use time-varying coefficients or shorter windows |
| Enough data | Typically 2 to 3 years of weekly data, or regional panels | Count parameters against observations | Priors, pooling across regions, fewer channels |
The central limit of MMM. Many different parameter sets fit history almost equally well (sometimes called equifinality). Fit statistics cannot choose among them; outside evidence (experiments, priors, business sense) must. Worked example A shows this directly.
How managers use it in practice
- Budget setting. Response curves feed the allocation rule; the profit-maximising budget sets every channel's marginal gross profit to one dollar (mba/mba-marketing-mix-card).
- Triangulation. MMM (top-down, all channels, total sales), attribution (bottom-up, digital paths) and experiments (causal, one channel at a time) are combined; experiments are the arbiter (mba/mba-marketing-experiments-card).
- Base-sales tracking. A shrinking base with steady marketing contributions is an early warning about brand health or distribution (mba/mba-brand-equity-card).
- Tools (dated facts, checked 28 October 2026). Meta's Robyn is an open-source, MIT-licensed MMM package in R (with a beta Python API first released on 22 November 2023) that uses ridge regression, Nevergrad hyperparameter optimisation and Prophet decomposition, and can be calibrated with lift tests (Robyn). Google's Meridian is an open-source (Apache-2.0) Bayesian MMM in Python that supports national or geo-level data and experiment-based priors (Meridian); Google's earlier LightweightMMM states it is no longer supported and recommends Meridian, and its repository was archived in January 2026. PyMC-Marketing (PyMC Labs, Apache-2.0) offers Bayesian MMM with adstock, saturation and lift-test calibration. Check each project's page for current versions and methods before you rely on them.
Worked example A (fully solved): a two-year MMM for Northfield
Situation (fictional). Northfield Outdoor Co. spends on regional TV in flights (54 of 104 weeks, USD 4,844.8k in total) and on paid search every week (USD 3,587.2k), and runs 10% price promotions in a few weeks. Weekly revenue averages USD 1,036.6k. The CMO asks: what did TV and search each add, and where should next year's money go? Search spend follows demand (correlation with the seasonal curve 0.929), as it does in most firms, because search budgets are set against query volume.
The data are simulated so that the true effects are known: TV adstock 0.6 and scale 150 with a maximum of 500; search scale 60 with a maximum of 300; noise SD 30. The analyst does not know these values.
Step 1: fit the model
import itertools
import numpy as np
rng = np.random.default_rng(61) # simulated Northfield data, 104 weeks
T = 104; t = np.arange(T); season = np.sin(2*np.pi*(t-10)/52)
price = 1 - 0.10*(rng.random(T) < 0.12) # 10% promotions in some weeks
tv = np.where(rng.random(T) < 0.45, rng.uniform(60, 120, T), 0.0).round(1)
search = (35 + 12*season + rng.normal(0, 4, T)).round(1)
def adstock(x, theta):
out, carry = np.zeros_like(x), 0.0
for i, v in enumerate(x):
carry = v + theta*carry; out[i] = carry
return out
def sat(x, k):
return 1 - np.exp(-x/k)
sales = (600 + 0.8*t + 120*season - 1500*(price-1) + 500*sat(adstock(tv, 0.6), 150)
+ 300*sat(search, 60) + rng.normal(0, 30, T)).round(1)
def X(theta, k_tv, k_s):
return np.column_stack([np.ones(T), t, season, price-1,
sat(adstock(tv, theta), k_tv), sat(search, k_s)])
fits = []
for theta, k_tv, k_s in itertools.product(np.arange(0, 0.91, 0.05), range(50, 401, 25), range(20, 151, 10)):
b, *_ = np.linalg.lstsq(X(theta, k_tv, k_s), sales, rcond=None)
fits.append((((sales - X(theta, k_tv, k_s) @ b)**2).sum(), round(theta, 2), k_tv, k_s, b))
sse, theta, k_tv, k_s, b = min(fits, key=lambda f: f[0])
Xb = X(theta, k_tv, k_s)
print("theta, k_tv, k_s:", theta, k_tv, k_s, " R2:", round(1 - sse/((sales - sales.mean())**2).sum(), 4))
print("coefficients:", [round(float(v), 2) for v in b])
print("ROI TV:", round((Xb[:, 4]*b[4]).sum()/tv.sum(), 3), " ROI search:", round((Xb[:, 5]*b[5]).sum()/search.sum(), 3))
Output from the run:
theta, k_tv, k_s: 0.6 175 20 R2: 0.978
coefficients: [507.33, 1.0, 129.13, -1473.49, 500.51, 289.55]
ROI TV: 4.829 ROI search: 6.715
The grid search tries 19 adstock rates, 15 TV scales and 14 search scales (3,990 models) and keeps the one with the
smallest sum of squared errors; for each, the remaining coefficients are ordinary least squares. Excel route for
one candidate: put spend in column B, the adstock in C with =B3+$H$1*C2 (retention in H1), the saturation in D
with =1-EXP(-C2/$H$2), put trend, season, price minus 1, the TV saturation and the search saturation in adjacent
columns, then =LINEST(sales range, that block, TRUE, TRUE) (LINEST returns the coefficients in reverse column
order, intercept last); use a Data Table or Solver over H1 and H2 to minimise =SUMXMY2(actual, fitted).
Step 2: validate out of sample
Refit on weeks 1 to 91 only and forecast weeks 92 to 104: the selected parameters are 0.55, 150 and 50, and the
holdout mean absolute percentage error is 3.03% (=AVERAGE(ABS((actual-forecast)/actual))). The model fits and
forecasts well: = 0.978, residual SD 30.35, close to the true noise of 30.
Step 3: decompose and compute returns
| Component | Contribution over 104 weeks (USD k) | Share of fitted sales | Spend (USD k) | ROI (revenue per USD) |
|---|---|---|---|---|
| Base (intercept, trend, season) | 58,114.6 | 53.9% | ||
| Promotions | 2,210.2 | 2.1% | ||
| TV | 23,394.6 | 21.7% | 4,844.8 | 4.829 |
| Paid search | 24,089.2 | 22.3% | 3,587.2 | 6.715 |
At a 45% gross margin, profit ROI is for TV and 2.022 for search. Marginal ROAS at average spend (steady-state formula): TV 3.675, search 2.581. TV's adstock of 0.60 means one dollar of TV counts 2.50 times in total, with a half-life of 1.36 weeks.
Step 4: compare with the truth
Because the data are simulated, we can do what no real analyst can:
| Channel | Fitted contribution | True contribution | Fitted ROI | True ROI | Fitted marginal ROAS | True marginal ROAS |
|---|---|---|---|---|---|---|
| TV | 23,394.6 | 25,794.0 | 4.829 | 5.324 | 3.675 | 3.834 |
| Paid search | 24,089.2 | 13,414.4 | 6.715 | 3.740 | 2.581 | 2.814 |
TV is roughly right. Search is credited with almost twice its true contribution, and its saturation scale (20 against a true 60) is far off. The reason is the 0.929 correlation between search spend and the seasonal curve: when two inputs move together, the data cannot tell which one produced the sales, and the model handed part of the base to search (the fitted intercept is 507 against a true 600). The model had an excellent and holdout error, and was still wrong about the channel that matters most for the budget. Fit is necessary, not sufficient.
A naive linear regression with no adstock and no season is far worse: it gives search a coefficient of 13.98 revenue per dollar, because search is standing in for the whole seasonal swing. Adding the season term alone cuts it to 2.55.
Step 5: calibrate with an experiment
Northfield runs a search geo holdout (mba/mba-marketing-experiments-card) and measures an incremental ROAS of 3.7 with a standard error of 0.5. A simple calibration adds a penalty to the fit criterion for disagreeing with the experiment: minimise , a rough stand-in for a Bayesian prior.
| Model | , , | SSE versus best fit | TV ROI | Search ROI | TV marginal ROAS | Search marginal ROAS |
|---|---|---|---|---|---|---|
| Best fit | 0.60, 175, 20 | 1.0000 | 4.829 | 6.715 | 3.675 | 2.581 |
| Calibrated | 0.55, 150, 70 | 1.0100 | 4.353 | 3.790 | 3.294 | 2.977 |
| Truth (simulator) | 0.60, 150, 60 | 5.324 | 3.740 | 3.834 | 2.814 |
The calibrated model fits only 1% worse and now credits search correctly (3.790 against 3.740). The base rises to USD 70,902.2k. TV moved further from the truth (4.353 against 5.324): the experiment fixed the channel it measured and nothing else. The lesson for the measurement plan: the next experiment should be on TV.
Step 6: the answer to the CMO
"Both channels pay back on average and at the margin: at a 45% gross margin the break-even marginal ROAS is 2.22, and the calibrated model puts TV at 3.29 and search at 2.98. The uncalibrated model overstated search by about 80% because search spend follows the season; we now use the calibrated version. Recommendation: raise total spend modestly, tilt the increase towards TV, move in steps, and run a regional TV test this spring to pin down the TV curve."
Worked example B (half solved): adstock and contribution by hand
A channel spends USD k 100, 0, 0, 50, 0, 0 in weeks 1 to 6. Retention = 0.5, saturation = 100, = 400 (maximum weekly incremental sales, USD k).
| Week | Spend | Adstock | Contribution previous column | |
|---|---|---|---|---|
| 1 | 100 | 100.00 | 0.6321 | 252.8 |
| 2 | 0 | 50.00 | 0.3935 | 157.4 |
| 3 | 0 | [ ] | 0.2212 | [ ] |
| 4 | 50 | [ ] | [ ] | 185.9 |
| 5 | 0 | 31.25 | 0.2684 | [ ] |
| 6 | 0 | 15.625 | [ ] | 57.9 |
- Fill the gaps. Excel: adstock
=B3+0.5*C2, saturation=1-EXP(-C3/100), contribution=400*D3. - Total contribution over six weeks: [ ]. ROI on USD 150k of spend: [ ].
- What share of the week-1 spend's effect appears after week 1? Explain why a model without adstock would understate TV. [ ]
- Half-life of this adstock in weeks: = [ ].
- If the same USD 150k were spent as USD 25k a week for six weeks, would total contribution be higher or lower, counting only weeks 1 to 6 and counting the carry-over after week 6 as well? Explain using saturation and adstock. [ ]
Exercise C (unsolved): stress-test the Northfield model
- Refit on weeks 1 to 91, forecast weeks 92 to 104 and report the selected parameters and the holdout MAPE.
- Fit a linear model with trend, season and price but no adstock or saturation (spend enters as is). Report the TV and search coefficients and explain the difference from the full model.
- Using the fitted parameters ( = 500.51, = 0.60, = 175), compute TV's steady-state marginal ROAS at USD 100k a week. Is a 100k weekly TV level profitable at the margin with a 45% gross margin?
- Re-run the simulation with search spend that does not follow the season (replace
12*seasonby 0). Does the search ROI estimate get closer to the truth? Why? - Write the three questions you would ask an agency that presents this MMM.
MMM review checklist
| Check | Question | Answer |
|---|---|---|
| Data window | At least two years of weekly data, or a regional panel? | [Yes / no] |
| Spend variation | Did each channel have on and off periods or regional differences? | [ ] |
| Confounding | How is seasonality separated from demand-following spend (search, promotions)? | [ ] |
| Calibration | Which experiments were used, and does the model agree with them? | [ ] |
| Holdout | Out-of-sample error on a period the model never saw? | [ ] |
| Uncertainty | Are ROIs and curves shown with intervals or posterior ranges? | [ ] |
| Stability | Do ROIs change sharply when one quarter is added or removed? | [ ] |
| Marginal versus average | Is the budget recommendation based on marginal returns? | [ ] |
| Base trend | Is the base growing, flat or shrinking, and why? | [ ] |
| Decision | Which reallocation step, and which experiment will check it? | [ ] |
Connections to other cards
- Core marketing mix: mba/mba-marketing-mix-card for response curves and the allocation rule that turns this card's marginal returns into a budget.
- Regression core: mba/mba-regression-for-managers-card for omitted variable bias and collinearity, the two forces behind the search error in example A.
- Experiments: mba/mba-marketing-experiments-card for the lift tests that calibrate the model.
- Attribution: mba/mba-digital-attribution-card for the bottom-up view of digital channels.
- Pricing and promotions: mba/mba-pricing-card for the price coefficient and promotion economics.
- Course map: mba/mba-marketing-analytics-guide.
- Statistics library: academic/stats-time-series-arima (autocorrelation in weekly residuals) and academic/stats-bayesian-inference (priors and posteriors behind Bayesian MMM).
Common mistakes and misconceptions
- Trusting a model because and holdout error are good. Example A fits well and still nearly doubles search's credit.
- Ignoring demand-following spend. Search, promotions and seasonal TV move with demand; without controls or calibration their effects are inflated.
- Budgeting on average ROI. Average ROI justifies past spend; the next dollar earns the marginal return.
- Leaving out adstock. TV and brand activity then look weaker than they are, and their effect leaks into the following weeks' base.
- Treating base sales as untouchable. Past marketing builds the base; MMM measures only the short and medium term.
- Over-reading a precise-looking number from a model with a dozen channels and two years of data. Ask for ranges.
- Refitting every month and chasing the new ROIs. Instability is a symptom of weak identification, not news.
- Calibrating with one experiment and declaring the whole model validated. Example A: calibrating search moved TV.
- Assuming tools decide the answer. Robyn, Meridian and PyMC-Marketing differ in method; the data and the experiments decide what is identifiable.
Self-test questions
- What is base sales, and why does MMM estimate only the increment?
- Write the geometric adstock recursion. What is the total weight of one dollar of spend at = 0.6?
- What is the half-life of an adstock with = 0.6?
- Why does Northfield's first model overstate search?
- Define ROI and marginal ROI for a channel. Which one should drive next year's allocation?
- At a 45% gross margin, what marginal ROAS makes the next dollar break even?
- What does calibration with an experiment do, in one sentence?
- Why might a model with a holdout MAPE of 3% still be wrong about a channel?
- Name two differences between MMM and multi-touch attribution.
- What does the Dorfman-Steiner condition say about the advertising-to-sales ratio?
- When is the Hill curve preferred to the negative exponential?
My notes and next steps
| Date | Note | Next step |
|---|---|---|
| YYYY-MM-DD | [What I understood today] | [Card or exercise to do next] |
| YYYY-MM-DD | Example: I can explain why fit does not validate a channel ROI | Do Exercise C part 4, then read the attribution card |
| YYYY-MM-DD | [What still confuses me] | [Question for office hours] |
Sources and further reading
- Hill, A. V. (1910). The possible effects of the aggregation of the molecules of haemoglobin on its dissociation curves. Journal of Physiology, 40 (Proceedings of the Physiological Society, 22 January 1910).
- Dorfman, R., and Steiner, P. O. (1954). Optimal advertising and optimal quality. American Economic Review, 44(5), 826-836.
- Koyck, L. M. (1954). Distributed Lags and Investment Analysis. Amsterdam: North-Holland.
- Little, J. D. C. (1970). Models and managers: the concept of a decision calculus. Management Science, 16(8), B466-B485.
- Broadbent, S. (1979). One way TV advertisements work. Journal of the Market Research Society, 21.
- Hanssens, D. M., Parsons, L. J., and Schultz, R. L. (2001). Market Response Models: Econometric and Time Series Analysis (2nd ed.). Boston: Kluwer Academic.
- Sethuraman, R., Tellis, G. J., and Briesch, R. A. (2011). How well does advertising work? Generalizations from meta-analysis of brand advertising elasticities. Journal of Marketing Research, 48(3), 457-471.
- Jin, Y., Wang, Y., Sun, Y., Chan, D., and Koehler, J. (2017). Bayesian Methods for Media Mix Modeling with Carryover and Shape Effects. Google Inc. technical report.
- Textbooks (further reading, by name only): Hanssens (ed.), Empirical Generalizations about Marketing Impact; Leeflang, Wieringa, Bijmolt and Pauwels, Modeling Markets; Hyndman and Athanasopoulos, Forecasting: Principles and Practice.
- Open resources: the documentation of Robyn (github.com/facebookexperimental/Robyn, MIT), Meridian (github.com/google/meridian, Apache-2.0) and PyMC-Marketing (github.com/pymc-labs/pymc-marketing, Apache-2.0); Hyndman and Athanasopoulos, Forecasting: Principles and Practice, free online edition at otexts.com.
Answer key
Worked example B. (1) Week 3 adstock 25.00, contribution 88.5; week 4 adstock 62.50, saturation 0.4647; week 5 contribution 107.4; week 6 saturation 0.1447. (2) Total 849.8; ROI . (3) Of the week-1 burst's effect, everything in weeks 2 and 3 (157.4 and 88.5) and part of the later weeks is carry-over; a model without adstock would attribute those sales to the base or to whatever else ran in those weeks, and would see TV's effect only in the week of spend. (4) One week. (5) It depends on the window. Within weeks 1 to 6 the even plan is lower (814.0 against 849.8), because its adstock is still building up when the window closes. Including the carry-over after week 6 (30 further weeks of zero spend) the even plan is higher (995.8 against 910.7): spreading spend keeps each week on the steep part of the saturation curve. Always compare schedules over a window long enough to capture the carry-over.
Exercise C (parts 1 to 3). (1) Parameters 0.55, 150 and 50; holdout MAPE 3.03%. (2) TV 1.295 and search 2.545 revenue per dollar of same-week spend: without adstock, TV's later-week effect is lost, and the linear form averages over the steep and flat parts of each curve. (3) ; , so not profitable at the margin. Parts 4 and 5 are for your own work.
Self-test.
- The sales the brand would make without current marketing (distribution, brand, season, trend). Only the increment responds to the budget decision.
- ; total weight .
- weeks.
- Search spend moves with the season (correlation 0.929), so the model cannot separate search from seasonal demand and gives search part of the base.
- ROI is contribution divided by spend over the period; marginal ROI is the extra revenue from the next dollar at current spend. The marginal one drives allocation.
- .
- It pulls the model's estimate for a channel towards the causal effect measured by the experiment, through a prior or a penalty.
- Many parameter combinations fit equally well when channels are correlated with each other or with demand; fit cannot tell them apart.
- MMM uses aggregate data on total sales and covers offline channels; attribution uses user-level digital paths and divides credit among touchpoints without measuring the base.
- At the profit maximum, advertising spend divided by sales equals the advertising elasticity divided by the (absolute) price elasticity.
- When response is S-shaped: little effect below a threshold of exposure, then rising, then saturating.
Revision history
| Version | Date | Author | Change summary |
|---|---|---|---|
| 0.1 | YYYY-MM-DD | [Your name] | First draft from the template |
| 0.2 | YYYY-MM-DD | [Your name] | Example: Calibrated TV with the spring regional test |
Standard and licence note
Based on the market response modelling literature (Koyck 1954; Dorfman and Steiner 1954; Little 1970; Broadbent 1979; Hanssens, Parsons and Schultz 2001; Jin et al. 2017; Sethuraman, Tellis and Briesch 2011) and the public documentation of the open-source tools named, checked on 28 October 2026. The text, simulated data and exercises are original and fictional; no textbook, published case or course material was copied or paraphrased. This template is not affiliated with or endorsed by any business school, publisher, author, ad platform or software vendor. Check the current documentation of each tool before you rely on it. Template licence: MIT.
Template liên quan
MBA Marketing Mix Card Template
4Ps and 7Ps decisions, mix consistency matrix, response curves, average vs marginal return, budget allocation with Solver, adstock and MMM intuition
MBA và trường kinh doanhMBA Marketing Experiments Concept Card Template
A/B tests, holdouts and geo experiments, lift, iROAS, sample size and power, SRM check, peeking, CUPED, test plan, Excel formulas
MBA và trường kinh doanhAccretion and Dilution Concept Card Template
Full merger EPS model: payment mix, cash on hand, debt, PPA amortisation, synergy phase-in, break-even synergies, EPS-neutral price, leverage, ownership