The Rapid ROI Model Architecture
Track 2 - This Solution · Module 2.1
Everyone
Course home
Learning ObjectivesModule 2.1 · ~35 min
Draw the full model hierarchy from memory: ST L1 → L2 → L3 and LT L1 → L2 → L3 → L4, with the dependent and independent variables at every level.
Apply the No-L2 / No-L3 fallback rules to a single-platform or single-campaign channel without hesitation.
State the Base* and Baseline overall definitions exactly, and compose Total ROI from its short-term and long-term parts.
Place the online/offline model split correctly: separate model runs, not a tagging dimension.
One equation, two horizons

Everything in this program hangs off one additive equation (Pre-Read slides 5 and 13):

Sales = Baseline overall + Media Impact + Price + Promo + Distribution + Macro + Error
the primary Market Mix Model; slide 5 shows it without the Error term, slide 13 with it

The architecture answers two different client questions with two model families run on the same data spine:

  • Short term (ST) - the sales impact landing in the immediate weeks after investment (W0-W4 per the glossary; slide 5 frames it as "typically 1-12 weeks"). Media investment data captures this effect.
  • Long term (LT) - the impact that continues after the short-term window (W5+; slide 5 says "typically 14+ weeks"), carried through brand equity. Brand health tracker data captures this effect.

Two footnote definitions from slide 5 do a lot of work in every architecture conversation - learn them verbatim:

Base* = price + distribution + macro + comp price + Intercept + Seasonality
slide 13's variant of the same footnote also lists competitor TV spend inside Base*
Baseline overall = Base* + Meaningful + Differentiation + Salience
the ST baseline, re-opened by the LT model and split into brand-health pillars

And the headline arithmetic the client sees:

Total RoI at various levels = Short Term RoI + Long Term RoI
ST ROI comes directly from the ST model outputs; LT ROI is calculated from the Meaningful + Differentiation + Salience models together
The short-term hierarchy: L1 → L2 → L3

The ST family drills from total brand sales down to individual campaigns. Each level's dependent variable is the thing the level above attributed - the hierarchy is a chain of decompositions, not three independent models. Dependent and independent variables per level, from Pre-Read slide 13:

