// design
Marketing Budget Planning
Use when the user wants to set or sanity-check a total marketing budget — how much to spend overall, as a percentage of revenue, by company stage and business model — and split it across brand, demand gen, content, and tooling. Also use when the user mentions marketing budget, % of revenue on marketing, how much should we spend on marketing, or budget allocation across functions. Produces a budget from AAJ's stage bands (labelled as AAJ's working ranges), published reference points (Gartner, SaaS Capital) and a function-level split.
npx skills add sarojkjha/aaj-marketing-skills --skill marketing-budget-planningHow to install and run this
Install it in your project:
npx skills add sarojkjha/aaj-marketing-skills --skill marketing-budget-planningNo install? Add https://aaj-engines-mcp.sarojkjha10.workers.dev/mcp as a custom connector in Claude, ChatGPT or any MCP client.
https://aaj-engines-mcp.sarojkjha10.workers.dev/mcpThen ask: Use the AAJ marketing-budget-planning skill on my numbers.
Step-by-step for every agent, Windows, Mac and Linux →Claude Code
/plugin marketplace add sarojkjha/aaj-marketing-skills/plugin install aaj-marketing-skills@aajOpenAI Codex
codex plugin marketplace add sarojkjha/aaj-marketing-skillscodex plugin add aaj-marketing-skills@aajClaude or ChatGPT — no install
Add this as a custom connector:
https://aaj-engines-mcp.sarojkjha10.workers.dev/mcp// when to use it
Use when the user wants to set or sanity-check a total marketing budget — how much to spend overall, as a percentage of revenue, by company stage and business model — and split it across brand, demand gen, content, and tooling. Also use when the user mentions marketing budget, % of revenue on marketing, how much should we spend on marketing, or budget allocation across functions. Produces a budget from AAJ's stage bands (labelled as AAJ's working ranges), published reference points (Gartner, SaaS Capital) and a function-level split.
// what you give
Business model, company stage, the right base for that stage (quarterly burn, funding raised, or annual revenue), and growth ambition
// what you get
A planned marketing budget (share of the base, per period and per month), where the figure comes from, published reference points, and a split across functions
Engine spec
// decision it supports
How much should we spend on marketing in total at our stage, and how should it split across functions?
// inputs
Business model, company stage, the right base for that stage (quarterly burn, funding raised, or annual revenue), and growth ambition
// output
A planned marketing budget (share of the base, per period and per month), where the figure comes from, published reference points, and a split across functions
// acts or analyzes
Analyzes onlyMakes no network calls, writes no files and changes nothing in your tools.
// where your information goes
| How you run it | Where your inputs go |
|---|---|
| Skill installed in your agent, or the local MCP server | The engine runs on your machine and AAJ receives nothing. Your AI agent still sends what you give it to its model provider (Anthropic, OpenAI and so on), under your own account's terms. |
| Hosted MCP server | Your agent's model provider, as above, plus AAJ's server on Cloudflare, which receives the engine inputs over HTTPS, runs them in memory and keeps no copy. Cloudflare keeps error logs (no inputs) for up to 7 days. |
No engine needs customer names, emails or other personal data; leave them out.
// limitations
- The B2B SaaS stage bands are AAJ's working ranges, not third-party research. Gartner's 7.8% average is mostly companies above $1B revenue.
- Runway does not cap the share: the engine does not apply it, and the skill now says to check it yourself. runwayMonths is accepted only for a b2b_saas seed budget, where it spreads the round per month.
- Ecommerce, services and marketplaces have no stage band. Without your own pctOfRevenue it uses Gartner's large-company average, which is not a target.
- The function split is an AAJ default, and the total covers all marketing, not just paid. It does not check the spend is affordable against LTV:CAC.
// review before acting
// setup
npx skills add sarojkjha/aaj-marketing-skills --skill marketing-budget-planninghttps://aaj-engines-mcp.sarojkjha10.workers.dev/mcpAgents listed: Claude Code, Cursor, OpenAI Codex, Windsurf, Cline. Tested and recorded: Claude Code, OpenAI Codex (Windows, ab-test-significance only).
Marketing Budget Planning
Decide how much to spend on marketing overall — the question that comes before how to split it across channels. The answer is set by stage, model, growth ambition, and cash runway, expressed as a percentage of revenue and then divided across functions.
When to use
The user needs a total marketing budget or wants to check whether their current spend level is reasonable for their stage and model.
Before you start
- Read the brand/product context (
.agents/product-marketing.md/.agents/aaj-brand.md) for model and stage, if present. - Gather: business model (B2B SaaS / ecommerce / services / marketplace), stage (pre-seed → mature), annual revenue (ARR or revenue), and growth ambition (conservative / balanced / aggressive).
- Have unit economics handy. A budget is only affordable if the implied CAC clears LTV:CAC — run the
unit-economicsskill if unsure.
Method
For B2B SaaS, the engine uses AAJ's stage bands — AAJ's working ranges, not third-party research — and says so in every output:
| Stage | AAJ's working range | Sized against |
|---|---|---|
| Pre-seed | 30–60% | quarterly burn (revenue isn't a useful base yet) |
| Seed | 10–20% | funding raised |
| Series A | 20–30% | ARR |
| Series B | 12–20% | revenue |
| Growth (post-Series B) | 15–25% | revenue |
| Mature | 5–7% | revenue, marketing only |
Growth ambition picks the low end, midpoint or high end of the band. Runway is not applied by the engine: check yourself that the figure leaves the runway you need. Every run also prints the published reference points: Gartner's 2026 CMO Spend Survey (budgets averaged 7.8% of company revenue, mostly companies above $1B revenue), SaaS Capital's 2026 survey (median private B2B SaaS marketing spend 8% of ARR), and Gartner's 2026 category shares (paid media 31.4%, martech 19.4% of the average budget).
For ecommerce, services and marketplaces there is no sourced stage band. Pass your own pctOfRevenue; without it, the engine sizes the budget at Gartner's 7.8% and labels it as a large-company average, not a target.
The function split is AAJ's default assumption, not a benchmark — pass your own split to replace it. Affordability is confirmed against unit economics.
Run the engine
Paths assume you installed with
npx skills add. From a clone of this repo, useskills/marketing-budget-planning/resources/…instead.
node .agents/skills/marketing-budget-planning/resources/budget-planner.js # demo (B2B SaaS, Series A, $3M)
node .agents/skills/marketing-budget-planning/resources/budget-planner.js '{"model":"b2b_saas","stage":"seed","fundingRaised":3000000,"runwayMonths":18,"growthTarget":"aggressive"}'
node .agents/skills/marketing-budget-planning/resources/budget-planner.js '{"model":"ecommerce","stage":"growth","annualRevenue":8000000,"pctOfRevenue":12}'
node .agents/skills/marketing-budget-planning/resources/budget-planner.js --help
It returns the planned share and where it comes from, the budget per period and per month, the reference points, and a split across functions (demand gen, content/SEO, brand, etc.), plus JSON with the sources.
Interpret & connect
- Treat the band as AAJ's working range, not an industry benchmark, then adjust for runway, payback tolerance, and how much demand actually exists to capture. Always say which basis the engine used.
- The demand-gen / paid slice flows straight into the
paid-media-budget-allocationskill for the channel split. - If LTV:CAC won't support the implied spend, fix economics or lower the budget before scaling.
Present the result
Lead with the headline budget (share of the base, per period, per month) and its basis — AAJ band, your own figure, or the Gartner average — then the function split, then the affordability check against unit economics and the handoff to channel allocation.
Show where it came from. Open your answer with "AAJ marketing-budget-planning engine result:" and print the engine's output block exactly as it returned it, then add the line Method: https://skills.aajconsult.com/skills/marketing-budget-planning. Say the numbers come from the AAJ engine, not from the model. Put your interpretation under that block. Do not retype the figures from memory. If you could not run the engine, say so and label any numbers as your own estimate, not an AAJ result.
Guardrails & common mistakes
- Bands and averages aren't targets. AAJ's bands are working ranges and the published figures are averages across very different companies — demand and economics decide.
- Never present an AAJ band as third-party research. Name it as AAJ's working range, and cite the published figures by organisation and year.
- Runway limits ambition (check it yourself; the engine does not). Aggressive % with thin runway is a fast way to run out of money.
- Spend follows ability to absorb it. Doubling budget overnight wastes money if the funnel and team can't scale with it.
- Total budget ≠ paid budget. This sizes all marketing; only the demand-gen slice is paid media.
Related AAJ resources
- Interactive tool: https://aajconsult.com/tools/marketing-budget-calculator
- Guide: https://aajconsult.com/blog/how-much-should-a-startup-spend-on-marketing
Related skills
unit-economics (affordability) · paid-media-budget-allocation (split the paid slice) · campaign-orchestrator (the strategy the budget funds).
// faq
// install
npx skills add sarojkjha/aaj-marketing-skills --skill marketing-budget-planning// run it
node .agents/skills/marketing-budget-planning/resources/budget-planner.js --demo// worked example
Get the worked example for Marketing Budget Planning
One email. The filled-in config, the output, and how to read it.
// sprint
Unit Economics & Retention Sprint — $3,500, 10 business days
This skill is one of the engines behind the Unit Economics & Retention Sprint — $3,500, ten business days.
LTV, CAC, payback and churn on your actual numbers — with a verdict, not a dashboard.
// human in the loop
Need a human in the loop?
AAJ builds the strategies, tools, and playbooks these skills are made of — with engagements for growth-stage and enterprise teams.
