Optimisation Engine

← All work

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.

Source Code Live App
Optimisation engine walkthrough

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.

Optimisation result

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