Demand Drivers
Knowledge Base

Build and run models end to end in Demand Drivers.

Demand Drivers (DD) is the platform that operationalizes Marketing Mix Modeling (MMM) outputs, converting decomposed model variables — base, incremental and media or price drivers — into structured, business-ready results.

As an analyst, you use it to review driver-level contributions, validate data classification and mapping, and translate model decomposition into clear, client-facing insights.

01

Project

Create a workspace for one brand-market.

02

Input

Upload and classify the data cube.

03

Review

Trend and compare variables over time.

04

Modelling

Configure, run, and qualify iterations.

05

Reporting

Publish the chosen iteration.

06

Simulation

Simulate and optimize future spend.

07

Planning

Forecast week by week and track actuals.

MODULE 01

0.1Getting access to Demand Drivers

Access to Demand Drivers is request-based, not self-serve. Raise the request from the Analytic Edge intranet; it routes through TMS (Tenant Management System) to the provisioning team, who grant access from their end.

For Brand, Finance, and Supply Chain users: once you have login credentials, go to the modules in your path (Input / Reporting / Simulation / Planning as relevant). The detailed request-form walkthrough below is optional reference.

For Analysts: use the steps below when you need to request platform access, add users, or complete first login before Project Creation.

Getting access

Don't have a login yet? Access to DD is request-based, not self-serve. Every request is raised from the Analytic Edge intranet and routed through TMS (Tenant Management System) to the team that owns provisioning — they action it and grant access from their end.

1.1Requesting access

Go to the Analytic Edge intranet home page and open the Demand Drivers access request tile under Quick Links.

Analytic Edge intranet home page with a Demand Drivers access request tile under Quick Links

1.2Choosing a request type

The access request page offers two request forms — pick the one that matches what you need:

Request — New URL Creation

Use this to spin up a brand-new client tenant that doesn't exist in DD yet.

Request — Add user / Change access to existing URL

Use this to add or remove a user's access on a tenant URL that's already live.

Demand Drivers Access Request page with two expandable request options

1.3The "DD Platform Request" form

This is the New URL Creation form. To open it, click the Forms icon from the Microsoft 365 app launcher and find "DD Platform Request" under Recent, then fill it in and submit.

DD Platform Request form with the Is platform a deliverable question, guidance notes, and a Client Name field

1.4The "Add or Change User Access" / "New URL Creation" form

This is the existing-URL form. To open it, click the Forms icon from the Microsoft 365 app launcher and find "Add or Change User Access from DD" under Recent, then:

  1. If yes, provide the new users' details in the required format — download the template from the linked template file or shortlink on the form, fill it in, and upload it.
Add or Change User Access from DD form with URL details, add-users question, and a template link for new user details

1.5A closer look: opening the forms directly

Here's what that Forms icon click looks like in practice: open the Microsoft 365 app launcher (the waffle icon, top left of any Microsoft 365 page) and click Forms.

Microsoft 365 app launcher open on the Analytic Edge intranet home page with the Forms app highlighted
Forms Recent page listing the Add or Change User Access from DD and DD Platform Request forms
WHAT HAPPENS NEXT

Submitting the form logs the request in TMS (Tenant Management System) with the respective team. Once they action it — creating the tenant, or adding/removing the user — you'll be able to sign in to DD as described in the rest of this knowledge base.

1.6Receiving credentials & first login

For a brand-new tenant, there's one more step once TMS creates the URL: the owning team provisions the access and sends over login credentials and the tenant URL. Enter those credentials to sign in to Demand Drivers for the first time.

Analytic Edge Qube sign-in screen with username, password and Sign In button
↑ Back to top
MODULE 02

Project creation

A project is a workspace for one brand-market combination — or several, if you're modelling multiple brands and markets together. Everything downstream (input, review, modelling, reports, simulation) lives inside a project.

2.1Landing page

After signing in, you land on the All Projects page. From here you can search existing projects or start a new one. Projects are listed as tile cards, paginated at 10 per page by default.

Demand Drivers All Projects landing page with search bar and Create New button

2.2Creating a project

Click Create New and give the project a name.

Create new project panel with project name field, Global and BU dropdowns
Naming rule

4–25 characters. No spaces, no special characters.

Multi brand/market

Use the Global and BU dropdowns if this project spans more than one brand or market.

2.3Project tile cards

Once created, a project appears as a tile showing the brand, year, and creator. Click any tile to re-open that project and continue where you left off. With many projects on file, use the search bar above the grid to jump straight to the one you need.

A newly created project shown as a tile card with brand, year and creator
MODULE 03

Input

Opening a project drops you into the Input module, starting with Data Upload. This is where a harmonized data cube becomes the raw material for everything else.

Your path through Input is narrow by design: the sections below show only the Advanced Configuration and Financial Inputs steps you actually set — the revenue multiplier, ROI Parameters, coverage factor, and gross margin. Uploading, classifying, and building new measures are Analyst tasks upstream of this.

3.1Uploading the data cube

WHAT IS A DATA CUBE?

A single file that consolidates everything relevant to the brand being modelled — organized into dimensions (time, location, product, and so on) and measures (sales, revenue, spend, quantities). Each dimension can carry its own hierarchy, which lets the platform slice, drill down, and roll up the data during analysis.

Walkthrough: What is a data cube?

Screen recording explaining what a data cube is and how it's structured.

Before uploading, run through the checklist on the left of the upload screen:

  • File type is .csv or .xlsx, with a single visible sheet — no hidden sheets.
  • Rows are sorted by the most granular dimension first, then by the time column.
  • Non-incremental measures never contain a blank or - in place of a value.
  • Column names are unique, under 50 characters, and never blank.

If a check fails, the system flags exactly what to fix so you can correct the source file and re-upload. Once every check passes, click Start Data Classification to move on.

Upload success screen showing the uploaded file and Start Data Classification button

3.2Classifying data

Classification sorts every uploaded column into a bucket: Time, Dimension, Dependent, Base, or Incremental.

  1. Choose the bucket you want to assign variables to.
  2. Select variables in the left panel and click Classify — or tick several boxes and use Classify All to move them together.
Classify Data screen with Time, Dimension and Dependent buckets

Base and Incremental groups

Groups inside Base and Incremental are defined once at the project (or global) level, then reused every time you classify data:

  1. Open the profile menu → SettingsProject (or Global, to apply the group to every future project) → Data Classification.
  2. Click Create New Group, give it a unique name with no spaces or special characters.
  3. Set its relationship to the dependent variable: +ve, -ve, or Free.
  4. Click Add. Repeat for both Base and Incremental.
Project Settings menu open above the Classify Data screen, used to define Base and Incremental groups

Back on the Classify Data screen, the new groups now appear as drop targets. Each Level-1 bucket can be nested further — Level 2 down to Level 6 — by expanding it and adding sub-groups, so the variable hierarchy can be as shallow or as deep as the analysis needs.

CONFIRMING THE DATE FORMAT

The first time you upload, the system detects the time granularity (weekly, monthly, etc.) from your date column and asks you to confirm the format — for example dd-mm-yyyy. Check the sample rows shown, correct the format string if needed, and click Confirm.

