Skip to content

Case study · AI Agents & Automation

Budget that moves on a signal, not a monthly guess

Spend across campaigns got reallocated once a month, in a review meeting, based on whichever numbers someone had pulled together in time. This is a system that shifts budget on real signals, with every move logged and explainable.

The system, as found
  1. Campaign A: declining, unnoticed
  2. Campaign B: strong, under-funded
  3. Reallocation: once a month
Client
an e-commerce brand
Problem
Budget moved once a month in a review meeting, based on whatever numbers were ready in time.
Approach
A system that reallocates spend on real-time signals, with every decision logged and the reason attached.

The problem

Several campaigns ran at once, each with its own budget, and the split between them changed roughly once a month, in a meeting, based on a dashboard someone had pulled together the night before. Between meetings, a campaign could be quietly bleeding spend on a declining return for weeks before anyone moved money away from it.

The team was not short on data. The ad platform generates plenty of it in real time. The problem was that nobody could act on it in real time, because acting meant a person noticing, checking, and manually adjusting budgets across every live campaign, every day, which nobody had the hours to do.

The reality behind the problem

Adding more review meetings does not fix a monthly cadence; it just makes the monthly cadence biweekly, still leaving weeks where spend drifts unmanaged on a declining campaign.

The real requirement was a system that could watch every campaign's performance continuously and move budget the moment a signal justified it, not wait for the next scheduled check-in. That is a different kind of work than a better dashboard: it is a decision loop that runs without a person triggering it each time.

What was assumed

Faster budget decisions need more frequent meetings.

What Stallwart asked

What if the reallocation ran continuously, with a person approving the pattern instead of each individual move?

The desired outcome

The target was budget that responds to performance as it happens, without losing the ability to understand or override a decision.

  • Every live campaign's performance watched continuously, not reviewed on a schedule.
  • Budget shifts triggered by a defined signal, not a feeling in a meeting.
  • Every reallocation logged with the reason attached, so a decision can be explained after the fact.
  • A person setting the limits and approving the pattern, not approving every individual shift.

The system we designed

A system that tracks every live campaign's performance continuously and reallocates budget within limits the team sets, moving spend toward what is working and away from what has declined past a defined threshold.

Every shift is logged with the signal that triggered it, so a reallocation can be explained after the fact rather than defended from memory. The team approves the overall policy and limits; the system executes within them without waiting for a meeting.

Before and after

From a monthly meeting to a continuous, logged decision

Monthly review

  1. Campaign A: declining, unnoticed
  2. Campaign B: strong, under-funded
  3. Reallocation: once a monthBatch

Spend drifts between meetings

Continuous reallocation

  1. Campaign A: budget trimmed on signalReal-time
  2. Campaign B: budget increased on signalReal-time
  3. Every move logged, explainable

Every shift logged with its reason

What changed

Budget now moves within the limits the team set, as performance changes, instead of waiting for the next scheduled review. A campaign that declines gets trimmed before it has bled weeks of spend, and a strong campaign gets funded sooner.

The monthly meeting still happens, but it is now a review of the pattern and the limits, not a scramble to reallocate everything at once from a dashboard pulled together the night before.

  • From monthly reallocation to continuous, signal-triggered shifts
  • From an unexplained decision to a logged reason for every move
  • From approving each shift to approving the policy it runs within

Ownership & handover

What you receive, and keep.

  • The reallocation system and its decision logic, documented and handed over.
  • The full log of every shift and its reason, yours to audit at any time.
  • No dependency on Stallwart to keep the policy running.

What we learned

A monthly review cadence is a scheduling artifact, not a strategy. The data to decide faster almost always already exists; what is usually missing is a safe way to act on it without a person in the loop for every single move.

Explainability matters as much as speed. A system that moves budget fast but cannot say why is a harder sell than one that moves slightly slower but leaves a reason behind every decision.

This work connects to

Frequently asked

Can the system move budget without anyone approving it?

Within limits and a policy the team sets and approves up front. Every individual shift is still logged and reviewable, but it does not wait for a person to click approve on each one.

What signal triggers a reallocation?

Defined with you during scoping, typically a sustained change in cost per result or conversion rate past a threshold you set, not a single noisy data point.

See a declining campaign caught before next month's review

Tell us how budget gets reallocated today, and how long a decline usually runs before anyone notices.