LevelGrainDependent variableIndependent variablesFallback rule
ST L1
Media (channel) levelSales volumeBase* + Media + Halo (optional)-
ST L2
Platform levelThe Media L1 category (that channel's attributed contribution)Platforms of the respective mediaIf an L1 category has only one platform: No L2 for that category
ST L3
Campaign levelThe Platform L2 category - or the L1 category directly, when that channel had a single platformCampaigns of the respective platform/mediaIf the category has only one campaign: No L3 for that category

Short-term channel ROIs are generated after the L1 run, from each channel's incremental sales contribution; platform and campaign ROIs follow the L2 and L3 runs. The fallback rules exist because a decomposition of one thing into one thing is meaningless: a channel that ran on exactly one platform skips L2 entirely, and its L3 model (if it has multiple campaigns) takes the L1 category itself as the dependent variable. Same logic one level down - a platform with a single campaign gets no L3.

The hierarchy is why the config's level targets chain the way they do: each level models the contribution output of the level above (module 2.6 shows the exact target_col_l2 → Contribution_L1 wiring).
The long-term hierarchy: L1 → L2 → L3 → L4, three pillars in parallel

The LT family starts from what the ST model could NOT attribute to media: the baseline. LT L1 takes the Baseline overall (built using the ST L1 model's intercept and seasonality) as its dependent variable and splits it across the three brand-health pillars of the tracker - Meaningful, Differentiation, Salience - leaving a residual "Baseline actual" (the LT L1 intercept, the brand's un-attributed core strength).

LevelGrainDependent variableIndependent variables
LT L1
Brand healthBaseline overall (= Baseline actual + Meaningful + Differentiation + Salience)Meaningful, Differentiation and Salience
LT L2
Media level (3 models)Meaningful, Differentiation and Salience - one model per pillarIntercept + Media
LT L3
Platform level (3 models)Each pillar's "Media L1 category"Platforms of the respective media
LT L4
Campaign level (3 models)Each pillar's "Platform L2 category" (or the single-platform L1 category)Campaigns of the respective platform/media

Two structural points that trip new joiners:

  • "3 models" is literal. From L2 downward the LT side runs three parallel model stacks - one each for Meaningful, Differentiation and Salience - not one multi-output model. The dataset evidence backs this: the LT archive's folder structure is literally LT_L1_Constrained/ → LT_L2_Constrained/ → LT_L3_Constrained/ → LT_L4_Constrained/, and separate per-pillar files (differentiation / meaningful / salience) sit side by side with identical schemas.
  • The same No-L2 / No-L3 fallback rules apply on the LT side, per pillar: a single-platform channel skips the platform level, a single-campaign platform skips the campaign level.

LT L4 is the deepest grain in the whole architecture - individual creative executions. Its column names encode the entire hierarchy in one double-underscore-delimited string (channel-group, subchannel, creative type, brand, platform, campaign, execution variant), which makes L4 files instantly recognizable.

Sign-constrained vs constrained runs
At every level the run sequence is: a sign-constrained model first (free fit, only coefficient signs restricted), then a constrained model with the target bounds applied, iterating until business targets are met. That is why the sample archives come in Signconstrained / Constrained pairs for the same brand. The bound-setting mechanics live in modules 1.6-1.7.
The online/offline split: separate model runs

Where a cell's scope includes e-commerce, the media and base variables for e-commerce ("online") and traditional retail ("offline") channels are modelled as separate model runs, not as a tag on one model. The structural evidence is unambiguous: production output folders carry paired *_l1_online / *_l1_offline files - two parallel L1 models, each with its own hierarchy below it where the platform/campaign depth warrants. When you sketch the architecture for such a cell, draw the whole ST tree twice.

Practical consequence: an "L1 result" for an online+offline cell is not one number until the two runs are brought together in the workbook. Always ask which split a contribution figure comes from before quoting it.
Check Yourself
You open an LT output file and find a column whose name chains seven double-underscore tokens: channel group, subchannel, creative type, brand, platform, campaign, execution variant. Which model consumes this variable?
Why: only LT L4 goes to execution-variant depth, and its column-naming convention (one hierarchy-encoding string) is the tell. ST stops at L3 (campaign); LT L1's variables are the three brand-health pillars.
In your market the Search channel ran on exactly one platform, which carried four campaigns. How does the ST hierarchy handle Search?
Why: slide 13's rule: one platform means No L2 for that L1 category, and the L3 dependent variable becomes the L1 category directly. L3 still runs because there are four campaigns to split; it would only be skipped if there were one campaign.
Which pair correctly states the dependent variable of ST L1 and of LT L1?
Why: ST L1 decomposes sales volume into Base* + Media + Halo. LT L1 then re-opens the un-attributed baseline - the Baseline overall - and regresses it on Meaningful, Differentiation and Salience. This handoff (ST intercept + seasonality feeding LT L1) is the hinge between the two families.
A channel's ST ROI is known, and its three LT pillar models have produced contributions. What is the channel's Total ROI?
Why: slide 5 states it directly: Total RoI at various levels = Short Term RoI + Long Term RoI, with Long-Term ROI defined as the ROI calculated from Meaningful + Differentiation + Salience. The two horizons are designed to be additive, not overlapping - ST captures W0-W4, LT captures W5+.
Sources
Authored from:
  • UL_Rapid ROI_Pre-Read_Document 1.pptx slide 5 (core architecture, ROI definitions, Base*/Baseline overall footnotes, Total ROI), slide 13 (full Model Hierarchy backup slide - dependent/independent variables per level and the No-L2/No-L3 fallback rules, transcribed in full), slide 8 (ST/LT window definitions)
  • MathCo Methodology Understanding_UL.xlsx sheets Modelling Equations (hierarchy-as-text) and Model_Iteration_Flow (sign-constrained → constrained run sequence, ST-intercept-to-LT handoff)
  • SOURCE_MAP.md dataset structural notes: LT_Constrained_l1_l2_l3_l4 archive folder structure, L4 column-naming convention, three pillar-parallel LT files, and the *_l1_online / *_l1_offline file pairs (structure only - no client values used)
All architecture content is the program's own; no client numbers appear in this module.