Walkthrough: Classifying data

Screen recording of classifying uploaded columns into Time, Dimension, Dependent, Base, and Incremental buckets.

3.3Advanced configuration & revenue multiplier

The Advanced button (top right of Input) opens three optional toggles:

ToggleWhat it adds
Set Revenue MultiplierLets you tag a price (or other) variable as the multiplier used to convert units into revenue.
Measure PropertiesAdds a dedicated step to review and override how each variable is aggregated and displayed.
Create New MeasuresAdds the Manual / Event Flag / Holidays & Seasonality / Baseline builder to the flow.
Advanced Configuration dialog with Set Revenue Multiplier, Measure Properties and Create New Measures toggles

To set a revenue multiplier, enable the toggle, then click Set Revenue Multiplier in the Base bucket and choose the price (or price-driving) variable. It is tagged RM once selected.

3.4Financial inputs

Spend Data tab — upload spend for every marketing variable in one pass. Pick the granularity spend is available at (apply the same granularity to all variables, or set it per variable with the radio buttons), export the template, fill in spend values, and re-import. Any spend already present in the data cube is left untouched.

Spend Data tab with periodicity radio buttons per marketing variable

ROI Parameters tab — declare whether the dependent variable is revenue. Depending on the answer, enter the coverage factor, gross margin, and revenue multiplier that ROI calculations should use.

Walkthrough: Uploading spend data

Screen recording of uploading spend data for marketing variables via the Spend Data tab.

3.5Variable properties

The system sets sensible defaults from the Base/Incremental classification, so this step is optional unless you need to override something:

Base variables

Default to free-floating sign, no forced aggregation rule.

Incremental variables

Default to a positive sign and summed aggregation.

You can also set the expected relationship to the dependent variable here — for instance, a price variable is expected to move negatively against sales. Formatting controls (decimals, scale factor, unit) live in the same panel, with a live preview. Use Export Properties / Import Properties to edit settings offline in bulk.

Assign Measure Properties panel with Data Setup, Modelling and Formatting sections

3.6Creating new measures

Four tabs let you build variables without leaving the platform:

Manual

Combine existing measures with a formula — a straightforward summation or a custom SQL-style calculation. Name it, define the formula, click Add, then Generate Variable.

Manual measure tab with measure name field and formula editor

Event Flag

Create a binary (0/1) variable for a specific date, date range, or recurring event — Black Friday is the typical example.

Event Flag tab with event name and date fields

Holidays and Seasonality

The system proposes a market-relevant holiday list; tick the ones to include. Separately, it can auto-generate a seasonality variable, with or without holidays folded in — pick the option, click Add, then Generate to have it grouped into the right seasonal bucket automatically.

Holidays list with date, week mapping and display name columns

Baseline

Builds a smoothed baseline for any measure — a non-promoted price trend derived from average price, for example — by stripping out short-term spikes and dips. Set the post/pre interval, the allowed measure-change limit, and the number of weeks to smooth over, then preview and add.

EXPORT / IMPORT

Every tab in this module supports export and import, so new measures can be defined in bulk in a spreadsheet and brought back in.

Analyst — Input focus

Work the full Input path: upload the cube, classify Base vs Incremental variables, set aggregation and the revenue multiplier, enter financial inputs, and create any derived measures before Review and Modelling.

Finance — Input focus

Focus on Financial Inputs that affect commercial math — spend coverage, gross margin, and ROI parameters. You are validating assumptions that flow into contribution reporting and Planning forecasts, not configuring the full modelling run.

Variables you'll touch here: the revenue multiplier (the price or price-driving variable used to convert unit-based measures into revenue), and the ROI Parameters — coverage factor, gross margin, and whether the dependent variable is revenue. Base and Incremental variable classification is visible for context but is usually left to the Analyst.

Platform capability: the ROI Parameters tab under Advanced Configuration is where these assumptions live — everything downstream in Reporting's Due To and ROI views, and in Planning's Sales/Revenue/Profit forecast cards, is calculated from what you set here.

Pricing / RGM — Input focus

Focus on the same Advanced Configuration and Financial Inputs steps as Finance, but read them from a price lens — you're checking that the revenue multiplier is genuinely the price (or price-driving) variable, since that's what turns unit-based model output into the revenue view your price-elasticity and promo work depends on.

Variables you'll touch here: the revenue multiplier and ROI Parameters (coverage factor, gross margin). Price and promo-depth variables themselves are classified upstream by the Analyst as Base or Incremental — you're confirming the commercial conversion, not the classification.

Platform capability: the ROI Parameters tab under Advanced Configuration — everything you review later in Reporting's price/promo contribution views and Planning's price-scenario forecasts is calculated from the multiplier set here.

↑ Back to top
MODULE 04

Review

Once ROI parameters are saved, Next drops you into Review — a sense-check layer for the data before it goes anywhere near a model.

4.1Trend charts

Pick one primary variable (typically the KPI) and up to 50 secondary measures to plot against it, over a chosen time window. Click Get Trend to render the chart.

New Trend panel with primary measure, secondary measures and period fields
Rendered trend chart with a filter panel on the left
  • Add variables on the fly — the left panel lets you extend the comparison after the first render, without starting over.
  • Save a trend — click Save and give it a name; a correlation table appears alongside the chart for every secondary measure.
  • All saved trends — click the Trend chevron at any time to return to the list of everything you've saved.
  • Bulk actions — from that list, filter, download, or delete trends individually or via the checkboxes for a bulk download.

4.2Time comparison

Compares a set of variables across up to four periods at once.

  1. Select up to 50 variables under Classify Measures.
  2. Choose up to four periods — Monthly, Quarterly, Yearly, or a Custom range you define yourself.
  3. Click Compare.
Period dropdown open showing Monthly, Quarterly, Yearly and Custom options
UNEQUAL PERIODS

If the periods you pick differ in length (days, weeks, months, or years), the system warns you before rendering the chart — you can still proceed if the comparison is intentional.

The chart sits above a data grid showing the support for each period plus the percentage change between consecutive periods, ending in an overall change column (e.g. 2022 vs. 2020). With more than four variables or periods, a scrollbar lets you pan across the rest. Save the comparison the same way you'd save a trend, and revisit every saved comparison from the Time Comparison chevron.

Time Comparison bar chart with a data grid showing period-over-period change
↑ Back to top
MODULE 05

Modelling

This is the core of DD: configure how a model should be built, let the system run every combination you've allowed, then sort the results into iterations worth keeping.

5.1Create model & setup

Click Create New Model from the (initially empty) Modelling landing page. In Model Setup, confirm the dependent variable and the model duration — by default, the full data history.

Model Setup dialog with dependent variable, model duration and holdout duration fields
Empty Modelling landing page with a Create New Model link
HOLDOUT DURATION

A slice of the data withheld from training so it can be used afterward to check how well the model generalizes to data it never saw. Toggle it on and set the period, or switch it off entirely.

The Advanced link inside Model Setup exposes three further choices:

SettingOptions
Mean centeringNormalizes variables around their mean before modelling. (In progress.)
Model typeUn-pooled (by dimension) or Pooled.
Model formAdditive or multiplicative.

