This project was developed as part of a Data Analytics bootcamp and focuses on data wrangling, cleaning, and preparation for analysis.
The main theme of the project is Marketing and Consumer Behaviour. The project focuses on consumer behaviour and ecommerce from a marketing perspective. The goal is to collect, clean, organize, and prepare data that can later be used to understand campaign performance, consumer habits, online behaviour, and possible business insights.
This repository contains the notebook, source information, and documentation used during the data wrangling process.
Ecommerce and marketing companies collect large amounts of data from campaigns, digital channels, customer interactions, online platforms, APIs, and datasets.
For a marketing and consumer behaviour project, this type of data can help answer questions such as:
- Which marketing channels are more efficient?
- Which campaigns generate better results?
- Does a higher budget always lead to better performance?
- How do impressions affect cost per lead?
- How can raw data be transformed into a clean dataset for analysis?
- How can data support marketing and business decisions?
The focus of this project is not only to collect data, but also to prepare it properly so it can be used for future analysis, insights, and visualizations.
The main goals of this project are:
- Identify useful marketing and consumer behaviour data sources
- Collect information from datasets and APIs
- Clean and organize raw data
- Handle missing values and inconsistent formats
- Structure the data into a usable format
- Document the data wrangling process
- Analyze marketing campaign performance
- Prepare the dataset for future analysis and visualization
- Generate business insights and recommendations
Project-3-data-wrangling-project/
│
├── .gitignore
├── README.md
├── Project 3_Consumer & Ecommerce jupiter notebook
└── Sources data information sites
Kaggle Marketing Campaign Dataset
This is the main dataset used in the project. It contains information about 10,000 marketing campaigns.
The dataset supports the analysis of campaign performance, marketing channels, budget efficiency, impressions, leads, conversions, and return on investment.
Live JSONPlaceholder API
API endpoint used:
https://jsonplaceholder.typicode.com/users
The JSONPlaceholder API was used to fetch simulated user and agency directory data.
This API integration helped enrich the data engineering process by practicing:
- API requests
- JSON data extraction
- User data retrieval
- Data normalization
- Transforming API data into a structured format
- Combining external API data with project analysis workflows
We expected Search and Email to be the most efficient marketing channels.
The data surprised us.
While Search and Email show high ROI, Influencer marketing is actually the most cost-efficient channel.
Influencer campaigns cost only $9.11 per conversion, making them cheaper than:
- Search: $10.89 per conversion
- Social: $10.33 per conversion
Shift mid-funnel conversion budgets away from expensive Search ads and invest more aggressively into Influencer marketing to lower acquisition costs.
Does a higher budget guarantee proportional success?
No.
The analysis revealed a strong Budget Saturation Effect. Higher spend heavily increases the cost per lead.
Campaigns with Low budgets generate leads at only $1.32 per lead.
However, campaigns with High budgets see their cost per lead increase to $6.25 per lead.
Stop overfunding single, massive campaigns.
Instead, split large budgets into multiple smaller, targeted campaigns to maintain the more efficient $1.32 cost per lead.
Do higher-impression campaigns convert more efficiently?
Yes.
Expanding top-of-funnel reach drastically reduces the cost per lead.
Campaigns with Low impressions have an expensive cost per lead of $8.23.
Campaigns with High impressions reduce the cost per lead to only $1.03.
Prioritize top-of-funnel brand awareness through impressions.
Securing wide reach first is the most effective way to generate cheaper leads later in the funnel.
The analysis suggests that campaign efficiency is not only determined by budget size or traditional high-performing channels.
The main insights are:
- Influencer marketing is the most cost-efficient channel for conversions.
- Higher budgets do not always produce proportional results.
- Large budgets should be divided into smaller, more targeted campaigns.
- High-impression campaigns generate cheaper leads.
- Top-of-funnel reach is important for lowering downstream acquisition costs.
This notebook contains the main work of the project, including:
- Data collection
- Data cleaning
- Data exploration
- Data transformation
- Preparation of the dataset for analysis
This file contains the sources and websites used to collect or research data for the project.
This file is used to tell Git which files or folders should not be uploaded to the repository.
This file explains the purpose, structure, and content of the project.
The main tools used in this project are:
- Python
- Jupyter Notebook
- Pandas
- NumPy
- BeautifulSoup
- Requests
- Git
- GitHub
- Trello
- Google Drive
- Kaggle
- JSONPlaceholder API
The project follows the main steps of a data wrangling workflow.
Data is collected or researched from online sources, APIs, and structured datasets.
The available information is reviewed to understand:
- Columns
- Data types
- Missing values
- Duplicates
- Inconsistent values
- Useful variables for analysis
The dataset is cleaned by applying steps such as:
- Removing duplicates
- Handling missing values
- Renaming columns
- Standardizing text values
- Cleaning numerical values
- Converting data types when needed
The data is transformed into a cleaner and more structured format so it can be used for analysis.
The final cleaned dataset is prepared for future analysis, insights, and visualizations.
This project can support future analysis questions such as:
- Which marketing channels are most efficient?
- Which campaigns have the best return on investment?
- Which campaigns have the lowest cost per conversion?
- Does a higher budget improve campaign performance?
- How does impression volume affect cost per lead?
- What marketing actions can reduce acquisition costs?
- How can campaign data support business decisions?
Some of the main challenges in this project include:
- Finding reliable data sources
- Cleaning inconsistent data
- Handling missing or incomplete information
- Structuring raw data into a clean format
- Working with API data
- Connecting data wrangling with business insights
- Organizing the project repository clearly
In the future, the project can be organized as:
Project-3-data-wrangling-project/
│
├── README.md
├── .gitignore
├── requirements.txt
│
├── data/
│ ├── raw/
│ └── clean/
│
├── notebooks/
│ └── data_wrangling.ipynb
│
├── src/
│ └── cleaning_functions.py
│
└── images/
Possible future improvements include:
- Add a clean dataset folder
- Add visualizations
- Create charts to show marketing and consumer behaviour trends
- Add a
requirements.txtfile - Organize the notebook inside a
notebooks/folder - Add Python scripts with reusable cleaning functions
- Expand the analysis with more ecommerce or marketing data
- Add final dashboard or presentation screenshots
Project developed by:
TSV Consumer Insights
Project managers:
- Teresa Mendes Coelho
- Shilpa Krish
- Vildan Pipiroglu
GitHub:
https://github.com/teresamendescoelho-cpu
Project in progress.
The repository currently includes the main Jupyter Notebook, README file, .gitignore, and a file with data source information.
Future improvements will include organizing the project into folders, adding a clean dataset, and expanding the analysis with visualizations.