Creating custom segments
It's your turn to create a custom segmentation based on RFM_Score values. You will create a function to build segmentation and then assign it to each customer.
The dataset with the RFM values, RFM Segment and Score has been loaded as datamart, together with pandas and numpy libraries. Feel free to explore the data in the console.
This exercise is part of the course
Customer Segmentation in Python
Exercise instructions
- Create segments named
Top,Middle,Low. If the RFM score is greater than or equal to 10, the level should be "Top". If it's between 6 and 10 it should be "Middle", and otherwise it should be "Low". - Apply the
rfm_levelfunction and store it asRFM_Levelvalue. - Print the header with top 5 rows of the
datamart.
Hands-on interactive exercise
Have a go at this exercise by completing this sample code.
# Define rfm_level function
def rfm_level(df):
if df['RFM_Score'] >= ____:
return '____'
elif ((df['RFM_Score'] >= ____) and (df['RFM_Score'] < ____)):
return '____'
else:
return '____'
# Create a new variable RFM_Level
datamart['____'] = datamart.apply(____, axis=1)
# Print the header with top 5 rows to the console
print(datamart.____())