Click Confirm to move to Variable Selection.

Walkthrough: Create model & setup

Screen recording of this step in DD.

5.2Variable selection

The left panel lists every classified variable; tick individual variables, whole groups, or use search. Turn off the Hierarchy toggle to browse a flat list instead of the grouped view.

Each selected variable can be set to one of four states:

Mandatory (lock)

Included in every iteration. This is the default.

Optional (unlock)

The system runs iterations with and without it — useful when you're unsure whether a variable belongs.

Switch off (power icon)

Excluded from this batch only; its configuration is kept for future batches.

Remove

Drops the variable entirely. Adding it back later starts from scratch.

Variable selection screen with lock, unlock and power icons next to each measure

Mutually exclusive variables

When two forms of the same signal shouldn't sit in one model together — impressions and spend for the same channel, say — mark them mutually exclusive so the system tests them in separate iterations instead of risking multicollinearity.

Yes selected for the mutually exclusive measures question
  1. Answer Yes to "Are there mutually exclusive measures in the list below?"
  2. Click Add Custom Group and name the group.
  3. Classify the competing variables into #1 / #2 (use the + control if there are more than two forms).
Walkthrough: Variable selection

Screen recording of selecting variables and marking mutually exclusive groups.

5.3Report format

Defines the period structures available later on the model's "due to" and output pages, plus which one loads by default. The system pre-populates recent yearly, monthly, and quarterly periods; you can also define your own.

Custom periods — pick Custom granularity, set a length in weeks/months/days and a start date, then Add. The platform slices the full data range into consecutive periods of that length automatically (e.g. twenty 20-week periods across a two-year cube).

Report Format screen listing yearly, quarterly and monthly periods

Once periods exist, choose Period 1 and Period 2 on the right, click Add, and mark one pairing as the default with the radio button.

Defining a custom period by weeks and a start date

5.4Transformations, priors & qualifying criteria

The Advanced panel (top right of Modelling) turns on three more configuration tabs, plus the choice between an auto and a manual run:

Variable transformations

Pick a transformation type per variable — adstock, gamma, log, lag, and so on — and either an exact parameter value or a range to iterate across. Turning on Show Saturation layers a saturation curve on top of the transformation for the variables that need one.

Custom Transformations set to Range with Show Saturation enabled
Variable Transformations table with Adstock decay parameters, min, max and increments

Priors

Two ways to encode prior belief about a variable's effect:

  • Contribution % range — set a minimum and maximum share of the dependent variable this variable is allowed to explain.
  • Coefficient — fix an exact coefficient and standard deviation.

Auto-run models default to a 0–80% contribution range per variable, which keeps incremental variables from coming out with a negative coefficient.

Priors tab with contribution percentage min and max fields per variable
Walkthrough: Priors

Screen recording of setting priors as a contribution range and as a fixed coefficient.

Qualifying criteria

Thresholds an iteration must clear to count as a good model:

StatisticalBusiness
R², Adjusted R², MAPE, Holdout MAPE, Durbin-WatsonIncremental contribution range per variable

Only iterations meeting every enabled criterion land in the Qualified tab of the results.

Qualifying Criteria tab with statistical and business condition toggles and thresholds
AUTO VS. MANUAL RUN

Auto lets the system search model types and parameters for the best fit — fastest way to get a working model. Manual hands full control of model form and parameters to you; it takes more expertise but gives more precise construction. Even in manual mode some hyperparameters may still be tuned automatically.

Run Model setting with Manual and Auto radio buttons inside Advanced Configuration
Walkthrough: Custom transformations

Screen recording of setting a custom transformation range with Show Saturation enabled.

5.5Run & model results

Click Run to see a summary of every edit about to be applied — dependent variable, duration, mandatory/optional variable counts, transformations, qualifying criteria, and the number of model outputs that will be produced with an estimated processing time. Click Run again to execute.

Each full run is a batch; a batch can contain one output or many, depending on how many optional variables, transformation ranges, or mutually-exclusive combinations you allowed. Batches in progress show live status on the Modelling landing page, with a View Details log and the option to jump into partial results before the batch finishes.

Currently Executing Batches list with a progress bar and estimated time remaining

Reading Model Results

Open Model Results to see every batch as a tile card summarizing its inputs and outputs. Drilling into a batch sorts its iterations into four tabs:

Model Results page with Batch 1 and Batch 2 tile cards
Recommended

Ranked by predefined weights across statistical and business outputs.

Qualified

Everything that met the criteria set during configuration.

Saved

Iterations you've explicitly kept.

Disqualified

Iterations that missed one or more criteria.

Recommended tab showing ranked model iterations with qualifying criteria and coefficients

Select up to three iterations and click the view icon to open a dashboard — single-model or side-by-side. Each model view includes Model Fit, Decomposition of KPI, Spend vs. Contribution with ROI, Contribution, Response Curves, Due-to charts, ROI, and Effectiveness. Click any chart header to drill into its expanded view; the Levels dropdown moves between Level 0 (Base/Incremental), Level 1 (your defined groups), and Level −1 (individual variables). Export Model downloads every output to Excel; Export Data gives you both the transformed and raw data behind it.

Single model dashboard with Model Fit, Decomposition of KPI, Spend vs Contribution with ROI and Contribution charts
Walkthrough: Run & model results

Screen recording of running a batch and reading the model results.

5.6Update an existing model

To update the model in the platform, re-run it: any change to the data cube, transformations, saturation settings, priors, or variable properties takes effect in Model Output only after the model runs again. To revise an existing iteration, open Edit Config, adjust the relevant setting, and run again — this is also the standard fix when a run gets stuck at a low % or a batch errors out. Remember to publish or save any iteration you want to keep, since iterations are automatically cleared after 30 days.

Walkthrough: Update an existing model

Screen recording of editing an existing model's configuration and re-running it.

Analyst — Model Reports (Model Output)

In Modelling → Model Output, switch views with these tabs. Expand each item for what to check and a matching screenshot.

Model Fit

Review R², MAPE, and Holdout alongside actual vs predicted fit over time.
Use this first to qualify whether the iteration is statistically ready.

Model Fit in Demand Drivers
Contribution

See Base vs Incremental contribution for the selected model.
Confirm the lift split before publishing to Reports.

Contribution in Demand Drivers
Due To

Attribute change between two periods to Baseline, Price, Media, and Others.
Check driver direction matches business expectations for this iteration.

Due To in Demand Drivers
Effectiveness

Compare incremental effectiveness for the model under review.
Spot weak or strong drivers while iterations are still editable.

Effectiveness in Demand Drivers
ROI

Review ROI with Spend and Unit Cost for Media in Model Output.
Commercial check before you publish the chosen iteration.

ROI in Demand Drivers
Response Curves

Inspect diminishing returns and current spend markers by channel.
Identify saturation / headroom while still in Modelling.

Response Curves in Demand Drivers
S+C+ROI

Compare spend share, contribution share, and ROI by channel for the model.
Flag misalignment early before Reports and Simulation.

S+C+ROI in Demand Drivers
↑ Back to top
MODULE 06

Reporting

