Main objective of this project is to perform RFM(Recency, Frequency, Monetary) Analysis and check whether it is good to promote offers to all the customers or to selected customers with high scores(Uplift Score).
The metrics used to perform this analysis are RFM, NIR (Net Incremental Revenue) and rate of return.
The dataset contains simulated data that mimics customer behavior on the Starbucks rewards mobile app. Once every few days, Starbucks sends out an offer to users of the mobile app. An offer can be merely an advertisement for a drink or an actual offer such as a discount or BOGO (buy one get one free). Some users might not receive any offer during certain weeks. Not all users receive the same offer, and that was the challenge to solve with this data set. Our task is to combine transaction, demographic and offer data to determine which demographic groups respond best to which offer type. This data set is a simplified version of the real Starbucks app because the underlying simulator only has one product whereas Starbucks actually sells dozens of products.
All steps and procedures performed are mentioned inside the notebooks in the following order:
- Python = 3.8
- Anaconda, Jupyter Notebooks (Optional)
- pandas
- numpy
- json
- matplotlib
- seaborn
- sklearn
- imblearn
- tqdm