本篇教你如何輕鬆運用PYTHON讓你找到專屬的VIP客戶---第一篇

更新於 發佈於 閱讀時間約 4 分鐘

RFM模型是最基本的分析,可以讓你知道哪些是常客、哪些人是偶爾來一次,或是根本不常來,藉此針對不同的客群去做不同的策略,達到提升業績的方法。接下來就讓我教你如何運用PYTHON快速做出RFM分析

RFM可以分為3個部分:R — 每個顧客最近一次的購買的距離天數、F — 某個時間內的消費次數、M — 某個時間內的消費總金額,最後再根據資料將這3個部分,個別分成5個級距。

這次的使用到的欄位只有--下單日期、顧客ID、銷售金額、訂單編號

import pandas as pd
from datetime import datetime
from IPython.display import display
import numpy as np
data = pd.read_excel("sample_-_superstore.xlsx")#讀取excel
# display(data['Customer ID'])
data['Order Date'] = pd.to_datetime(data['Order Date'])#將 'Order Date' 欄位轉換為日期型別,以便進行日期篩選
start_date = pd.to_datetime('2017-01-01')
end_date = pd.to_datetime('2017-03-31')
print("資料欄位",data.columns)

第8行及第9行,可以根據你要的資料區間去做填寫

第10行的print(“資料欄位”,data.columns),主要是了解這個excel所有所有欄位名稱

filtered_df = data[(data['Order Date'] >= start_date) & (data['Order Date'] <= end_date)]#從訂單清單選出特定時間的資料

filtered_df1 = filtered_df.copy()#建立一個資料的副本,然後對副本進行操作
today = pd.to_datetime('2017-04-01')#這裡我們以2016-04-01減去每個客戶的購買日期

# 以 'Customer ID' 分組,計算消費次數、總消費金額和距離特定日期的天數
customer_summary = filtered_df1.groupby('Customer ID').agg({
    'Order Date': lambda x: (today - x.max()).days,  # 距離特定日期的天數
    'Order ID': 'nunique',  # 消費次數
    'Sales': 'sum',  # 總消費金額
   
}).reset_index()
# 重新命名資料框的欄位
customer_summary.columns = ['客戶編號',  '最近一次的下單天數','消費次數', '消費總金額']
# 將計算結果寫入 Excel 檔案
customer_summary.to_excel('RFM分析1.xlsx', index=False)

將抓取到的資料,做消費次數、消費金額、最近一次的購買的距離天數,並將資料存成excel

第16行customer_summary.to_excel('RFM分析1.xlsx', index=False)

畫底線的部分是可以自行更改的,這邊的名稱是excel的檔名

圖3

圖3

excel的格式會如圖3一樣,這個檔案也可以用excel去進行級距的換算

下一篇會教如何將資料轉換成5個級距

留言
avatar-img
留言分享你的想法!
avatar-img
Daniel Huang的沙龍
0會員
2內容數
這邊會放有關於數據分析、流程自動化、python相關的文章,希望可以幫助到上班族、零售業、中小企業、電商,讓你們在工作上更有效率
你可能也想看
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
本文介紹瞭如何使用 Python pandas 進行資料分析,包括如何使用 corr() 函數針對數字類型的欄位進行分析,以及如何刪除不需要的欄位和取得想要的小數位數。
Thumbnail
本文介紹瞭如何使用 Python pandas 進行資料分析,包括如何使用 corr() 函數針對數字類型的欄位進行分析,以及如何刪除不需要的欄位和取得想要的小數位數。
Thumbnail
繼「【🔒 Python實戰營 - Data Science 必修班】Pandas 資料清洗技 - 填補式」之後,我們已經學會怎麼填補空缺資料了,那這個章節我們來教您如何對某些欄位有條件的整形,有時候我們的資料來源某些欄位資料格式不一,甚至型態都不是正規統一的值,此時我們就需要針對這些值進行一些處理
Thumbnail
繼「【🔒 Python實戰營 - Data Science 必修班】Pandas 資料清洗技 - 填補式」之後,我們已經學會怎麼填補空缺資料了,那這個章節我們來教您如何對某些欄位有條件的整形,有時候我們的資料來源某些欄位資料格式不一,甚至型態都不是正規統一的值,此時我們就需要針對這些值進行一些處理
Thumbnail
繼「【Google Colab Python系列】 資料處理神器 Pandas 起手式」之後,相信對於各位來說已經是小兒科了吧,沒關係! 我們今天來增加一點點小挑戰,你知道嗎? Pandas對於大部分人的第一印象就是「不就表格化而已,有什麼了不起?」、「幫我們整理格式轉換的介接器」...,但其實它不
Thumbnail
繼「【Google Colab Python系列】 資料處理神器 Pandas 起手式」之後,相信對於各位來說已經是小兒科了吧,沒關係! 我們今天來增加一點點小挑戰,你知道嗎? Pandas對於大部分人的第一印象就是「不就表格化而已,有什麼了不起?」、「幫我們整理格式轉換的介接器」...,但其實它不
Thumbnail
過往我們有介紹了「【Google Colab Python系列】 資料處理神器 Pandas 起手式」, 相信對於pandas的基本操作具有一定的基礎知識了, 主要著重在基本的操作, 讓我們快速篩選與分析資料, 但真實的世界是有可能具有很多類型的資料集分別儲存, 而不同的資料集又具有一些相似度, 需
Thumbnail
過往我們有介紹了「【Google Colab Python系列】 資料處理神器 Pandas 起手式」, 相信對於pandas的基本操作具有一定的基礎知識了, 主要著重在基本的操作, 讓我們快速篩選與分析資料, 但真實的世界是有可能具有很多類型的資料集分別儲存, 而不同的資料集又具有一些相似度, 需
Thumbnail
上次有介紹EXCEL多組數據快速合併使用合併彙算快速將數據統計與分析,今天用相同的資料,但使用含數的方式來完成這項任務。 這次會用到的函數必須要是365版本的EXCEL才能使用唷!! 資料分為兩個部分: 品項:因為有3個月份,所以要將3個月份合併起來,我們會使用到VSTACK函數 月份的
Thumbnail
上次有介紹EXCEL多組數據快速合併使用合併彙算快速將數據統計與分析,今天用相同的資料,但使用含數的方式來完成這項任務。 這次會用到的函數必須要是365版本的EXCEL才能使用唷!! 資料分為兩個部分: 品項:因為有3個月份,所以要將3個月份合併起來,我們會使用到VSTACK函數 月份的
Thumbnail
網友提問的需求,要將左邊的表個項目的數量,變成右邊的表格,該如何快速完成呢? 這個需求可以用函數來處理,不過不同版本的函數處理方式不同,除了函數之外用POWER QUERY也是很快的哦。 POWER QUERY教學連結 全版本通用 全版本通用需要輔助欄協助才能做到 C1=0 C2=B2+
Thumbnail
網友提問的需求,要將左邊的表個項目的數量,變成右邊的表格,該如何快速完成呢? 這個需求可以用函數來處理,不過不同版本的函數處理方式不同,除了函數之外用POWER QUERY也是很快的哦。 POWER QUERY教學連結 全版本通用 全版本通用需要輔助欄協助才能做到 C1=0 C2=B2+
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News