Reports package a chosen model iteration into a client-facing view, with two outputs the Modelling module doesn't have: a Budget Allocator and a Marketing Revenue Optimizer.

6.1Publishing to reports

Before a report can exist, the iteration behind it must be saved. From Modelling → Model Results → Saved Iterations, toggle View in Report on the iteration you want published — a report is generated automatically the first time you do this.

Saved iterations table with a View in Report toggle for each iteration

From the Reports list you can rename a report, delete it, pop it out into its own window, or check its box to send it on into Simulation.

6.2Reporting outputs

Reports package the published model for exploration. What you lean on next depends on your role.

Reports include everything from the Modelling dashboard, plus:

  • Marketing Spend & Marketing Revenue — headline totals for the selected period, with the percentage change against the initial values.
  • Budget Allocator and Optimized Revenue charts — computed by default across a 50%–150% constraint range around current spend.
Budget Allocator and Optimized Revenue in Reports
Marketing Spend / Revenue cards with Budget Allocator and Optimized views.

For Supply Chain, use Reports to understand volume contribution and drivers — not media budget optimization.

  • Contribution — Base vs Incremental share of volume.
  • Decomposition — how volume moves over time.
  • Due To — what drove volume change between two periods.

Skip Marketing Spend / Revenue scorecards and Budget Allocator / Optimized charts in this path. Continue into Planning for week-level forecasts and non-media assumptions.

Contribution view for volume
Start with Contribution for a Base vs Incremental volume read.
Analyst — which Reports views to use

Click a view to expand. After publishing a model, use the full Reports tab set to validate outputs before Simulation.

Contribution

Check Base vs Incremental share of the outcome after the model is published.
Confirm the lift story matches what you saw in Model Output before sharing the report.

Contribution in Demand Drivers
Decomposition

Inspect how Base and Incremental move over the model duration.
Use it to spot seasonality or spikes that need a second look in Modelling.

Decomposition in Demand Drivers
Due To

Bridge two periods with Baseline, Price, Media, and Others.
Validate whether period change aligns with known drivers before client delivery.

Due To in Demand Drivers
Effectiveness

Review incremental effectiveness for the published report.
Compare against Model Output effectiveness when qualifying iterations.

Effectiveness in Demand Drivers
S+C+ROI (Spend vs Contribution with ROI)

Align spend share, contribution share, and ROI by channel.
Flag misaligned channels before Simulation optimization.

S+C+ROI (Spend vs Contribution with ROI) in Demand Drivers
Response Curves

Read diminishing returns and current spend position by channel.
Carry headroom findings into Simulation scenarios.

Response Curves in Demand Drivers
ROI

Review ROI with Spend and Unit Cost for the selected media set.
Commercial scorecard for the published report period.

ROI in Demand Drivers
Budget Allocator

Directional reallocation within the default constraint band.
Hand-off view into Simulation optimize / Planning.

Budget Allocator in Demand Drivers
Optimized

Compare current versus optimized outcome after reallocation.
Quantify upside before you build Simulation scenarios.

Optimized in Demand Drivers
Brand Manager — which Reports views to use

Click a view to expand. Use these Reports tabs to read brand performance, explain what changed, and spot where spend still has room to work. These views are built from your channel Incremental variables against Base — you're reading contribution and ROI, not editing variables here.

Contribution

See how much of the outcome is Base versus Incremental marketing lift at a glance.
Use this first in brand reviews before drilling into channels or time periods.

Contribution report in Demand Drivers
Decomposition

Track how Base and Incremental contribution move week by week across the model period.
Spot seasonal peaks and campaign windows that matter for brand storytelling.

Decomposition report in Demand Drivers
Due To

Compare two periods and attribute change to Baseline, Price, Media, and Others.
Build a clear brand narrative for why performance moved up or down.

Due To report in Demand Drivers
Effectiveness

Compare incremental efficiency so stronger brand activities stand out quickly.
Use it to judge which levers return more outcome per unit of support.

Effectiveness report in Demand Drivers
S+C+ROI (Spend vs Contribution with ROI)

Check whether channel spend share lines up with contribution share and ROI.
Find over-funded or under-funded brand channels before you reallocate.

S+C+ROI (Spend vs Contribution with ROI) report in Demand Drivers
Response Curves

Read diminishing returns by channel and see where current spend sits on the curve.
Steeper curves still have headroom; flat curves are nearer saturation.

Response Curves report in Demand Drivers
ROI

Review ROI alongside Spend and Unit Cost for the selected media set.
Use this as the commercial scorecard before Simulation or Planning.

ROI report in Demand Drivers
Budget Allocator

See a directional reallocation of media spend within the default constraint band.
Treat it as the bridge from Reports into Simulation scenarios.

Budget Allocator report in Demand Drivers
Optimized

Compare current versus optimized outcome levels after budget reallocation.
Use the lift view to support brand recommendations in Planning.

Optimized report in Demand Drivers
Finance — which Reports views to use

Click a view to expand. Stay with contribution and commercial outcomes so you can validate drivers and brief Planning with confidence. These views translate Base/Incremental decomposition and your ROI Parameters into revenue and profit terms.

Contribution

Split the KPI into Base versus Incremental so Finance can see structural baseline versus lift.
Use this to frame how much of the result is durable versus campaign-driven.

Contribution report in Demand Drivers
Decomposition

Follow Base and Incremental contribution over time for stability versus volatility.
Helpful when explaining whether the baseline held while incremental moved.

Decomposition report in Demand Drivers
Due To

Bridge two periods with Baseline, Price, Media, and Others for variance conversations.
Supports sales, revenue, and profit reviews without channel-optimization detail.

Due To report in Demand Drivers
ROI

Read ROI with Spend and Unit Cost for a compact commercial scorecard.
Confirm period economics before you set Planning targets and budgets.

ROI report in Demand Drivers
Budget Allocator

Review the directional spend reallocation within the default constraint range.
Use it as context when Finance challenges or approves plan budgets.

Budget Allocator report in Demand Drivers
Optimized

Compare current versus optimized outcome value after reallocation.
Quantifies upside for Planning target discussions.

Optimized report in Demand Drivers

Not in the Finance path: Effectiveness, S+C+ROI, and Response Curves. Continue in Planning for forecasts and actualization.

Supply Chain — which Reports views to use

Click a view to expand. Focus on volume contribution and what moved demand, then continue into Planning. These views draw on the Base / Execution variables classified for you upstream — distribution, out-of-stock, and shelf/SOV where applicable — rather than media spend.

How your variables were classified (read-only)

An Analyst classifies variables once at the project level, before any session is shared with you. Within Base, groups typically split into Macro and Execution drivers — Supply Chain-relevant variables usually land in Execution, sourced from syndicated retail-measurement data:

  • Weighted Distribution (WDE) and direct distribution (TDP) — Base / Execution.
  • Out-of-stock flags — Base / Execution, typically a negative relationship to the dependent variable.
  • Shelf allocation — space, cold, or warm facing — Base / Execution.
  • Share of voice (SOV) and share of shelf — Base / Execution, alongside the above.

Whether all of these apply depends on the brand and category context — not every variable set will use shelf-facing or SOV data. Once classified, the same grouping carries through every shared session, so the Contribution and Due To views below reflect it directly.

Contribution

See Base versus Incremental share of volume to separate underlying demand from lift.
Use this before week-level Planning so distribution discussions start from a clear split.

Contribution report in Demand Drivers
Decomposition

Watch volume move over time for seasonality, peaks, and incremental shifts.
Helps Supply Chain anticipate when base demand or incremental drivers changed.

Decomposition report in Demand Drivers
Due To

Attribute period-over-period volume change to Baseline, Price, Media, and Others.
Separates distribution/base effects from media-led change ahead of Planning assumptions.

Due To report in Demand Drivers

Not in the Supply Chain path: Effectiveness, S+C+ROI, Response Curves, ROI, Budget Allocator, and Optimized. Use Planning for week-level forecasts and non-media assumptions.

Pricing / RGM — which Reports views to use

Click a view to expand. Read these through a price and promo lens — the same views everyone uses, but you're checking what price and promo-depth variables are contributing, not media.

Contribution

See what share of volume comes from price/promo Incremental variables versus Base.
Use this to size how much of current performance is price-driven before proposing a change.

Contribution report in Demand Drivers
Due To

Attribute period-over-period change to Baseline, Price, Media, and Others.
Isolates how much of a volume swing is genuinely price/promo versus other drivers.

Due To report in Demand Drivers
ROI

Compare return per unit of promo spend or price movement across variables.
Use alongside Contribution to judge whether a promo mechanic is worth repeating.

ROI report in Demand Drivers
Response Curves

See how volume responds as a price or promo-depth variable moves, including diminishing returns.
This is the elasticity-style read Pricing teams use most.

Response Curves report in Demand Drivers

Not in the Pricing / RGM path: Sessions & scope, Effectiveness, S+C+ROI, Budget Allocator, and Optimized — those are Simulation/media-focused views.

Media & Marketing Ops — which Reports views to use

Click a view to expand. Use these to see which channels are earning their spend before you move into Simulation to test a change.

Contribution

See each channel's share of Incremental volume against Base.
Use this to spot channels that look under- or over-weighted before reallocating spend.

Contribution report in Demand Drivers
Effectiveness

Compare volume generated per unit of channel activity (GRPs, impressions, spend).
Use to rank channels by efficiency, not just total contribution.

Effectiveness report in Demand Drivers
ROI

See return per unit of channel spend, factoring in the revenue multiplier.
Use alongside Effectiveness to separate "drives volume" from "drives profit."

ROI report in Demand Drivers
Response Curves

See how volume responds as a channel's spend or activity level increases, including the saturation point.
Use this before Simulation to judge whether a channel has room left to scale.

Response Curves report in Demand Drivers

Not in the Media & Marketing Ops path: S+C+ROI, Budget Allocator, and Optimized — those roll up into Simulation instead, which is next.

↑ Back to top
MODULE 07

Simulation

Once a report is validated and published, Simulation is where "what if we spent differently" questions get answered — and where the system can propose an optimized plan on its own.

Walkthrough: Simulation

Screen recording covering the Simulation module in DD.

7.1Sessions & scope

A published report opens with a Default Scenario covering the most recent 52 weeks — run it as-is for a quick first read, or click Create New Session to define your own.

Simulation Scope step with Scenario Group Name, Description, Select Report and Dimension Filter fields
  1. Name the session (no special characters) and add an optional description.
  2. Pick the Report to simulate from.
  3. Set the Duration — any timeframe within the report's data.
  4. If the data spans multiple dimensions, set a Dimension Filter: the aggregation level to simulate at, and optionally a subset of dimension values to focus on.

Click Next to save the session and move into Data Validation.

7.2Data validation

Before any scenario runs, review the base data the simulation will use — weeks of execution, spend, support, unit cost, unit type, and base period for every variable. Variables with zero executions in the session window are flagged so you can assign them a different base period or drop them.

Data Validation table with Variable, Dimension, Months of Execution, Spend, Support, Unit Cost and Base Period columns

The Advanced panel unlocks four further controls:

ControlPurpose
Edit Time PeriodOverride the session's base period for an individual variable.
Remove VariablesDrop variables with minimal execution from the simulation.
Response CurveInspect the response curve at the aggregation level chosen under Select Levels.
Financial InputAdjust the finance inputs feeding the simulation's calculations.

7.3Select groups, response curves & scenarios

Select Groups sets the aggregation level the response curve renders at. Response Curves then shows Average and Marginal Return curves per variable — click into a curve to see its flighting pattern, and use the dropdown to switch between variables. Financial Inputs lets you confirm or edit the coverage factor, gross margin, and revenue multiplier for the session period before reviewing the summary and clicking Create Session.

Average Returns response curves for multiple channels plotted against spend

Every session tracks: session name, created-on date, model used, base period, and dimension aggregation. Inside a session, click View Scenarios to see all scenarios created so far (a new session opens with a default "Base Scenario"), and New Scenario to build another.

7.4Simulate & optimize

Simulate tab — set an expected value or drag the slider for any measure or group, and watch Spend, Customers, Revenue, Profit, and ROI update live in the panel on the right. Values can be entered as a percentage or an absolute number, capped at 300%.

Simulate tab with Variables and Groups panel highlighted, showing per-channel simulated spend sliders
Optimize tab with Min and Max sliders per variable and the Run Scenario button highlighted

Optimize tab — for when you know the goal but not the ideal mix:

  1. Choose the objective: maximize revenue or maximize profit.
  2. Optionally set upper/lower limits per variable (default 0–300%) and a total budget constraint (default locked at 100–100%).
  3. Use Apply to All to push the same constraints to every driver except total budget.
  4. Click Run Scenario.
Optimize tab with Min and Max sliders per variable and a Max Revenue objective dropdown

The system reallocates spend within your constraints and returns the plan with the strongest outcome.

7.5Reading the output

Optimization output pairs the original base plan (grey) against the optimized plan (blue) across Spend, Customers, Revenue, Profit, and ROI. Use the Filter dropdown to view results at the Incremental, Total, or Media level. Supporting charts include:

  • Budget Allocator — current vs. base spend by channel.
  • Revenue and ROI — current vs. optimized, with the uplift called out.
  • Response Curves, Spend vs. Contribution with ROI, and Strategic Quadrants (Optimize / Sustain / Shift / Expand) for channel-level prioritization.
  • Marketing Spend and Marketing Contribution donuts, default vs. forecast.
Strategic Quadrants scatter chart plotting ROI against contribution, labeled Optimize, Sustain, Shift and Expand

View Details expands into a Grid View — the same metrics as a table, with Default, Forecast, and Difference columns for Spend, Contribution, Revenue, ROI, and Profit side by side, and column filters to focus on what matters for the analysis at hand.

Grid View table with Default, Forecast and Difference columns for Spend, Contribution, Revenue, ROI and Profit
↑ Back to top
MODULE 08

Planning

Where Simulation answers “what if we spent differently?” at a strategic level, Planning goes deeper — variable by variable, week by week. Any team can own their own inputs, keep everything else at historical baseline, and immediately see the impact on the full plan. Multiple teams can plan independently in the same project or collaborate on a single shared plan.

