Instacart
To enable marketing to targeted customer groups, Instacart has requested analysis to better understand its customers and products. Customer demographics and customer groups that can be targeted will provide subsets of customers to give focus to. Product preference and performance will permit targeting lagging and leading product types.
This targeted marketing will target the correct customer profiles with the appropriate products while addressing Instacart management’s questions:
Identify days and times with highest volume and highest spend
Understand product price groupings
Guide sales and marketing efforts with:
Highest product popularity and frequency
Brand loyalty
Customer demographics
Tools used
Python
Jupyter notebooks
Pandas
Matplotlib
Seaborn
NumPy
Anaconda
Excel
Skills required
Data wrangling and subsetting
Consistency checks
Data merging
Deriving variables
Grouping data
Aggregating data
Visualizations in Python
Reporting in Excel
Population flows
Data available
Initial Exploratory Analysis
Working to understand the tables, data available, and relationships between tables
Explore each table for a general understanding of contents with functions like head() and tail()
Look for consistent field data types and fields with NULL values to address in cleaning
Use describe() to understand general statistics, distribution of the data, and where deeper investigation may be needed during cleaning
Data Checks and Cleaning
Testing the data integrity and cleaning the data as needed
Change data types to consistent types or to reduce table size
Check for NULL values
Keep non-NULL rows and archive rows with NULL values
OR impute values to replace the NULL values (here, we replace NULL ‘days since prior order’ with zero to handle the first time shopper with no prior orders)
Check for duplicate rows
Check for mixed data types within each field
Analysis
Provide full analysis of the data to better understand Instacart’s customers and products and address management’s questions
To enhance the analysis, new fields (often flags) can be created to aggregate data as needed. Here, we create a ‘spending_flag’ to categorize customers as high or low spender. Several other flags have been created.
Times and Days with the highest Order Volume
Order Volume by Time
Orders begin at 6am, peak 9am and 5pm, and continue after 5pm slowly decreasing to midnight.
Customer Income vs Loyalty
Slight variability of income within a loyalty group with Regular customers showing the highest income
0 Saturday
1 Sunday
2 Monday
3 Tuesday
4 Wednesday
5 Thursday
6 Friday
Order Volume by Day
We see the busiest days for orders are Saturday and Sunday.
These are followed by Friday and Thursday.
There is a dip on orders in the middle of the week.
Customer Profiles and Customer Loyalty
Customer Marital Status/Dependents vs Spending
Married with dependents demographic leads greatly in sales
Instacart Final Report and Recommendations
Implementation of a frequent shopper program can be tailored to provide bonus points or additional savings on these lagging days.
Incentivize placing orders after 5pm to level the demand of orders. Similar to order days, a frequent shopper program could offer bonus points or additional savings for orders placed 'off hours'.
Consider eliminating product lines that may be considered bloat and detractors to the overall purchase experience. Focus can then be given to the remaining product lines to bolster their sales even more.
Improve orders during the week through targeted specials or sales only on those lagging days. An approach similar restaurant promotions on weekdays would be valuable.