Budget Pacing & Forecast

Compare actual ad spend with a supplied period budget and forecast transparent remaining-spend scenarios; use reallocation to move fixed campaign caps.

Budget & growthWorks with exports or live data

When to use it

When checking whether spend will fit a supplied period budget.

Try asking

“Forecast our month-end ad spend and the daily pace needed to stay within budget.”

What you get back

A reconciled pacing assessment with remaining budget, required spend rate, explicit forecast scenarios, and the next check.

Fictional example output

On the linear reference pace, with a broad supplied spend scenario. $12,000 of $30,000 is spent (40.00%); 12 of 30 days are complete (40.00%). Remaining budget is $18,000 over 18 days: $1,000/day required average actual spend.

Current observed average is $1,000/day. A constant run-rate scenario finishes at $30,000. The supplied future range gives $12,000 + 18×$800 = $26,400 to $12,000 + 18×$1,200 = $33,600: $3,600 below to $3,600 above the budget.

This is a scenario range, not a confidence interval or a promise of delivery. Linear pacing is a reference and can be inappropriate for uneven flights/promotions. Confirm the flight calendar and cap/billing rules before a change proposal. Recheck after the next completed reporting day; no daily caps changed.

Fictional data. An illustration of the method, not a customer result.

Where the data comes from

Connected with Orphex Recommended

The skill reads your connected accounts for the right dates. Nothing to export or upload.

Connect free
Input columns 6 required, 2 optional
budget_idRequired
Unique owned period budget
currencyRequired
ISO currency
period_budgetRequired
Authorized total for the complete interval, not a daily cap
spentRequired
Reconciled actual spend through the completed reporting cutoff
elapsed_daysRequired
Completed days, excluding partial current day
period_daysRequired
Total interval days in account timezone
future_daily_minOptional
User-supplied lower spend scenario for remaining days
future_daily_maxOptional
User-supplied upper spend scenario for remaining days
Before you start 2 items
  • Supplied data with the documented task-specific columns, stable scope, and refresh/maturity context
  • Business definitions and constraints relevant to the decision; see the reusable business-context reference

Supply your objectives, conversion definitions, currency, constraints, and approved brand facts once, then reuse the profile across reviews. Leave unknown values explicit.

Open profile source
The method

With an Orphex connection

If an Orphex connector is available, check it before asking for exports. Run capability_search with platform orphex and limit 100; use a read only if that search returns its id, and ask which workspace to use when several are bound. Read scorecards.read for actual, pace and forecast against targets, workflow.weekly_digest_read, and controller.catalog then controller.fetch at level campaign for daily spend and budget. If playbook.catalog lists the campaign pacing health playbook, run it with playbook.run. Then list guides with skill_catalog (kind guide, topic pacing) and follow a matching one through skill_read; choose by title, never by a stored id.

Source and evaluation v2.1.0 · MIT
View SKILL.md

Orphex Budget Pacing & Forecast

Assess whether observed spend is aligned with the supplied period plan and produce transparent remaining-spend scenarios. A budget cap, actual spend, and a forecast are distinct quantities.

With an Orphex connection

If an Orphex connector is available, check it before asking for exports. Run capability_search with platform orphex and limit 100; use a read only if that search returns its id, and ask which workspace to use when several are bound. Read scorecards.read for actual, pace and forecast against targets, workflow.weekly_digest_read, and controller.catalog then controller.fetch at level campaign for daily spend and budget. If playbook.catalog lists the campaign pacing health playbook, run it with playbook.run. Then list guides with skill_catalog (kind guide, topic pacing) and follow a matching one through skill_read; choose by title, never by a stored id.

If a read is not returned, this connection cannot reach that Orphex data for the workspace: say so, then use the live platform reads it offers or the supplied exports. An absent, refused or empty read is not evidence of zero, none or healthy. Describe each read with capability_describe before run_read, keep date_end no later than yesterday, disclose request adjustments, and name each number's source, workspace and window. This skill's evidence rules still govern any guide, insight or playbook label, and no read authorizes account changes. Ask the user only for what is still missing.

Reconcile the interval

Record period start/end, timezone, completed-day cutoff, data refresh, currency, spend source, flight/off days, authorized period budget, and unique budget ownership. Exclude partial current days unless modeled explicitly. Reconcile delayed reports before treating the gap as underdelivery. Count shared owners once; never add a parent budget and its children's governed caps. Keep currencies separate without a supplied exchange rate and date.

Calculate remaining budget = period budget − spend. For completed calendar days, linear reference spend = period budget × elapsed days / total days, and required future daily spend = remaining budget / remaining days. If the campaign has an uneven schedule, promotions, or specified daily weights, use that supplied planned curve instead and name it. At the final day, report actual variance; do not divide by zero remaining days. A negative remainder means the supplied budget is exceeded, not negative required delivery.

Forecast bounded scenarios

Show a constant observed run-rate scenario only when its assumption is useful. Prefer supplied future spend bounds or a documented forecast model with dated input. Never describe scenario bounds as statistical confidence intervals. Do not extrapolate conversions from historical average CPA as guaranteed marginal output. Note cap/billing semantics, eligibility, conversion lag for outcome claims, and the absence of flight changes. Google average daily budgets can deliver unevenly; verify the account's actual budget type before translating pacing into caps.

Report period/refresh, spend and planned reference, remaining amount, scenario arithmetic, assumptions, and a next completed-day check. Propose a change only with unambiguous entity, unit, scope, dates, and authorization; do not silently reduce budgets or move funds.

Official reference

Portable inputs and examples

State whether the result is complete, partial, or blocked for the requested decision. Link material findings to actual supplied rows/sources and separate observed metrics, hypotheses, and estimates. Lead with a short business conclusion, then evidence, uncertainty, and the next measurable check. A data export or installed skill does not authorize account changes.

For the supported arithmetic only, optionally run the bundled calculator with Python 3: python3 scripts/marketing_math.py pacing < calculation.json. Read its input mapping in the input contract before preparing JSON. It reads JSON, not CSV directly. If Python or the requested method is unavailable, show a reproducible alternative calculation or mark it unsupported; do not report an uncomputed result as verified.

View on GitHub Open SKILL.md

How this release was evaluated

See the recorded checks, compared runs, results, and limits for v2.1.0. Example reviews illustrate the method; they do not guarantee account results.

Read the evaluation report