Scenario Planning lets you explore how different budget allocations and market conditions affect future revenue. Using the Bayesian model fitted during Incremental Measurement, you create custom spend plans and generate revenue predictions with uncertainty bands powered by the full posterior distribution.
When you open the Scenario Planner, you are presented with two planning modes. Both produce the same prediction output — the difference is how you build the input plan.

| # | Element | Description |
|---|---|---|
| 1 | Header | The Scenario Planner opens with “Plan Your Marketing Future” and a brief description |
| 2 | Monthly Planner card | Blue-themed card with a Calendar icon and green “RECOMMENDED” badge. Features a guided wizard flow for month-based planning |
| 3 | RECOMMENDED badge | Green badge with Sparkles icon indicating this is the suggested starting point |
| 4 | Advanced Planner card | Purple-themed card with a BarChart3 icon and “ADVANCED” badge. Provides full spreadsheet control over every period |
A guided 6-step wizard designed for marketers who think in months. You set a total budget, configure channel costs, allocate by month, choose a within-month distribution strategy, optionally adjust non-media drivers, and set a revenue conversion multiplier.
Best for: Strategic planning, quick scenario exploration, users who prefer a structured flow.
A full AG Grid spreadsheet editor where you control every value for every period (week or day). Media channels appear in white cells, control variables in yellow italic cells, and proxy channels in blue cells.
Best for: Detailed campaign planning, importing plans from Excel, users who need cell-level precision.
Not sure which to choose? Start with Monthly Planner — you can always switch to the Advanced Planner later, and the wizard output feeds directly into the advanced grid.
The Monthly Planner is a 6-step wizard that converts high-level monthly budgets into period-level activity values for prediction.
Set your total marketing budget and review the planning period.

| # | Element | Description |
|---|---|---|
| 1 | Planning period summary | Shows the number of months, total weeks, and flags any partial months with an amber badge. The planning period starts from the next period after your model’s last data point |
| 2 | Total budget input | Enter your total marketing budget. Default is $120,000 for a 3-month horizon. This total is distributed evenly across channels in the next step |
| 3 | Info box | Reassurance that the total budget is just a starting point — you can adjust individual channel budgets in the next step |
Define how each channel’s activity is measured and what it costs.
| Column | Description |
|---|---|
| Channel | Media channel name from your fitted model |
| Metric Type | How the channel is measured: Spend, Impressions, Clicks, GRP, or TRP |
| Avg Cost | Average CPM, CPP, or CPC. Editing this auto-fills all month columns |
| Monthly columns | Per-month cost overrides if costs vary seasonally |
Channels with metric type “Spend” do not require a cost column (spend is entered directly in Step 3).
Average costs are pre-filled from historical data when available. The system calculates cost-per-unit from your model’s last year of data.
Proxy channels can be added at the bottom of this step. A proxy channel borrows the response curve of an existing reference channel, allowing you to model new channels (e.g., Podcasts) that were not in the original training data. Proxy channels appear with a blue highlight and a “Proxy” badge.
Allocate spend to each channel for each month using an editable AG Grid.

| # | Element | Description |
|---|---|---|
| 1 | Channel column (pinned left) | Channel names with proxy channels marked by a blue badge |
| 2 | Monthly columns (green headers) | Per-month budget for each channel. Partial months show the week count (e.g., “Mar 2025 (2w)”). Editing any month recalculates the channel total |
| 3 | Total Budget column (pinned right, blue) | Total budget for each channel across all months. Editing this auto-distributes evenly across months |
| 4 | Proxy channel row | Podcast shown with blue “Proxy” badge, using the response curve from its reference channel |
Select how each month’s budget is distributed across the weeks (or days) within that month.

| # | Element | Description |
|---|---|---|
| 1 | Selected strategy | Blue border and blue background indicate the active selection (Equal Distribution shown here) |
| Strategy | Icon | Behavior |
|---|---|---|
| Equal Distribution | BarChart3 | Budget split evenly across all periods. Simple and balanced |
| Business-Week | Calendar | Customizable weights for early, mid, and late month (sliders from 0.5x to 1.5x) |
| Always-On | Zap | Stable, consistent shares throughout the month |
| Pulsed | Activity | High-low-high alternating pattern for variation |
| Launch Burst | Rocket | Front-loaded spending (40%, 30%, 20%, 10%) for product launches |
| Event-Centric | Star | Peak spending concentrated in a specific week, ideal for promotions |
This step appears only if your model includes control variables (non-media drivers like pricing, distribution, or promotions). It lets you run “what-if” scenarios by adjusting these factors relative to their historical baseline.

| # | Element | Description |
|---|---|---|
| 1 | Pricing Factors | Variables related to price, cost, or discount. Each has a slider and shows the impact direction (↑ Revenue or ↓ Revenue) based on the model’s coefficient sign |
| 2 | Distribution Factors | Variables like store count or availability. A 0% adjustment means using the baseline value |
| 3 | Automatic (Read-Only) | Seasonality, trend, and intercept variables are projected forward automatically from historical patterns. These cannot be edited |
You can also Skip this step to use baseline (unadjusted) values for all controls.
Set a multiplier to convert the model’s predicted target variable into revenue.

