GithubHelp home page GithubHelp logo

ajnavneet / multitouchattribution_marketingspend_optimization Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 9.22 MB

Multi-touch attribution models to determine the channels that lead to greater customer conversions.

License: MIT License

Jupyter Notebook 99.58% Python 0.42%
attribution multi-touch market-spend-optimization

multitouchattribution_marketingspend_optimization's Introduction

Multi-Touch Attribution Model and Marketing Budget Optimization

Business Objective

Marketing attribution is a vital aspect of understanding how various marketing channels contribute to overall success. This project delves into multi-channel attribution modeling, aiming to quantify the value of advertising campaigns and improve advertising ROI. The goal is to help stakeholders make informed decisions by isolating the impact of each touchpoint on conversions.


Aim

This project aims to build various attribution models to determine the channels that lead to greater customer conversions.


Data Description

The dataset is in CSV format and comprises 586,737 rows and 6 columns. The columns include:

  • Cookie: Anonymous customer ID
  • Time: Date and time of the visit
  • Interaction: Categorical variable indicating the interaction type
  • Conversion: Binary indicator (0 for not converted, 1 for converted)
  • Conversion value: Value of the potential conversion event
  • Channel (target variable): The marketing channel responsible for bringing the customer to the site

Tech Stack

  • Language: Python
  • Libraries: NumPy, Matplotlib, Seaborn, Itertools, Gekko, Pandas-Profiling

Approach

  1. Import the required dependencies and libraries.
  2. Import the dataset.
  3. Exploratory Data Analysis (EDA):
    • Generate an EDA report using the Pandas Profiling Python module.
  4. Building Single Touch Attribution Models:
    • Last Touch Attribution Model
    • First Touch Attribution Model
    • Last Non-Direct Touch Attribution Model
  5. Building Multi-Touch Attribution Models:
    • Linear Attribution Model
    • Position-Based (U-Shaped) Attribution Model
    • Position Decay Attribution Model
  6. Building Probabilistic Attribution Models:
    • Markov Attribution Model
    • Shapley Value Model
  7. Results:
    • Tables: Average of all the models
    • Graphs: Model visualizations
  8. Build a Budget Optimization Engine.

Project Structure

  • input: Contains the dataset in a CSV file named "attribution_data.csv."
  • src: The core folder with modularized code.
    • engine.py: Main execution script.
    • ML_Pipeline: Modular Python functions for data processing.
  • output: Stores model graphs.
  • lib: Includes the original Jupyter notebook and reference materials.
  • ppt: Presentation slides used for project explanation.

Getting Started

  1. Clone this repository.
  2. Navigate to the src folder and run engine.py to execute the project.
  3. Install required packages using pip install -r requirements.txt.

multitouchattribution_marketingspend_optimization's People

Contributors

ajnavneet avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.