Calculează valorile RFM
Calculează valorile Recency, Frequency și Monetary pentru setul de date online folosit anterior – a fost încărcat deja cu datele din ultimele 12 luni. Setul de date online conține o coloană TotalSum, calculată prin înmulțirea Quantity cu UnitPrice: online['Quantity'] * online['UnitPrice'].
Am creat și o variabilă snapshot_date pe care o poți folosi pentru a calcula recency. Poți afișa setul de date online și variabila snapshot_date în consolă oricând dorești. Biblioteca pandas este încărcată ca pd, iar datetime ca dt.
Acest exercițiu face parte din cursul
Segmentarea clienților în Python
Instrucțiuni pentru exercițiu
- Calculează valorile Recency, Frequency și Monetary (în această ordine) pentru fiecare client.
- Pentru Recency – calculează diferența dintre valoarea
snapshot_dateși maximul coloaneiInvoiceDate. - Redenumește coloanele ca Recency, Frequency și MonetaryValue.
- Afișează primele 5 rânduri din
datamart.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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())