Tempio

Pace

Plan against actual, while there is month left

A flight is a promise about where money goes. Pacing checks that promise every day, per line item, against what the accounts spent, and says how far it has drifted while the drift is still worth fixing.

Underspending is the expensive one nobody notices. The money is still sitting there at the end of the month, and the month is not.

Finding out in the invoice, or finding out on Tuesday

Checking pace by hand
  • Somebody exports three reports on the last Friday of the month and adds them up against a plan kept in another file.
  • The account total looks about right, and underneath it one line item has spent nothing for nine days.
  • A campaign that exhausted its budget on the sixth is discovered on the twenty-eighth, by which point the month is spent.
  • The plan has been edited since it was agreed, so nobody can say with confidence what the baseline was.
  • By the time the gap is visible, the only correction left is the one that spends badly and in a hurry.

A reconciliation at the end of the month.

Pace read every day
  • The baseline is what each campaign was planned to spend that day: the ceiling you set scaled by the phase it is in, or the plan’s own budget, or the platform’s daily figure.
  • Actual spend comes from the same daily base counts everything else in the workspace reads, per account and per campaign.
  • Drift is reported per line item, because an account total can be exactly right while two items inside it are both wrong.
  • A gap is stated in money and in days: how far behind or ahead, and how much of the window is left to do something about it.
  • The correction arrives as a draft you can read before it is real.

A number on Tuesday, while Tuesday still matters.

How drift is found, and what happens to it

  1. 01

    The plan is the baseline

    Three sources answer what a campaign was planned to spend on a day, read in one order: the ceiling you set for it scaled by the phase it is in, a plan item’s whole-flight budget over the length of its flight, or the daily figure the platform is running. Every figure is computed when you read it rather than stored, so editing a plan at noon changes the comparison at noon, and the answer says which of the three it came from.

  2. 02

    Actual spend is read as counts

    Spend comes from the same daily base counts the rest of the workspace reads: one row per entity per day, in the currency that account bills in. Nothing is stored as a rate and nothing crosses currencies quietly, so the comparison is money against money rather than a ratio somebody derived on a different day under different assumptions.

  3. 03

    Drift is flagged, and a correction can be drafted

    Each campaign is compared against where it should have been by the last complete day: planned to date, actual to date, and the ratio between them, which is blank rather than zero when there is nothing to divide. Turn the daily budget pass on and the corrections that follow are written as drafts (the figure the campaign holds now beside the one proposed), and each applies when you approve it, or when a rule you wrote does.

What pacing watches

Pace per line item

An account sitting exactly on plan can be hiding one item at double and one at nothing. Pace is computed at the level the plan was written at, because that is the level at which a correction can be aimed.

Behind counts as much as ahead

Overspending announces itself. Underspending is quiet, leaves the money in the bank and takes the month with it, so it is reported as a gap of exactly the same seriousness.

Days left beside the percentage

A given gap with three weeks left and the same gap with two days left are different problems. Both figures sit on the row, because the second one decides what is worth doing about the first.

Nothing is stored

Nothing about pace is stored. It is arithmetic over the daily counts and the plan as it stands, so the comparison is right the moment a budget or a phase changes.

No silent correction

Nothing here moves a budget on its own. It writes the draft; clearing it is an approval with an author, and the row says which authority that was.

It needs something to measure against

A campaign running on a daily budget has a baseline already. A flight (the window, the line items, the budgets, the accounts) is the version you wrote on purpose, and a campaign with neither is reported as not measured rather than as zero.

Build the flight

Actual comes from the counts

Base counts stored, rates computed when you read them, blank where there is nothing to divide. Pace is arithmetic over those counts and inherits the same discipline.

How the counts are kept

Illustrative exchange

We’re twelve days into October. Is anything off plan?
get_timeline
Reading the calendar for the month.
3 accounts · 14 campaigns · 11 on pace · 2 behind · 1 account over its daily cap yesterday
One account spent over its daily cap yesterday, which I’ll put first because it is the account’s problem rather than any one campaign’s. Underneath it, two campaigns are behind: Spring Sale at 0.80 of plan, and Always On at 0.62.
get_pacing
Reading the day-by-day series for the worst of the two.
Always On · planned to date A$4,800.00 · actual A$2,976.00 · pace 0.62 · behind · projection A$7,340.00 against A$12,000.00 planned
Always On has spent A$2,976.00 against A$4,800.00 planned by yesterday. I can see the gap opening on the fourth, and it has not closed since. If this pace holds it finishes the flight around A$7,340.00 against A$12,000.00 planned. That figure is a projection, and it is the one to act on while there are eighteen days left.
What would you do about it?
propose_reallocation
Running the budget pass without writing anything.
dry run · 4 moves · Always On A$400.00 → A$620.00 · 2 throttled at the workspace cap · nothing drafted
Four moves, and I have written none of them. Always On would go from A$400.00 a day to A$620.00, two campaigns would be throttled because the workspace cap runs out above them, and the report says which and why. Say the word and it becomes a batch of change requests that wait for you, or a rule you wrote, to approve them.

Questions

Put frontier AI to work on every ad account you run.

Connect your accounts, point your own AI at them over MCP, and read the numbers and draft the work in one place. Every change is a draft until you approve it, or until a rule you wrote does.

Request early access
  • Read and draft by default. Approve is a separate permission you grant.