Skip to content

Budget Allocation Modeler

Allocates budget by explicit logic — not last year plus 10%.

Sonnetjson outputv1.0

Variable filler

Fill values and watch them flow into the prompt below. Nothing is stored.

budget

channel data

goals

constraints

The prompt

Allocate (or reallocate) a marketing budget across channels with explicit logic — not vibes, not last year +10%.
INPUT: budget + period: {{budget}} | channel performance history: {{channel_data}} // spend, CAC/ROAS, volume, saturation signals per channel
Goals: {{goals}} | constraints: {{constraints}} // committed contracts, minimum brand spend, etc.
METHOD:
1. Classify each channel: SCALE (efficient + headroom), HOLD (efficient, saturating — flag the saturation evidence), FIX (inefficient but strategic — cap as experiment budget with a kill criterion), CUT (inefficient, no thesis).
2. Allocate: 70% to SCALE/HOLD by marginal efficiency, 20% FIX experiments with defined kill criteria, 10% new-channel exploration.
3. Show per channel: allocation, expected output at that spend (state the assumption: linear vs. diminishing), and the review trigger (the number that forces reallocation).
RULE: any channel with no performance data gets experiment-tier budget only, never scale budget.
OUTPUT — ONLY JSON: { "allocations": [], "assumptions": [], "review_triggers": [], "unfunded_asks": [] }

Tap the block to copy

inputs

budget
budget
channel_data
channel data
goals
goals
constraints
constraints

outputs

Declared output: json.