如何使用ML.NET實現(xiàn)基于RFM模型的客戶價值分析

本篇文章為大家展示了如何使用ML.NET實現(xiàn)基于RFM模型的客戶價值分析,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名申請、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、錫山網(wǎng)站維護、網(wǎng)站推廣。

RFM模型

在眾多的客戶價值分析模型中,RFM模型是被廣泛應(yīng)用的,尤其在零售和企業(yè)服務(wù)領(lǐng)域堪稱經(jīng)典的分類手段。它的核心定義從基本的交易數(shù)據(jù)中來,借助恰當?shù)木垲愃惴ǎ从吵鰧蛻糨^為直觀的分類指示,對于沒有數(shù)據(jù)分析和機器學(xué)習(xí)技術(shù)支撐的初創(chuàng)企業(yè),它是簡單易上手的客戶分析途徑之一。

如何使用ML.NET實現(xiàn)基于RFM模型的客戶價值分析

RFM模型主要有三項指標:

Recency:最近消費時間間隔

Frequency:消費頻率

Monetary:消費金額

我們?yōu)榭蛻粼谶@三項指標上進行打分,那么總共會有27種組合的可能,使用K-Means算法,能夠縮減到指定的有限數(shù)量的分箱(一般會為5類),計算出每個客戶在分箱的位置即客戶的價值。

當然RFM模型還有更多衍生版本,可以參考WiKi:RFM (customer value)。

ML.NET和K-Means


ML.NET自v0.2版本就提供了K-Means++ clustering的實現(xiàn),也是非監(jiān)督學(xué)習(xí)最常見的訓(xùn)練,正好適用于為RFM模型的分類執(zhí)行機器學(xué)習(xí)。

動手實踐


基本要求
  • Visual Studio 2017 或者 Visual Studio Code

  • DotNet Core 2.0+

  • ML.NET v0.3

數(shù)據(jù)來源

本案例數(shù)據(jù)來自UCI:Online Retail,這是一個跨國數(shù)據(jù)集,其中包含2010年12月1日至2011年12月9日期間在英國注冊的非商店在線零售業(yè)務(wù)中發(fā)生的所有交易。該公司主要銷售獨特的全場禮品。該公司的許多客戶都是批發(fā)商。

屬性信息:

InvoiceNo:發(fā)票編號。標稱值,為每個事務(wù)唯一分配的6位整數(shù)。如果此代碼以字母'c'開頭,則表示取消。

StockCode:產(chǎn)品(項目)代碼。標稱值,為每個不同的產(chǎn)品唯一分配的5位整數(shù)。

Description:產(chǎn)品(項目)名稱。標稱。

Quantity:每筆交易的每件產(chǎn)品(項目)的數(shù)量。數(shù)字。

InvoiceDate:發(fā)票日期和時間。數(shù)字,生成每個事務(wù)的日期和時間。

UnitPrice:單價。數(shù)字,英鎊單位產(chǎn)品價格。

CustomerID:客戶編號。標稱值,為每個客戶唯一分配的5位整數(shù)。

Country:國家名稱。每個客戶所在國家/地區(qū)的名稱。

數(shù)據(jù)處理
  1. 使用Excel,對原始數(shù)據(jù)增加4個字段,分別是Amount(金額,單價與數(shù)量相乘的結(jié)果)、Date(InvoiceDate的整數(shù)值)、Today(當天日期的整數(shù)值)、DateDiff(當天與Date的差值)。

如何使用ML.NET實現(xiàn)基于RFM模型的客戶價值分析

  1. 建立透視圖,獲取每個客戶在Amount上的總和,DateDiff的最大和最小值,并且通過計算公式Amount/(DateDiff最大值-DateDiff最小值+1)算出頻率值。

如何使用ML.NET實現(xiàn)基于RFM模型的客戶價值分析

  1. 按照以下規(guī)則計算RFM的評分

    • R:(DateDiff最大值- DateDiff最小值-2000)的差值,小于480計3分,480-570之間計2分,570-750之間計1分,大于750計0分。

    • F:頻率值,大于1000計5分,500-1000之間計4分,100-500之間計3分,50-100之間計2分,0-50之間計1分,小于0計0分。

    • M:Amount總和值,大于10000計5分,5000-10000之間計4分,2000-5000之間計3分,1000-2000之間計2分,0-1000之間計1分,小于0計0分。

如何使用ML.NET實現(xiàn)基于RFM模型的客戶價值分析

有小伙伴可能存在疑問,為什么要這么劃分,其實這就是對數(shù)據(jù)分布合理分段的一種思想,為了減小數(shù)據(jù)源的不平衡性對機器學(xué)習(xí)的影響,我們盡量使得數(shù)據(jù)的分布是自然的。
編碼部分

還是熟悉的味道,創(chuàng)建DotNet Core控制臺應(yīng)用程序,通過Nuget添加對ML.NET的引用。

  • 創(chuàng)建用于學(xué)習(xí)的數(shù)據(jù)結(jié)構(gòu)

如何使用ML.NET實現(xiàn)基于RFM模型的客戶價值分析

訓(xùn)練部分

如何使用ML.NET實現(xiàn)基于RFM模型的客戶價值分析

評估部分

如何使用ML.NET實現(xiàn)基于RFM模型的客戶價值分析

預(yù)測部分

如何使用ML.NET實現(xiàn)基于RFM模型的客戶價值分析

調(diào)用部分

如何使用ML.NET實現(xiàn)基于RFM模型的客戶價值分析

運行結(jié)果

如何使用ML.NET實現(xiàn)基于RFM模型的客戶價值分析

可以看到,我用于測試的客戶,被分到了第2類上面。

盡管完成了聚類的工作,對于學(xué)習(xí)出來的這5個類別,仍然需要按原始數(shù)據(jù)集全部遍歷預(yù)測出對應(yīng)的分類,根據(jù)客戶的RFM評分與分類的對應(yīng)關(guān)系,才能夠?qū)γ總€類別的意義進行有效地解釋。

這個簡單的案例為大家展示了使用ML.NET完成聚類的機器學(xué)習(xí)。對于想要上手針對自己公司的業(yè)務(wù),進行一些門檻較低的客戶分析,使用ML.NET將是一個不錯的選擇。當然ML.NET還在不斷迭代中,希望大家持續(xù)關(guān)注新的特性功能發(fā)布。

上述內(nèi)容就是如何使用ML.NET實現(xiàn)基于RFM模型的客戶價值分析,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當前名稱:如何使用ML.NET實現(xiàn)基于RFM模型的客戶價值分析
URL網(wǎng)址:http://bm7419.com/article36/jjejpg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、網(wǎng)站設(shè)計、品牌網(wǎng)站建設(shè)、建站公司、全網(wǎng)營銷推廣品牌網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)