Skip to content

Media planning optimizer using CVXPY, modeling real-world advertising constraints and maximizing audience reach under budget.

Notifications You must be signed in to change notification settings

Pix3l79/Advertising-budget-optimizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Advertising Budget Optimizer 🎯

GitHub release GitHub Issues GitHub Stars

Welcome to the Advertising Budget Optimizer! This project aims to help you optimize your media planning by modeling real-world advertising constraints. Using the power of CVXPY, we maximize audience reach while staying within budget.

Table of Contents

Features

  • Optimized Budget Allocation: Efficiently allocate your advertising budget across multiple channels.
  • Audience Reach Maximization: Ensure you reach the maximum audience possible within your budget.
  • Real-World Constraints: Incorporate various constraints such as minimum spend, maximum spend, and channel limits.
  • Data Visualization: Visualize your advertising spend and audience reach for better decision-making.
  • Easy to Use: Simple interface for both beginners and experienced marketers.

Technologies Used

  • Python: The primary programming language used in this project.
  • CVXPY: A Python library for convex optimization that helps in modeling the optimization problem.
  • Pandas: For data manipulation and analysis.
  • Matplotlib: For creating visualizations of the results.
  • NumPy: For numerical operations.

Installation

To get started with the Advertising Budget Optimizer, follow these steps:

  1. Clone the repository:
    git clone https://github.com/Pix3l79/Advertising-budget-optimizer.git
  2. Navigate to the project directory:
    cd Advertising-budget-optimizer
  3. Install the required packages:
    pip install -r requirements.txt

Usage

To run the Advertising Budget Optimizer, execute the following command in your terminal:

python main.py

You can find the latest releases here. Download the relevant file and execute it to get started.

Example

Here’s a simple example of how to set up your budget allocation:

import cvxpy as cp
import numpy as np

# Define your budget and constraints
budget = 10000
min_spend = [1000, 2000, 1500]
max_spend = [5000, 7000, 3000]

# Define the optimization variables
spend = cp.Variable(3)

# Define the objective function
objective = cp.Maximize(cp.sum(spend))

# Define the constraints
constraints = [
    cp.sum(spend) <= budget,
    spend >= min_spend,
    spend <= max_spend
]

# Set up the problem
problem = cp.Problem(objective, constraints)

# Solve the problem
problem.solve()

print("Optimal Spend Allocation:", spend.value)

This code snippet demonstrates how to set up a basic optimization problem using CVXPY. Adjust the min_spend and max_spend arrays to fit your specific needs.

Contributing

We welcome contributions to the Advertising Budget Optimizer! If you would like to contribute, please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Make your changes and commit them.
  4. Push your changes to your fork.
  5. Submit a pull request.

Please ensure that your code adheres to the existing coding style and includes appropriate tests.

License

This project is licensed under the MIT License. See the LICENSE file for more details.

Contact

For any inquiries or feedback, please reach out to the project maintainer:

You can also check the latest releases here. Download the relevant file and execute it to start optimizing your advertising budget.


Thank you for checking out the Advertising Budget Optimizer! We hope this tool helps you make informed decisions in your advertising campaigns. Happy optimizing!