Case study · Decision system
Digital Budget Optimisation Engine
Decision optimisation system using Operations Research. A decision optimisation engine that formalises marketing budget allocation under fixed constraints. It does not rely on heuristic rules or intuition-led budgeting. Instead, it translates strategic priorities into a constrained optimisation problem, solved using Linear Programming.
The focus of this work is not dashboarding or performance reporting, but the design of a reproducible, auditable decision system.

The problem
In many SME environments, digital marketing budgets are allocated using static percentages, historical benchmarks, or subjective judgement. These approaches do not explicitly model trade-offs between competing objectives or account for platform-level productivity differences under a fixed investment constraint.
As a result, budget decisions are often opaque, difficult to justify, and hard to reproduce.
I designed a modular optimisation engine that separates human strategic intent from machine-led decision logic. Users define:
- Strategic objectives
- Total investment constraints
- Platform-level priorities
The system then computes an optimised budget allocation using Operations Research techniques, enforcing constraints and explicitly modelling trade-offs between goals and platforms.

Why this project is different
This project goes beyond typical analytics tools in several ways:
- It implements a flow-locked decision architecture rather than an exploratory dashboard
- It formalises budget allocation as a constrained optimisation problem
- It separates human judgment from machine-led optimisation
- It applies Operations Research techniques in a practical SME decision context
The originality lies in system and decision design, not in surface-level tooling.
System architecture
The engine is implemented as a multi-stage decision pipeline with strict flow control:
- Module 1: Strategic objective selection and total budget definition
- Module 2: Platform selection and priority weighting
- Module 3: Historical KPI input and productivity ratio calculation
- Module 4: Data transformation into cost-per-unit efficiency metrics
- Module 5: Linear Programming optimisation engine
- Module 6: KPI forecasting and decision explanation
A central state controller enforces irreversible progression through the decision stages, ensuring traceability and decision integrity.
Optimisation logic
The core optimisation model is formulated as a Linear Programming problem:
- Decision variables represent budget allocations per platform and per strategic goal
- The objective function maximises weighted expected KPI output
- Weights combine system-level strategic priorities with platform-specific importance
- A global budget constraint enforces realistic trade-offs
The optimisation formulation and weighting logic were designed specifically for this system rather than adopted from a pre-existing template.
Technologies used
Python · Linear Programming (PuLP) · Streamlit · Modular system design · KPI modelling and forecasting
