A marketing campaign calendar with a cumulative-spend S-curve
A grid of coloured cells tells you what's on in July. It doesn't tell you whether you've front-loaded half the budget into a launch that isn't ready, or left three-quarters of the spend stacked into the final fortnight. Here's how to lay a campaign out as a channel-by-channel Gantt and drop a cumulative-spend curve underneath — so pacing reads off one page.
Most marketing calendars are spreadsheets. A tab per quarter, a column per week, a fill colour per channel. They're fine for "is anything happening on the 14th" — and useless for the question that actually decides whether a campaign lands: are we spending in the right shape? A spreadsheet calendar has no idea what a pound costs or when it lands. The board tools everyone's migrated to are prettier, but they're the same story — cards on a timeline with no notion of a time-phased budget curve.
The thing a planner would draw — a Gantt with the money accumulating underneath — is exactly what neither of those can produce. So let's build one, from a spreadsheet you already have, in the browser.
Why a spreadsheet can't show pacing
The problem isn't that spreadsheets are unsophisticated — it's that a calendar grid has no time axis, only cells. Two campaigns that spend the same £400k over the same quarter look identical in a grid of coloured weeks, even when one dribbles evenly and the other detonates 60% of it in the last three weeks. Pacing is a shape, and a shape needs a real timescale and a running total. A cell can't carry either.
Board-style work-OS tools solve the wrong half. They give you the timeline back — cards slide along dates, dependencies draw arrows — but there's still nowhere for money to live over time. You can tag a card with a budget field; you cannot plot the cumulative spend those cards imply. The curve simply has nowhere to go. That gap is the whole reason this article exists.
Build it from your spreadsheet in six steps
You almost certainly have the raw material already: a plan with a channel, a start, an end and a budget per line. That's all Sketchedule needs. Everything below happens in the browser — nothing is uploaded.
- Import or paste the plan. Bring your campaign in from Excel or CSV — or literally copy the rows and paste them. Map the columns once: activity name, channel, start, finish, budget. Sketchedule turns each row into a dated activity on a timescale.
- Group into swimlanes per channel. Set the channel column as the outline level and each channel — Paid, Content, Events, PR — becomes a swimlane band with its activities indented beneath and an automatic summary bar spanning them. Shade each lane so a channel reads at a glance (Fig 1).
- Drop in the milestones. Add the moments that matter as milestones — a launch star, a creative-freeze gate (a curtain across the frozen window), a go-live, a wrap. Conditional symbology lets a milestone change shape or colour off a status column, so "at risk" stands out on its own.
- Add a spend ValueSet. Point a ValueSet at the budget column. It spreads each activity's spend across that activity's duration — so a £150k paid burst running six weeks lands as spend-per-week across those six weeks, not a lump on day one.
- Plot the cumulative S-curve. Add a Datagraph that accumulates the ValueSet into a running total and Sketchedule draws the S-curve under the Gantt, on the same month axis. Its slope is the pacing: gentle where spend is light, steep where it stacks up (Fig 2).
- Present and share. Ship it as a landscape PDF or PowerPoint, drop the picture into a deck as PNG/SVG, or send a read-only link that rebuilds the whole thing — Gantt, milestones and curve — in the recipient's browser. What prints matches what's on screen.
Reading the curve like a planner
The value of the S-curve is that spend problems become geometry. Three shapes tell you three stories, and none of them survive contact with a spreadsheet grid.
- A steady diagonal — spend flows evenly. Fine for always-on programmes; suspicious for a campaign with a launch, because it means nothing is concentrated behind the moment that's meant to matter.
- An early bulge — the line climbs hard then flattens. You've front-loaded. Great if the market's ready on day one; a cash write-off if the launch slips and the awareness spend fired into an empty room.
- A late hockey-stick — flat for months, then vertical. The classic "we'll turn it all on in Q4" plan. It leaves no room to learn, no budget to react, and a single agency delay puts most of the money at risk.
Line the curve up against the launch marker and the freeze gate and you're reading a campaign the way a project controller reads a build: is the effort landing where the calendar says it should? A grid of coloured weeks can never answer that. A curve answers it in a glance.
Present it, then share it
Once the picture holds together, getting it in front of people is the easy part. For a board or budget review, export a landscape PDF or PowerPoint — header, footer and logo branded, print matching screen exactly. For a working review with the wider team, send a read-only share link: the entire campaign — bars, milestones, curve and all — travels inside the link, encrypted, and rebuilds in the recipient's browser. Nothing is uploaded to a server, and there's nothing to install at the other end. A stakeholder clicks, sees the live picture, and can't accidentally edit it.
That's the difference between a calendar you screenshot into a slide every week and a view that just refreshes. The plan stays in one place, the money stays attached to it, and the pacing story is always current.
Key takeaways
- A coloured-cell calendar shows what's on but not pacing — it has no time axis and no running total. Board tools give the timeline back but still can't plot a time-phased budget.
- Import or paste a plan from Excel/CSV, group by channel into swimlanes with automatic summary bars, and add launch and freeze milestones.
- Point a ValueSet at the budget column and a Datagraph accumulates it into a cumulative-spend S-curve under the Gantt, on the same months.
- Read the slope: gentle build, steep middle, flat tail is healthy; a late hockey-stick is a back-loaded risk you can catch months early.
- The curve stays live because it's driven by the same activities; export PDF/PPT/PNG/SVG or send a read-only link — nothing uploaded.
Pace your next campaign on one page
Open Sketchedule in a browser — free, no install, nothing uploaded. Paste your campaign plan and watch the spend curve build under it.
Primavera and P6 are trademarks of Oracle Corporation; Microsoft Project is a trademark of Microsoft Corporation. Sketchedule is an independent product and is not affiliated with, endorsed by or sponsored by Oracle or Microsoft. Figures are illustrative, drawn in Sketchedule; the numbers shown are worked examples for explanation.