Our Client is an early-stage e-commerce company selling various products from daily essentials to high-end electronics and home appliances. They aim to increase purchases by sending discounts or coupons to users based on a predictive model that estimates purchase probability.
This project focuses on building a Propensity to Purchase Model using Python, with a primary objective of improving user engagement and ROI. We employ Propensity Modeling and RFM (Recency, Frequency, Monetary) Analysis to predict users' likelihood of making a purchase and to identify high-value customer segments.
The dataset contains purchase history data for an e-commerce company over a period of time.
- Understand Propensity Modeling.
- Understand RFM Analysis.
- Build a model to predict the purchase probability of each user in an e-commerce company using the Propensity Model.
- Language:
Python
- Libraries:
pandas
,scikit-learn
,numpy
,seaborn
,datetime
,matplotlib
,missingno
- Import the required libraries and packages.
- Read the CSV file.
- Perform data preprocessing.
- Conduct exploratory data analysis.
- Univariate analysis
- Multivariate analysis
- Perform RFM Analysis.
- Perform feature engineering.
- Create modeling data.
- Build the predictive model.
- Make predictions.
input
: Contains data and configuration files.config.yaml
: Configuration parameters.final_customer_data.xlsx
: Customer transaction data.final_customer_data_with_RFM_features.csv
: Merged dataset with RFM values.ecom_product_data.csv
: Transaction data for RFM modeling.
src
: Contains modularized code for different project steps.engine.py
: Main execution script.ml_pipeline
: Modular functions.requirements.txt
: List of required packages.
output
: Stores the trained model for future use.lib
: Reference notebooks from the project.