Skip to content

Wizard Walkthrough

Hoda Rezvanjoo edited this page May 28, 2026 · 1 revision

The Streamlit UI is a five-step wizard. Each step gates the next. All inputs land on WizardState, the single source of truth that every module reads from.

Step 1 — Objectives, budget, advanced

  • Objectives: any subset of Awareness, Engagement, Website Traffic, Lead Generation.
  • Budget: total campaign budget. Currency auto-detected from the symbol (£→GBP, $→USD, €→EUR). A hard cap of 1 × 10⁹ catches unit errors silently introduced by spreadsheet exports.
  • Campaign duration: optional, in days.

Advanced (collapsed by default)

  • Goal value weights — £ per unit KPI. When present, the system switches from priority-frequency weighting to expected-ROAS-per-£ (value × productivity), which is strictly more informative whenever you have any sense of unit value.
  • Test-and-learn reserve — fraction held back from optimisation for new audiences / creative tests. 10–15% is standard strategist practice. Capped at 50%.
  • Seasonality multipliers — per-goal expected productivity vs historical. Applied to r_{p,g} before the LP runs and to count-KPI forecasts after, so allocation and forecast remain consistent.

Step 2 — Platforms

Tick the platforms you'll consider. For each, set priority 1 (and optionally priority 2) from your active objectives. A platform with no priority assigned is treated as inactive — it appears in the list but the LP never funds it.

Google appears as three distinct platforms (Search, Display, Performance Max) because their lead-gen productivities differ by an order of magnitude. Lumping them hides the most important channel decision the tool exists to inform.

Step 3 — Historical KPIs

For each (platform, objective) pair you activated, provide:

  • Historical budget spent on that pair
  • Number of days the history covers (drives confidence bands and shrinkage strength)
  • Raw KPI values, either typed in or via the CSV import panel
  • Optional per-KPI observation list (a list of period-by-period values). When ≥3 observations exist, the engine uses the actual sample CV as the forecast band rather than the heuristic fallback.

Step 4 — Policy

  • Minimum spend per platform in £ or %
  • Minimum budget per goal in £ or %
  • Scenario multipliers — defaults: conservative ÷1.2, base 1.0, optimistic ×1.15. Multiply the budget per scenario.
  • Per-scenario goal multipliers — conservative raises upper-funnel productivity, optimistic raises conversion productivity, modelling the way real auctions shift through market regimes.

Step 5 — Review and run

Solve the LP for all three scenarios. The results page surfaces:

  • Allocation table per scenario, with stacked-bar visualisation
  • Forecast table with data-driven confidence bands
  • Decision report — classification, confidence score, risks, Plan A and Plan B with the trade-off stated
  • "Binding constraints" diagnostics with shadow prices
  • "Refine and re-solve" panel — edit policy without rewalking the wizard
  • Opt-in Monte Carlo robustness analysis

A Reset button at the top of every page clears WizardState for a fresh plan.

Clone this wiki locally