The Planning tab has three sections in its left sidebar: Home, Planning, and Actualization.

8.1Choosing a planning approach

Every plan starts with one question:

AI-Generated Plan

Automatically generate a plan using historical data and pre-built models. The system makes intelligent assumptions for all variables to forecast outcomes with minimal user input.

Build a Plan Manually

Manually input assumptions for all variables to forecast outcomes. Create a fully customized plan designed to meet your specific requirements.

Planning option selection — AI-Generated Plan selected, with duration, Target KPI, and Marketing Budget fields
AI-Generated Plan selected — step 1 of setup showing duration selector, Target KPI, and Marketing Budget inputs.

When you select Build a Plan Manually, a second question appears: which type of forecasting to use.

Build a Plan Manually selected, showing Causal Forecasting and Simulation-Based Forecasting options
Manual plan — choose between Causal Forecasting (pre-built model) or Simulation-Based Forecasting (seeded from a saved simulation).

Causal Forecasting

Generate forecasts based on the pre-built causal model. Input your own assumptions for any key variables and keep everything else at historical baseline.

Simulation-Based Forecasting

Refine forecasts generated from strategic simulations. Use simulation results as input for tactical planning. Available only when a saved simulation exists for the project.

TIP — TEAM PLANNING

Each team can plan by changing only the variables they own — a media team adjusts spend and support, a pricing team adjusts average price, a trade team adjusts promotions — while keeping all other inputs at the historical baseline. Plans can also be shared across teams so multiple functions contribute to a single joint forecast.

8.2AI-Generated Plan

After selecting AI-Generated Plan, three further inputs appear before you click Forecast:

  1. Select duration — choose the forecast horizon from the dropdown. Options include 12 months, 6 months, next quarter, or a custom start–end date within the available data range.
  2. Target KPI (optional) — toggle Yes and enter a sales volume target. The AI optimizer will build a plan that tries to meet it.
  3. Marketing Budget (optional) — toggle Yes and enter a total spend cap. The AI will stay within this constraint while maximizing the objective.

Click Forecast. The system reads historical trends for every variable, builds min–max assumption ranges automatically, and finds the plan that best meets your stated objective within your budget. You land directly on the Forecast Plan results screen.

To inspect or tune the AI’s assumptions after seeing the output, click Edit Inputs at the bottom of the results screen. This opens the Input Assumptions table, where you can override any variable before re-running the forecast.

8.3Manual Plan — Plan Details

After selecting Build a Plan Manually → Causal Forecasting, you reach the Plan Details screen, which has three steps:

Plan Details screen showing Choose Report, Select Duration, and Select Assumption Period
Plan Details — pick the source report, the forecast horizon, and a historical assumption period to seed default variable values.
  1. Choose Report — select the published report to source the model from. The most recently published report is pre-selected. Use the dropdown to choose an earlier one if needed.
  2. Select duration to create Forecasted Plan — set how far forward the system should generate values for all key variables. The current plan shown covers 12 months (05 Apr 2025 – 28 Mar 2026).
  3. Select Assumption Period — use the date picker to define a historical reference window. The system pulls actuals from this period to seed default values for every variable. Non-media variables (price, distribution, competitive spend, events, macroeconomic indicators, etc.) especially need a starting assumption — without a reference period they would have no default. You can override any default in the next step.

Click Next to move to Input Assumptions.

NOTE

The banner at the top of the Planning module reads: “Welcome to Planning Module. Here you can run multiple forecasts and run a variance analysis.” Plans are saved and can be revisited, compared, and actualized — you are not limited to a single plan per project.

8.4Input Assumptions

The Input Assumptions screen has two tabs: Model Variables and Additive Variables. The search bar and Hierarchy toggle at the top right help you navigate large variable lists.

Input Assumptions table showing Model Variables with Historical Spend, Historical Support, Change By, Forecasted columns and Edit Input Details links
Input Assumptions — Model Variables tab. Every driver in the model is listed. Set Change By and enter your percentage or absolute change, or click Edit Input Details for week-level control.

Each row exposes the following columns:

ColumnWhat it shows
VariablesDriver name as it appears in the model (events, price indices, competitive spend, TDPs, promotional variables, media channels, etc.)
MethodAlways MANUAL in the planning flow — all variables are user-controlled.
Historical SpendActual spend in the selected assumption period (media variables only).
Historical SupportActual execution (GRPs, impressions, index value, TDP, units, etc.) in the assumption period.
Change ByHow the forecast value will be computed. Dropdown with four options — see below.
Percentage Change / Absolute ValueThe editable input field. Enter the change you want to apply.
Forecasted SpendComputed forecast spend for this variable.
Forecasted SupportComputed forecast execution for this variable.
Forecasted CPP Forecasted cost-per-point (or cost of execution). Editable via the pencil icon for media variables — update this when rates have changed.
ActionEdit Input Details link to open week-level editing for this variable.

Change By options

OptionWhat it doesBest for
By Support %Forecast support = Historical support × (1 + % entered)Changing execution volume by a relative amount — e.g. “+20% TV GRPs”
By Support ABSForecast support = Historical support + absolute value enteredFixed-unit adjustments — e.g. “+200 TDPs”
By Spend %Forecast spend = Historical spend × (1 + % entered)Budget as the control lever and CPP is stable
By Spend ABSForecast spend = Historical spend + absolute spend valueDirect budget input — e.g. entering a fixed media allocation
NON-MEDIA VARIABLES

For non-media drivers — price indices, distribution (TDPs), out-of-stock flags, competitive spend, promotional discounts, macro-economic variables, event flags — the Change By selector is the primary mechanism for modeling anticipated market or execution changes. Examples: a planned price increase of 5% (By Support %, +5), a distribution expansion of 200 TDPs (By Support ABS, +200), or a projected rise in competitive TV spend (By Support ABS, desired new level).

Updating the CPP

If the cost of execution has changed since the assumption period — a new rate card, different media market conditions, updated agency fees — click the pencil icon next to Forecasted CPP and enter the new rate. The system uses this to recompute spend from support (or vice versa) in the final plan.

Week-level editing — Edit Input Details

Click Edit Input Details for any variable to open a time-series panel for that variable. This is especially useful when execution doesn’t follow a flat percentage change — for example, a burst media schedule, a promotional event confined to specific weeks, or a price change that takes effect mid-year.

Edit Input Details panel for Online_Coupon showing week-by-week Historical Support Values, Change By % editable per week, and Forecast Support Values with chart
Edit Input Details — week-by-week view for Online_Coupon. The chart shows historical (blue) vs. manual forecast (orange). Change By % is editable per week; Forecast Support Values update immediately.

The panel shows:

  • Time Period — each week in the forecast horizon (YYYY-MM-DD format).
  • Historical Support Values — the actual value from the assumption period for that week.
  • Change By % — editable per week. A week where Historical Support is 0 will show “Infinity” when you try to apply a % change — in that case, enter an absolute value directly in the Forecast Support Values column.
  • Forecast Support Values — auto-computed from historical + change, or directly overrideable.

The chart at the top renders the historical series (blue) and manual forecast (orange) side by side so you can visually validate the shape of the plan. Use Save Changes to commit edits to this variable, or Reset to revert.

