リテンション率を一から計算する
月次の獲得コホートに対して、リテンションと平均購入数量の指標表を作る方法を見てきました。ここでは、リテンション指標を自分で作成してみましょう。
このレッスンで作成した月次コホートとコホートインデックスが付与された online データセットが読み込まれています。必要であればコンソールで表示して確認してください。
また、次のコマンドで作成した groupby オブジェクトを grouping というDataFrameとして用意しています:
grouping = online.groupby(['CohortMonth', 'CohortIndex'])
この演習はコースの一部です
Pythonで学ぶカスタマーセグメンテーション
演習の手順
- 顧客IDの列を選び、一意の値の数を数えて
cohort_dataに格納し、インデックスをリセットします。 - インデックスに月次コホート、列にコホートインデックス、値に顧客IDを置いたピボットを作成します。
- 最初の列を選んで
cohort_sizesに格納します。 - 行方向に、コホートのカウントを
cohort_sizesで割ります。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Count the number of unique values per customer ID
cohort_data = grouping[____].apply(pd.Series.____).reset_index()
# Create a pivot
cohort_counts = cohort_data.____(index=____, columns=____, values=____)
# Select the first column and store it to cohort_sizes
cohort_sizes = cohort_counts.iloc[:,____]
# Divide the cohort count by cohort sizes along the rows
retention = cohort_counts.____(____, axis=____)