Analyse RFM à l'aide de Python

WBOY
Libérer: 2023-09-03 12:45:06
avant
759 Les gens l'ont consulté

Analyse RFM à laide de Python

Python est un langage de programmation polyvalent populaire dans le domaine de l'analyse de données et de l'apprentissage automatique. Sa simplicité, sa lisibilité et sa riche bibliothèque le rendent idéal pour gérer des tâches de données complexes. L'une de ces applications puissantes est l'analyse RFM, une technique utilisée en marketing pour segmenter les clients en fonction de leur comportement d'achat.

Dans ce tutoriel, nous vous guiderons tout au long du processus de mise en œuvre de l'analyse RFM à l'aide de Python. Nous commencerons par expliquer le concept d’analyse RFM et son importance en marketing. Nous plongerons ensuite progressivement dans les aspects pratiques de l’analyse RFM à l’aide de Python. Dans la partie suivante de l'article, nous montrerons comment calculer un score RFM pour chaque client à l'aide de Python, en tenant compte des différentes manières d'attribuer des scores de récence, de fréquence et de valeur monétaire.

Comprendre l'analyse RFM

L'analyse RFM est une technique puissante utilisée en marketing pour segmenter les clients en fonction de leur comportement d'achat. L'acronyme RFM signifie Récence, Fréquence et Valeur monétaire, trois facteurs clés utilisés pour évaluer et classer les clients. Décomposons chaque composant pour comprendre son importance dans l'analyse RFM.

  • Récence : La récence fait référence au temps qui s'est écoulé depuis le dernier achat du client. Cela nous aide à comprendre comment les clients ont récemment interagi avec l'entreprise.

  • Fréquence : La fréquence fait référence au nombre de fois qu'un client effectue un achat dans un laps de temps donné. Cela nous aide à comprendre à quelle fréquence nos clients interagissent avec notre entreprise.

  • Valeur monétaire : La valeur monétaire fait référence au montant total dépensé par le client pour l'achat. Cela nous aide à comprendre la valeur des transactions clients et leur valeur potentielle pour l’entreprise.

Maintenant que nous comprenons l'analyse RFM, apprenons comment l'implémenter en Python dans la prochaine partie de cet article.

Implémentation de l'analyse RFM en Python

Pour effectuer une analyse RFM à l'aide de Python, nous nous appuierons sur deux bibliothèques de base : Pandas et NumPy. Pour installer NumPy et Pandas sur votre ordinateur, nous utiliserons pip (gestionnaire de packages Python). Ouvrez votre terminal ou votre invite de commande et exécutez la commande suivante :

pip install pandas
pip install numpy
Copier après la connexion

Une fois l'installation terminée, nous pouvons continuer à implémenter l'analyse RFM à l'aide de Python.

Étape 1 : Importer les bibliothèques requises

Tout d’abord, importons les bibliothèques nécessaires dans notre script Python :

import pandas as pd
import numpy as np
Copier après la connexion

Étape 2 : Charger et préparer les données

Ensuite, nous devons charger et préparer les données pour l'analyse RFM. Supposons que nous ayons un ensemble de données appelé « customer_data.csv » qui contient des informations sur les transactions clients, notamment l'identifiant client, la date de la transaction et le montant de l'achat. Nous pouvons utiliser Pandas pour lire des données dans un DataFrame et les prétraiter pour analyse.

# Load the data from the CSV file
df = pd.read_csv('customer_data.csv')

# Convert the transaction date column to datetime format
df['transaction_date'] = pd.to_datetime(df['transaction_date'])
Copier après la connexion

Étape 3 : Calculer l'indicateur RFM

Maintenant, allons de l'avant et calculons la métrique RFM pour chaque client. En utilisant une série de fonctions et d'opérations, nous déterminerons un score pour le temps d'achat récent, la fréquence d'achat et le montant de l'achat.

# Calculate recency by subtracting the latest transaction date from each customer's transaction date
df['recency'] = pd.to_datetime('2023-06-02') - df['transaction_date']

# Calculate frequency by counting the number of transactions for each customer
df_frequency = df.groupby('customer_id').agg({'transaction_id': 'nunique'})
df_frequency = df_frequency.rename(columns={'transaction_id': 'frequency'})

# Calculate monetary value by summing the purchase amounts for each customer
df_monetary = df.groupby('customer_id').agg({'purchase_amount': 'sum'})
df_monetary = df_monetary.rename(columns={'purchase_amount': 'monetary_value'})
Copier après la connexion

Étape 4 : Attribuer des scores RFM

Dans cette étape, nous attribuerons des scores pour les mesures de récence, de fréquence et de valeur monétaire, nous permettant d'évaluer et de classer les clients en fonction de leur comportement d'achat. Il est important de noter que vous pouvez personnaliser les critères de notation en fonction des exigences uniques de votre projet.

# Define score ranges and assign scores to recency, frequency, and monetary value
recency_scores = pd.qcut(df['recency'].dt.days, q=5, labels=False)
frequency_scores = pd.qcut(df_frequency['frequency'], q=5, labels=False)
monetary_scores = pd.qcut(df_monetary['monetary_value'], q=5, labels=False)

# Assign the calculated scores to the DataFrame
df['recency_score'] = recency_scores
df_frequency['frequency_score'] = frequency_scores
df_monetary['monetary_score'] = monetary_scores
Copier après la connexion

Étape 5 : Combinez les scores RFM

Enfin, nous combinerons les scores RFM individuels de chaque client en un seul score RFM.

# Combine the RFM scores into a single RFM score
df['RFM_score'] = df['recency_score'].astype(str) + df_frequency['frequency_score'].astype(str) + df_monetary['monetary_score'].astype(str)

# print data  
print(df)
Copier après la connexion

Lorsque vous exécutez le code fourni ci-dessus pour calculer le score RFM à l'aide de Python, vous verrez le résultat suivant :

Sortie

   customer_id transaction_date  purchase_amount  recency  recency_score  frequency_score  monetary_score RFM_score
0      1234567       2023-01-15             50.0 138 days              3                1               2       312
1      2345678       2023-02-01             80.0 121 days              3                2               3       323
2      3456789       2023-03-10            120.0  84 days              4                3               4       434
3      4567890       2023-05-05             70.0  28 days              5                4               3       543
4      5678901       2023-05-20            100.0  13 days              5                5               4       554
Copier après la connexion

Comme vous pouvez le voir dans le résultat ci-dessus, il affiche les données de chaque client, y compris son identifiant client unique, sa date_de transaction et son montant d'achat. La colonne de récence représente la récence en jours. Les colonnes recency_score, Frequency_score et monetary_score affichent le score d'allocation pour chaque métrique.

Enfin, la colonne RFM_score combine les scores individuels de récence, de fréquence et de valeur monétaire en un seul score RFM. Ce score peut être utilisé pour segmenter les clients et comprendre leur comportement et leurs préférences.

C'est tout ! Vous avez calculé avec succès le score RFM de chaque client à l'aide de Python.

Conclusion

En conclusion, l'analyse RFM est une technique très utile en marketing, qui nous permet de segmenter les clients en fonction de leur comportement d'achat. Dans ce didacticiel, nous explorons le concept d'analyse RFM et son importance en marketing. Nous fournissons un guide étape par étape pour implémenter l’analyse RFM à l’aide de Python. Nous présentons les bibliothèques Python nécessaires telles que Pandas et NumPy, et montrons comment calculer le score RFM pour chaque client. Nous fournissons des exemples et des explications pour chaque étape du processus, le rendant facile à suivre.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!