Export/Import is also available within this panel, for offline editing of a single variable’s week-by-week schedule.

Export / Import

Use Export at the bottom of the Input Assumptions table to download the full plan as a spreadsheet template. Edit it offline — useful for bulk changes across many variables, or when inputs are prepared externally by a media agency, finance team, or trade marketing team — then Import to upload. The system validates the file and applies all values at once.

When all inputs are set, click Forecast to run the plan.

8.5Forecast Plan output

After the plan runs, you land on the Forecast Plan screen. The Data and Chart buttons at the top toggle between the two views. The KPI summary cards are always visible.

KPI summary cards

Five headline metrics sit across the top, each showing Forecast value, the historical comparison figure, absolute change, and percentage change (color-coded):

  • Sales — total volume
  • Revenue
  • Spend — total marketing investment
  • Incremental ROI
  • Profit

The Forecasted Duration and Historical Duration date ranges are shown top-right so it’s always clear what periods are being compared.

Data view — the contribution table

Forecast Plan data view showing KPI cards and contribution table with Contribution, Spend, Support, CPP, ROI, Effectiveness, Efficiency and Profit columns, drilled down to week level
Forecast Plan — Data view. Expand any group row (Base, Price, Media…) down to year → quarter → month → week. Forecast values shown alongside historical values in parentheses.

The table breaks down every driver’s contribution to the plan:

ColumnWhat it shows
ContributionIncremental volume from this variable, Forecast vs. Historical in parentheses.
SpendTotal spend, Forecast vs. Historical.
SupportTotal execution (GRPs, impressions, TDPs, index…), Forecast vs. Historical.
CPP Cost per point, Forecast vs. Historical.
ROIReturn on investment.
EffectivenessVolume per unit of support.
EfficiencyVolume per unit of spend.
ProfitProfit contribution, Forecast vs. Historical.

The Variables column is fully expandable. Click the arrow next to any group (Base, Baseline, Price, Media, Non-Media, etc.) to drill down to sub-groups, then to individual line items, then to year → quarter → month → week. This is particularly useful for validating seasonality and sharing a week-level view with other teams before the plan is confirmed.

Contributors dropdown — filter the table to show only the Top 5 or Bottom 5 contributors, or set back to All.

Periodicity dropdown — switch between Weekly, Monthly, and Quarterly aggregations on the fly.

Filters — click the funnel icon to show or hide specific columns.

Hierarchy toggle — collapses variable-level rows into channel-group summary rows.

Export / Import — download the results table or bring in an updated plan file.

Chart view — trend

Forecast Plan chart view showing a Trend line chart with historical series in blue and forecast series in orange, Periodicity set to Weekly
Forecast Plan — Chart view. Historical series in blue, forecast in orange. The gap between the two is where the plan period begins. Periodicity can be switched between Weekly, Monthly, and Quarterly.

The Trend chart plots the historical sales series (blue) and the forecasted series (orange) on the same axis. The break between the two lines marks the start of the forecast period. Use the Periodicity selector to smooth to monthly or quarterly if the weekly view is too granular. This chart is the quickest way to check that seasonal patterns carry forward sensibly and that planned bursts or promotional periods look directionally right against the historical shape.

Saving and iterating

Click Save at the bottom of the Forecast Plan screen to persist the plan. Saved plans are listed under the Planning sidebar and can be reopened, copied, or used as the basis for Actualization.

To adjust assumptions — whether you used the AI or Manual flow — click Edit Inputs. This returns you to the Input Assumptions table with all your previous entries intact. Make changes and click Forecast again; the output refreshes immediately.

8.6Actualization

Once a plan is saved and new actuals become available for part of the plan period, the Actualization workflow lets any team reconcile plan vs. reality and replan the remainder with full visibility into what caused the gap.

  1. Upload new actuals data via the incremental data upload (same process as the Input module).
  2. Open the saved plan and click Refresh. The system updates with the newly available actuals.
  3. The Actuals vs. Plan chart appears — select the plan version from the dropdown at the top left.

Gap vs. Plan chart

Actualization — Actuals vs BP_V2 chart showing monthly bars for the plan and an orange line for actuals with percentage gap labels. YTD and Forecast totals shown top-right.
Actualization — Actuals vs. Plan. Bars (blue) = plan by period; line (orange) = actuals that have come in. Percentage labels on the line show the gap month by month. YTD total and full-year Forecast shown top-right.

The chart shows:

  • Bars (blue) — the planned sales value for each period.
  • Line (orange) — the actual sales that have now been reported. Percentage labels at each point show whether actuals are ahead or behind plan.
  • YTD — top-right, the cumulative total for the actualized period with % vs. plan.
  • Forecast — top-right, the full-year plan total with % vs. plan.
READING THE GAPS

In the example above: Jan 2025 was -0.51% vs. plan, Feb was +5.54% ahead, Mar was +0.34% ahead — resulting in a YTD of +1.7% across Q1. The rest of the year remains as the forecast plan. The driver of the overall gap is unpacked in the Due To analysis below.

Due To analysis

Due To waterfall chart showing BP_V2 as starting grey bar, then Baseline (-11.65%), Price (+0.411%), NonMedia (-0.020%), Media (+0.949%), Others (+12.01%) bridging to Actuals. Data table below with Absolute Due-To and %Due-To columns.
Due To — waterfall chart decomposing the gap between plan (BP_V2 = 2.2M) and actuals (2.2M, Overall Change +1.7%). Red bars = factors that pulled actuals below plan; green = factors that pushed actuals above plan.

The Due To panel below the gap chart decomposes why actuals differed from the plan. Each factor is shown as an absolute contribution and a percentage due-to:

FactorWhat it explains
BaselineDid underlying demand trend differently than the plan assumed? In the example, Baseline dragged -11.65% — organic demand was weaker than modeled.
PriceDid price moves have more or less impact than planned?
NonMediaDistribution changes, out-of-stock events, promotional execution vs. plan, competitive activity differences.
MediaDid media execute as planned, and did it perform as the model expected?
OthersResidual: model error, factors not in the model, data anomalies. In the example, Others contributed +12.01% — something not captured by the model partially offset the baseline weakness.

Period selector — use the date picker at the top of the Due To panel to focus the analysis on a specific sub-period (e.g. a single quarter) rather than the full YTD window.

Groups — use the dropdown to change the aggregation level of the waterfall chart.

Hierarchy toggle — expand the data table below the waterfall to show individual variable-level due-tos instead of the grouped view.

Replanning the remainder

Once you understand the gap, create a new scenario for the remaining months:

  • The actualized portion (weeks with confirmed actuals) is locked — it cannot be edited and serves as the fixed baseline for the replan.
  • The remaining forecast period is fully editable using the same Input Assumptions interface (§8.4).
  • Any team can update only their own variables while leaving everything else locked or at the existing plan values.
  • Model the adjustments needed to close or offset the gap — increased media burst, promotional depth change, updated competitive assumptions — and click Forecast to see the projected impact before committing.
↑ Back to top

8.7Planning vs. Simulation — quick reference

Both modules use the same underlying causal model but serve different purposes and audiences.

