始める無料で始める

寄付の最新性(Recency)

ベーステーブルに追加すると有益な変数として、最新性(最後の寄付からの経過時間)があります。ここでは、初期段階のベーステーブル basetable と、ドナーが行った寄付履歴を含む gifts の2つのデータフレームが与えられています。母集団内の各ドナーについて、日数ベースの最新性を追加してください。

ベーステーブルの計算に使用する次のタイムラインを念頭に置いてください:

この演習はコースの一部です

Pythonで学ぶ中級予測分析

コースを見る

演習の手順

  • 基準日を設定します。
  • 基準日より前に行われた寄付のみを含む pandas データフレーム gifts_before_reference を作成します。
  • gifts_before_reference 内で各ドナーの最後の寄付を持つ pandas データフレーム last_gift を作成し、last_gift に最新性(日数)を追加します。
  • この最新性をベーステーブルに追加します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Reference date to calculate the recency
reference_date = datetime.date(____, ____, ____)

# Select gifts made before the reference date
gifts_before_reference = gifts[(gifts["date"] < ____)]

# Latest gift per donor in 2017
last_gift = gifts_before_reference.groupby(["____"])["____"].____().reset_index()
last_gift["recency"] = ____ - ____["____"]   

# Add recency to the basetable
basetable = pd.merge(____, ____[["id", "recency"]], how="____")
コードを編集して実行