Instacart: Targeted Marketing Strategy

Instacart logo



Overview


Grocery delivery app Instacart needs a better understanding of its customers’ demographics and purchasing behaviors in order to launch an effective targeted marketing campaign. I performed an analysis using python to group customers based on certain characteristics and figure out their purchasing behaviors.

Key Questions 

The sales team needs to know what the busiest days of the week and hours of the day are (i.e., the days and times with the most orders) in order to schedule ads at times when there are fewer orders.  

They also want to know whether there are particular times of the day when people spend the most money, as this might inform the type of products they advertise at these times.

 Instacart has a lot of products with different price tags. Marketing and sales want to use simpler price range groupings to help direct their efforts. 

 Are there certain types of products that are more popular than others? The marketing and sales teams want to know which departments have the highest frequency of product orders.  

The marketing and sales teams are particularly interested in the different types of customers in their system and how their ordering behaviors differ.

For example: 
What’s the distribution among users in regards to their brand loyalty (i.e., how often do they return to Instacart)? 

 Are there differences in ordering habits based on a customer’s loyalty status? 

 Are there differences in ordering habits based on a customer’s region? 

 Is there a connection between age and family status in terms of ordering habits?

Note: Instacart is a real company that’s made their data available online. However, the contents of this project brief have been fabricated for the purpose of this Achievement.  

What different classifications does the demographic information suggest? Age? Income? Certain types of goods? Family status? 

What differences can you find in ordering habits of different customer profiles?

Consider the price of orders, the frequency of orders, the products customers are ordering, and anything else you can think of.

Tools 

Python: Data wrangling, data merging, deriving variables, grouping data, aggregating data, population flows, visualizing data
Excel: Reporting in Excel


Dataset The Instacart Online Grocery Shopping Dataset 2017


Project Life Cycle



Business understanding: I read through the project brief to understand what was needed and to plan out the steps needed to meet the business goals.

Data understanding: I imported  the datasets into python and got a general understanding of the dataset (the shape of the dataset, what each column represents, the data types)

Data Preparation: Here I prepared the data for analysis by performing data wrangling procedures, performing consistency checks, deriving new columns, and grouping the customers and products based on several factors 

Analysis: I performed a descriptive analysis on all the different groups and created visualizations to communicate the results to stakeholders.

Presentation: I put together an excel report, and sent this to the stakeholders.

Analysis

Key Insights: Busiest days & Most expensive hours


The stakeholders wanted to know the busiest days of the week and the hours of the day when the most money was spent.

I used pandas to plot a graph showing the frequency of orders made on each day of the week.

I found the busiest day was Saturday followed by Sunday and Friday. This information is essential to know when to run ads.

Frequency chart showing the number of orders made each day.



The stakeholders wanted to know what hours the most money was spent.

Using seaborn, I plotted a line chart showing the mean price of orders purchased at each hour of the day.

I discovered that more money is spent in the morning hours. This information could help with figuring out what to advertise at what hours.



Key Insights: Products


The stakeholders needed an easier way to group the products by price so I grouped them into high-range products (>$15), mid-range products (<=$15 & >$5), and low-range products (<=$5). 

I visualized the price ranges of all the orders on a pie chart and found that a majority of orders were made for mid-range products.

It could be beneficial to advertise these products more or come up with strategies to advertise the products in other price ranges to increase their sales.


The stakeholders were also interested in knowing what products were more popular than others.

I plotted the total orders made for each department in a horizontal bar chart and found that the produce, dairy eggs, and snacks departments were the most popular while the bulk other and pets departments were the least popular.

 This information could help the marketing team decide what products they should be advertising.

Customer Profiles


The stakeholders wanted to know the different types of customers and their purchasing behaviors in order to launch a targeted marketing strategy. 

One of the factors I grouped the customers by was order frequency, this was done using the median prior days before the customer made the next order.

I also grouped the customers into different age groups adult, senior and young adult.

I used a 100% stacked bar chart and determined that there were small differences in the proportions of customers in different frequency groups depending on their age groups.



Using a scatter plot I found that older customers had more income so they had more spending power.

Information like this is really helpful because the marketing team now knows how often to target each age group and what promotions and prices of products to advertise to different age groups. 



More profiles


Some other groups I made were the family status groups and the pet parent groups.

 I located every customer that had ever purchased a pet product and placed them in the pet parent group before finding some of their purchasing behaviors.

This information could help boost sales in the pet department which is one of the least popular departments.




I grouped customers by family status and used a stacked bar chart to view the relationship between family status and age group for each customer.

I found that only young adults lived with their parents and siblings while divorced individuals were only adults and seniors.

This information would be helpful in targeting multiple groups at the same time, the ads that target customers living at home could be the same ones targeting young adults.

More groups can be found in the GitHub repo for this project. Located in the links section.


Recommendations


Most orders are made over the weekend from Friday to Sunday.

Ads should be scheduled on weekdays.

The most expensive products are ordered between midnight and 7 am.

Higher priced products can be advertised at these times.

Efforts could be made to advertise less popular products.

Ads targeted at each age group could help to increase order frequency.

Advertising more expensive products to older customers and cheaper products to younger customers could increase the number of orders and boost revenue.

Pet products could be advertised to customers that have purchased from the pet department to increase sales.

Links

Github repo