SimulationPlanning
Primary questionWhat if we allocated spend differently?What will happen given our planned execution, and how do we track it?
LevelStrategic / total marketTactical / variable-by-variable, week-by-week
Who uses itMMM analysts, brand strategistsAny team — media, pricing, trade, brand, finance, supply chain — independently or jointly
Input granularityTotal spend / support by channelWeekly execution by variable, with CPP control and non-media variable editing
Non-media variablesNot controlledFully plannable (price, distribution, OOS, competitive, macro, events)
OutputScenario comparison (base vs. optimized)A saved forward plan that can be refreshed with actuals over time
ActualizationNot availableBuilt-in gap analysis and replanning workflow
AI optionOptimize tab (budget reallocation)AI-Generated Plan (full assumption generation + objective optimization)
Brand Manager focus in Planning

Turn Simulation direction into an owned channel plan (AI-Generated or Manual). In Actualization, compare planned brand support and outcomes with actuals so delivery stays aligned with the forecast.

Variables you'll set: media/channel Incremental variables — forecasted support and spend, using Change By (By Support %, By Support ABS, By Spend %, or By Spend ABS) — and Forecasted CPP if channel rates have moved since the assumption period.

Finance focus in Planning

Set Target KPI and Budget, then review forecast cards for Sales, Revenue, and Profit. Use Actualization and Due To to explain commercial gaps between plan and actuals.

Variables you'll set: the Target KPI and Budget constraint that drive AI-Generated Plans, plus any manual overrides to price or margin-related variables carried over from your Input assumptions — Sales/Revenue/Profit are computed outputs, not inputs.

Supply Chain focus in Planning

Plan week by week with non-media assumptions such as distribution or availability. Use Actualization to compare planned volume with actuals as each week lands.

A typical shared-plan flow: a plan is not owned by a single function — it can be shared across multiple people. A Marketing team member enters their side of the plan (media, promo) and shares it; a Supply Chain member then opens the same plan and adds their inputs — out-of-stock, distribution (TDP), and similar non-media assumptions — for the weeks they own. Because both sides work inside one shared plan, the forecast and Actualization view stay consistent for everyone reviewing it.

Pricing / RGM focus in Planning

Set or adjust price and promo-depth assumptions week by week, then compare the forecast against what actually happened in Actualization.

Variables you'll set: price and promo-depth Input Assumptions (using Change By to move a variable by an absolute amount or a percentage), reviewed against the revenue multiplier so the resulting Sales/Revenue/Profit forecast reflects the price change accurately.

Media & Marketing Ops focus in Planning

Turn a Simulation scenario into a channel execution plan (AI-Generated or Manual), then track delivery against it in Actualization — the same Planning workflow Brand Managers use, read from an execution angle.

Variables you'll set: channel/media Incremental variables — forecasted support and spend, using Change By (By Support %, By Support ABS, By Spend %, or By Spend ABS) — plus Forecasted CPP when channel rates have moved.

↑ Back to top
WALKTHROUGHS

Training videos

Short clips stay embedded in each module. Module-length walkthroughs open from the play icon next to the module name in the left navigation.

Module-length walkthroughs now live on the play icon next to each module name in the left navigation. Short clips remain embedded inside the module sections (file names unchanged).

↑ Back to top
REFERENCE

Glossary

Terms used across Demand Drivers. The list below is filtered to your selected role — switch persona to see a different set.

Analyst glossary covers modelling setup, qualification, simulation, and planning terms from the full build path.

Brand glossary focuses on contribution, scenario, ROI, allocation, and planning/actualization terms you use after a model is published.

Finance glossary focuses on commercial inputs, contribution/Due To, ROI parameters, forecasts, and actualization.

Supply Chain glossary focuses on volume drivers, Due To, assumptions, actualization, and planning forecast terms — not media optimization jargon.

Data cube

The harmonized source file — dimensions, time, and measures — that everything in DD is built from.

Holdout duration

Data withheld from training so model performance can be checked against it afterward.

Batch

One complete modelling run; may contain one output or many, depending on optional variables and transformation ranges.

Priors

A stated belief about a variable's effect — as a contribution % range or a fixed coefficient — fed into the model before it runs.

Qualifying criteria

The statistical and business thresholds an iteration must clear to be marked Qualified.

Revenue multiplier

The price (or price-driving) variable tagged to convert unit-based measures into revenue.

Session (Simulation)

A saved simulation configuration — report, duration, dimension scope — that can hold multiple scenarios.

Scenario

One specific set of simulated or optimized spend inputs and their resulting output, saved within a session.

Base variable

A variable classified into the Base bucket; defaults to a free-floating sign with no forced aggregation rule.

Incremental variable

A variable classified as Incremental; defaults to a positive sign and summed aggregation.

Mutually exclusive variables

Variables carrying the same signal that are kept out of the same iteration and tested separately instead, to avoid multicollinearity.

Variable transformation

A per-variable curve — adstock, gamma, log, lag, and so on — applied before modelling, either at a fixed parameter or across a range to iterate over.

Auto vs. Manual run

Auto lets the system search model types and parameters for the best fit; Manual hands full control of model form and parameters to the user.

Model Results tabs

The four buckets an iteration lands in after a run: Recommended (ranked by weighted outputs), Qualified (met the criteria), Saved (kept explicitly), or Disqualified (missed a criterion).

Levels

A dropdown in model views that switches the aggregation shown — Level 0 (Base/Incremental), Level 1 (defined groups), Level −1 (individual variables).

Due-to chart

A chart breaking down the change in the KPI between two periods into the variables driving it.

Budget Allocator

A reporting output that proposes a reallocated spend split, computed by default across a 50%–150% range around current spend.

Default Scenario

The scenario a published report opens with automatically, covering the most recent 52 weeks.

Dimension Filter

A simulation setting that sets the aggregation level to simulate at, with an optional subset of dimension values to focus on.

ROI Parameters

The coverage factor, gross margin, and revenue multiplier used to calculate ROI, set once the dependent variable is flagged as revenue or not.

Assumption Period

The historical date range whose actuals are used to seed default values for all variables before the user makes manual overrides.

Forecasted CPP

Cost Per Point — the expected cost of one unit of support (one GRP, one impression, etc.) in the forecast period. Editable per variable to reflect updated rate cards.

Change By

The calculation method applied to determine forecast support or spend from the historical baseline: By Support %, By Support ABS, By Spend %, or By Spend ABS.

Actualization

The process of refreshing a saved plan with newly available actuals, producing a gap vs. plan chart and a Due To analysis explaining the variance.

Due To

A waterfall decomposition of the gap between plan and actuals, attributing the variance to Baseline, Price, Non-Media, Media, and Others (residual).

AI-Generated Plan

A plan in which the system automatically sets assumption ranges for all variables using historical trends, then optimizes within a target KPI and/or budget constraint.

Causal Forecasting

Planning mode that drives the forecast through the pre-built causal model — the same model underlying reports and simulation.

Simulation-Based Forecasting

Planning mode that seeds the forecast from a previously saved simulation scenario, keeping tactical planning consistent with a strategic scenario.

↑ Back to top