How I built a data-driven system to predict performance and optimize budget allocation across campaigns

Most marketing teams don’t struggle with data.

They struggle with making the right decisions from that data.

Campaigns generate impressions, clicks, conversions, and revenue every day. But turning that data into clear, actionable decisions is where most systems fail.

In this project, I built a decision system that predicts outcomes and recommends optimal budget allocation using machine learning.

Google Ads Budget Optimization Problem

Managing multiple campaigns across different channels creates a complex decision environment.

Marketing teams often struggle with:

Most decisions are reactive and based only on historical data, not predictive insights.

The Approach

I designed a Python-based pipeline that transforms raw Google Ads data into actionable insights.

The system follows a structured process:

  1. Data collection from campaign-level performance
  2. Feature engineering (CTR, CPC, Conversion Rate, ROAS)
  3. Predictive modeling using machine learning
  4. Scenario simulation for budget decisions
  5. Optimization logic to select the best outcome

System Architecture

Key Components

From Data to Decisions

Instead of asking:

“What happened?”

This system answers:

“What will happen next — and what should we do?”

This shift enables:

Impact

This system enables:

By combining data, machine learning, and business logic, this approach transforms analytics from reporting into a decision-making engine.

Final Thoughts

Data is only valuable when it leads to decisions.

This project reflects how analytics systems can move beyond reporting — and become decision engines.

Explore More

This project is part of a broader set of data-driven systems focused on decision-making and optimization.

Explore full technical implementations and case studies:

GitHub (Projects & Case Studies):
https://github.com/ozlemtonbul

Portfolio (Detailed project insights & business impact):
https://ozlemtonbul.com