Assign daily acquisition cohort
As you have seen in the video, defining a cohort is the first step to cohort analysis. You will now create daily cohorts based on the day each customer has made their first transaction.
The data has been loaded as online
DataFrame, you can now print its header with online.head()
in the console.
This exercise is part of the course
Customer Segmentation in Python
Exercise instructions
- Create a function by passing a datetime object extracting year, month and day from
x
. - Create a
InvoiceDay
column by passing theInvoiceDate
columns and applying theget_day
function. - Create a
groupby
object that groupsCustomerID
variable, and selectsInvoiceDay
for further calculations. - Create a
CohortDay
column by selecting the minimumInvoiceDay
value.
Hands-on interactive exercise
Have a go at this exercise by completing this sample code.
# Define a function that will parse the date
def get_day(x): return dt.datetime(x.year, ____, ____)
# Create InvoiceDay column
online['____'] = online['____'].apply(____)
# Group by CustomerID and select the InvoiceDay value
grouping = online.groupby('____')['____']
# Assign a minimum InvoiceDay value to the dataset
online['CohortDay'] = grouping.____('____')
# View the top 5 rows
print(online.head())