add kpi function for customerplus
This commit is contained in:
parent
27e266c58e
commit
fa9c1c790e
|
@ -63,7 +63,7 @@ def df_coverage_modelization(sport, coverage_train = 0.7):
|
||||||
def dataset_construction(min_date, end_features_date, max_date, directory_path):
|
def dataset_construction(min_date, end_features_date, max_date, directory_path):
|
||||||
|
|
||||||
# Import customerplus
|
# Import customerplus
|
||||||
df_customerplus_clean = display_databases(directory_path, file_name = "customerplus_cleaned")
|
df_customerplus_clean_0 = display_databases(directory_path, file_name = "customerplus_cleaned")
|
||||||
df_campaigns_information = display_databases(directory_path, file_name = "campaigns_information", datetime_col = ['opened_at', 'sent_at', 'campaign_sent_at'])
|
df_campaigns_information = display_databases(directory_path, file_name = "campaigns_information", datetime_col = ['opened_at', 'sent_at', 'campaign_sent_at'])
|
||||||
df_products_purchased_reduced = display_databases(directory_path, file_name = "products_purchased_reduced", datetime_col = ['purchase_date'])
|
df_products_purchased_reduced = display_databases(directory_path, file_name = "products_purchased_reduced", datetime_col = ['purchase_date'])
|
||||||
|
|
||||||
|
@ -89,19 +89,8 @@ def dataset_construction(min_date, end_features_date, max_date, directory_path):
|
||||||
# KPI sur le comportement d'achat
|
# KPI sur le comportement d'achat
|
||||||
df_tickets_kpi = tickets_kpi_function(tickets_information = df_products_purchased_reduced)
|
df_tickets_kpi = tickets_kpi_function(tickets_information = df_products_purchased_reduced)
|
||||||
|
|
||||||
# KPI sur les données socio-demographique
|
# KPI sur les données socio-démographiques
|
||||||
|
df_customerplus_clean = customerplus_kpi_function(customerplus_clean = df_customerplus_clean_0)
|
||||||
## Le genre
|
|
||||||
df_customerplus_clean["gender_label"] = df_customerplus_clean["gender"].map({
|
|
||||||
0: 'female',
|
|
||||||
1: 'male',
|
|
||||||
2: 'other'
|
|
||||||
})
|
|
||||||
gender_dummies = pd.get_dummies(df_customerplus_clean["gender_label"], prefix='gender').astype(int)
|
|
||||||
df_customerplus_clean = pd.concat([df_customerplus_clean, gender_dummies], axis=1)
|
|
||||||
|
|
||||||
## Indicatrice si individue vit en France
|
|
||||||
df_customerplus_clean["country_fr"] = df_customerplus_clean["country"].apply(lambda x : int(x=="fr") if pd.notna(x) else np.nan)
|
|
||||||
|
|
||||||
print("KPIs construction : SUCCESS")
|
print("KPIs construction : SUCCESS")
|
||||||
|
|
||||||
|
|
|
@ -93,5 +93,22 @@ def tickets_kpi_function(tickets_information = None):
|
||||||
|
|
||||||
return tickets_kpi
|
return tickets_kpi
|
||||||
|
|
||||||
|
def customerplus_kpi_function(customerplus_clean = None):
|
||||||
|
# KPI sur les données socio-demographique
|
||||||
|
## Le genre
|
||||||
|
customerplus_clean["gender_label"] = customerplus_clean["gender"].map({
|
||||||
|
0: 'female',
|
||||||
|
1: 'male',
|
||||||
|
2: 'other'
|
||||||
|
})
|
||||||
|
gender_dummies = pd.get_dummies(customerplus_clean["gender_label"], prefix='gender').astype(int)
|
||||||
|
customerplus_clean = pd.concat([customerplus_clean, gender_dummies], axis=1)
|
||||||
|
|
||||||
|
## Indicatrice si individue vit en France
|
||||||
|
customerplus_clean["country_fr"] = customerplus_clean["country"].apply(lambda x : int(x=="fr") if pd.notna(x) else np.nan)
|
||||||
|
|
||||||
|
# Dummy if the customer has a structure id (tags)
|
||||||
|
customerplus_clean['has_tags'] = customerplus_clean['structure_id'].apply(lambda x: 1 if not pd.isna(x) else 0)
|
||||||
|
|
||||||
|
return customerplus_clean
|
||||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user