| # | Element | Description |
|---|---|---|
| 1 | Multiplier inputs | One column per planning month. Default is 1.0 (no conversion). Adjust for seasonal pricing or to convert units to revenue |
| Model Type | Multiplier Represents | Example |
|---|---|---|
| Volume/Units | Average price per unit | $25.00 |
| Customer Acquisition | Customer lifetime value (LTV) | $500.00 |
| Revenue/Sales | No conversion needed | 1.00 |
After completing Step 6, the wizard converts your monthly budget plan into period-level rows (weekly or daily), merges control variables, and transitions to the prediction phase.
The Advanced Planner presents a full AG Grid spreadsheet with one row per period (week or day) and columns for every variable in the model.

| # | Element | Description |
|---|---|---|
| 1 | Model info bar | Shows last data date, variable count, periodicity, and total planning periods |
| 2 | Action buttons | Download Template (export as CSV), Upload Template (import from CSV/Excel), and Predict Results (submit for Bayesian prediction) |
| 3 | Color-coded legend | Media channels (white, editable), control variables (yellow italic, editable), proxy channels (blue, editable) |
The grid is pre-filled using one of these sources (in priority order):
Tips:
Scenario planning does not update forecasts in real time as you edit. Instead:
Each prediction uses the full Bayesian posterior from your fitted model. The forecast applies the adstock and saturation transforms to your planned activity, then generates predictions with uncertainty bands from all posterior samples.
Every forecast includes uncertainty bands showing the range of plausible outcomes:
Wider bands indicate greater uncertainty. This typically happens when:
When predictions complete, a comprehensive results dashboard appears with multiple views.
Three gradient hero cards show the top-level forecast metrics (out-of-sample periods only):

| # | Element | Description |
|---|---|---|
| 1 | Total Investment (blue) | Total media spend across all planned periods. Excludes halo and trademark spend. Shows the number of weeks planned |
| 2 | Predicted Return (green) | Total predicted revenue from all media channels. Shows the average per-week revenue |
| 3 | Portfolio ROAS (purple) | Return on ad spend across the full portfolio. Includes a quality rating: Excellent (≥ 4.0x), Good (≥ 2.5x), or Below Target (< 2.5x) |

| # | Element | Description |
|---|---|---|
| 1 | Filter toggle | Switch between All Data, In-Sample, and Out-of-Sample views |
| 2 | CI toggle | Show or hide the confidence interval band |
The chart uses a Recharts ComposedChart with:
#06b6d4 solid line) for in-sample periods#6366f1 dashed line) for both in-sample and out-of-sample periods
Channels are ranked by ROAS (return on ad spend). The dashed vertical line shows the portfolio average ROAS. Halo and trademark channels are excluded from this chart since their ROAS is misleading (they have no direct spend on the current brand).

The waterfall shows cumulative revenue contributions from each channel, building up to the total media revenue. Each bar is labeled with its contribution value.

The scatter plot divides channels into four quadrants based on portfolio averages:
| Quadrant | Meaning |
|---|---|
| ⭐ Star Performers | High ROAS + High Contribution — your best channels |
| 💎 Efficient | High ROAS + Low Contribution — opportunity to scale up |
| 📊 Effective | Low ROAS + High Contribution — volume drivers with diminishing returns |
| ⚠️ Optimize | Low ROAS + Low Contribution — candidates for budget reallocation |

| # | Element | Description |
|---|---|---|
| 1 | Top Performers | The three highest-ROAS channels with medal emojis (🥇🥈🥉), showing spend, ROAS, and revenue for each |
| 2 | Scenario Insights | Blue gradient panel with OOS Total Revenue, OOS Average per Week, and OOS Growth vs History. Includes an Export CSV button |

The table shows all channels ranked by performance, with:
| Component | Description |
|---|---|
| Control Contributions Card | Shows the impact of Step 5 adjustments (pricing, distribution, promotional changes) on predicted revenue |
| Opportunities Card | Identifies under-invested channels with strong ROAS and recommends budget reallocation |
| Weekly Breakdown | Best and worst performing periods, average weekly performance, and volatility (coefficient of variation) |
| Export CSV | Download the full prediction data (dates, actuals, predictions, confidence bounds, per-channel contributions) as a CSV file |
For portfolio models, scenario planning extends across multiple brands:
See Portfolio Analysis for the full portfolio workflow.
Scenarios are most useful when paired with a decision framework:
After identifying your preferred budget plan, proceed to Budget Optimization to generate algorithmically optimized per-channel allocation recommendations.
| Scenario | Likely Cause | What to Do |
|---|---|---|
| Predictions seem unreasonably high or low | The underlying model may have poor fit or misspecified priors | Check model diagnostics — look at posterior predictive fit and R-hat values. Adjust priors or add control variables and re-fit before running scenarios |
| Uncertainty bands are very wide | The model has high parameter uncertainty, often due to limited data or vague priors | Add more historical data, incorporate lift test calibration, or tighten priors based on domain knowledge |
| All scenarios show similar outcomes | Channels may be heavily saturated, or the budget changes are too small relative to total spend | Try larger budget shifts, or check saturation curves to see if channels are near the flat part of the curve |
| Control variable adjustments have no effect | The control variable may have a near-zero coefficient in the fitted model | Check the coefficient in the Active Model results. If the variable has a negligible effect, it will not change predictions |
Platform guides:
Core concepts: