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
InvoiceDaycolumn by passing theInvoiceDatecolumns and applying theget_dayfunction. - Create a
groupbyobject that groupsCustomerIDvariable, and selectsInvoiceDayfor further calculations. - Create a
CohortDaycolumn by selecting the minimumInvoiceDayvalue.
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())