Predictive campaign planning & decision support
Predictive Budget Spend System
A two-phase machine-learning system that learns from historical campaign outcomes, then gives users an immediate High, Medium, or Low budget-spend prediction while they configure a campaign.
Business problem
The challenge
Campaign teams had to choose budgets, time frames, audiences, network blocklists, and delivery settings before they knew whether those parameters were likely to spend the full budget. Poorly balanced configurations could limit delivery and leave revenue unrealized.
The opportunity was to turn historical spend behavior into practical, pre-launch guidance. The prediction needed to arrive inside the existing campaign workflow and translate a model score into language a user could act on immediately.
Technical solution
Our approach
The design separates offline learning from online inference: training can evolve independently while the product consumes a stable, explainable prediction contract.
- 01
Build the historical dataset
Combine past campaign configurations—budget, time frame, audience size, network blocklists, targeting, and delivery parameters—with the observed outcome of whether each campaign spent its full budget on time.
- 02
Train and validate the model
Use those labeled outcomes to identify delivery patterns, train the predictive model, evaluate its performance, and derive validated thresholds for High, Medium, and Low likelihood classifications.
- 03
Serve predictions through an API
Deploy the trained model behind a REST endpoint that accepts a current campaign configuration, applies the same feature preparation used in training, and returns a spend-likelihood score and classification.
- 04
Put guidance in the workflow
Request a prediction as campaign parameters change and display the result in the UI before launch, giving the user time to adjust the configuration while the decision is still reversible.
Results & impact
Prediction at the point of decision.
Instead of reviewing underdelivery after launch, the system gives campaign teams an actionable signal while configuration choices can still be improved.
revenue increase
Predictive budget-spend guidance helped teams recognize and act on campaign configurations with stronger delivery potential.
clear classifications
High, Medium, and Low translate a raw model prediction into concise guidance that campaign users can understand.
decision feedback
The prediction appears while a campaign is being configured, when budget, timing, audience, and delivery inputs can still be changed.
Visual assets
From historical outcomes to a live classification.
Model training and threshold validation
flowchart TD
subgraph INPUTS["HISTORICAL CAMPAIGN INPUTS"]
B["Budget amount"]
T["Campaign time frame"]
A["Audience size"]
N["Network blocklists"]
P["Targeting & delivery parameters"]
end
B --> J["Join configuration with outcome"]
T --> J
A --> J
N --> J
P --> J
S["Label: full budget spent<br/>within time frame?"] --> J
J --> Q["Clean, encode & prepare features"]
Q --> R["Training dataset"]
R --> M["Train predictive model"]
M --> V["Validate on historical holdout data"]
V --> TH["Derive High / Medium / Low thresholds"]
TH --> G{"Meets performance criteria?"}
G -->|"No"| Q
G -->|"Yes"| D[("Deploy model + thresholds")] Two-phase system architecture
flowchart LR
subgraph TRAIN["1 · TRAINING PHASE"]
A["Historical campaign<br/>configurations"] --> B["Feature preparation"]
O["Actual spend outcomes"] --> B
B --> C["Train predictive model"]
C --> D["Validate model &<br/>classification thresholds"]
D --> E[("Versioned model")]
end
subgraph APP["2 · FULL-STACK PREDICTION PHASE"]
U["Campaign UI"] -->|"Current configuration"| API["Prediction REST API"]
API --> F["Apply feature preparation"]
F --> M["Model inference"]
E -.->|"Deploy"| M
M --> K{"Classification"}
K --> H["High"]
K --> MD["Medium"]
K --> L["Low"]
H --> U
MD --> U
L --> U
end Real-time classification request
sequenceDiagram actor User participant UI as Campaign UI participant API as Prediction REST API participant Prep as Feature Preparation participant Model as Predictive Model User->>UI: Configure budget, timing,<br/>audience and delivery settings UI->>API: POST current campaign configuration API->>Prep: Validate and transform inputs Prep->>Model: Send model-ready features Model-->>API: Return spend-likelihood score API->>API: Apply validated thresholds API-->>UI: Return High, Medium, or Low UI-->>User: Display pre-launch guidance
Tech stack
Built for production.
The portfolio visuals document the system at the architecture level because source code and product screenshots are not available. The work spans offline model training, threshold validation, model deployment, REST inference, and pre-launch UI feedback.