Začněte nyníZačněte zdarma

Výpočet hodnot RFM

Vypočítej hodnoty Recency, Frequency a Monetary pro dataset online, který jsme používali dříve – je pro tebe načtený s daty za posledních 12 měsíců. Dataset online obsahuje sloupec TotalSum, který vznikl vynásobením Quantity a UnitPrice: online['Quantity'] * online['UnitPrice'].

Navíc jsme pro tebe připravili proměnnou snapshot_date, kterou můžeš využít k výpočtu recency. Klidně si do konzole vypiš dataset online i hodnotu snapshot_date. Knihovna pandas je načtena jako pd a datetime jako dt.

Toto cvičení je součástí kurzu

Segmentace zákazníků v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Vypočítej hodnoty Recency, Frequency a Monetary (v tomto pořadí) pro každého zákazníka.
  • Pro Recency vypočítej rozdíl mezi hodnotou snapshot_date a maximem sloupce InvoiceDate.
  • Přejmenuj sloupce na Recency, Frequency a MonetaryValue.
  • Vypiš záhlaví s prvními 5 řádky datasetu datamart.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# Calculate Recency, Frequency and Monetary value for each customer 
datamart = online.groupby(['CustomerID']).agg({
    'InvoiceDate': lambda x: (snapshot_date - x.____()).days,
    'InvoiceNo': '____',
    'TotalSum': '____'})

# Rename the columns 
datamart.rename(columns={'InvoiceDate': '____',
                         'InvoiceNo': '____',
                         'TotalSum': '____'}, inplace=True)

# Print top 5 rows
print(____.head())
Upravit a spustit kód