當前位置:
首頁 > 最新 > 更懂你的客戶,使用機器學習進行客戶細分

更懂你的客戶,使用機器學習進行客戶細分

1

關於用戶細分

用戶細分是客戶關係管理(CRM)中很重要的一個組成部分。無論是傳統企業,還是新興的互聯網企業;不管是面向企業的業務還是面向於個人的業務;在全行業中,對用戶群體進行劃分類型,都可以更好的抓住用戶的訴求,以進行更加精準的營銷。

在傳統的營銷方案中,手段簡單且粗暴,對所有的用戶都是千篇一律的信息推送、廣告宣傳和優惠宣傳。這樣的營銷手段,不僅會效果極差,而且因為騷擾用戶而導致用戶的厭煩。

在了解了用戶的特點和需求後,我們才能進行有針對性的營銷和推廣,這樣不僅使營銷的資源得到最大化的利用和不浪費,用戶也樂於接受我們的營銷信息。

在用戶細分領域,有一個經典的模型——RFM模型,是傳統的用于衡量客戶價值和客戶創收能力的一個重要模型。其主要有三個指標組成:

雖然這個模型到如今面對層出不窮的消費形式,已經稍顯力不從心。但從研究角度看,還是值得使用的。接下來,我們就使用scikit-learn模型的K均值聚類演算法,構造RFM數據集來進行用戶細分。

2

下載使用數據集

在此,我們使用加州大學歐文分校用於機器學習的資料庫中的數據集——Online Retail Data Set ,這是一個跨國數據集,其中包含所有在2010年12月1日至2011年12月09日期間在英國註冊的非在線零售網上零售業務的交易。

這個數據集中一個有8個屬性,分別為:

3

初覽數據

首先,引入相關模塊:

使用pandas從數據集中導入數據:

使用shape屬性查看一下數據集的形狀,一共有541909行、8列:

接著使用columns屬性查看一下數據集的列名,是否和網頁描述上的一致:

確實是一致的,我們來看看數據集的部分數據,使用head()方法:

英文的列名操作起來不方便,我們將其重命名為中文:

這樣看上去,就舒服多了:

再來看看這些訂單中包含了多少個客戶:

嗯,四千餘個客戶產生了五十四萬個訂單。看看哪些國家的訂單量居多:

英國客戶的訂單量一騎絕塵哈。

4

用戶細分

數據清理和構造

首先我們清理一下數據,只選取客戶為英國的訂單,然後添加一個交易總額的列:

再將客戶ID為空值的列,總額為小於0的列剔除:

接著,創建一個變數refrence_date,其為訂單中發票開票日期最大值加一天的日期,作為判斷距今購買時間間隔的標準:

根據refrence_date變數,新增兩個列,為最後一次購買距今日期和最後一次購買距今日期數:

根據客戶ID進行分組,新生成一個DataFrame——customer_history_df:

根據客戶ID進行分組,對交易總額進行匯總求和得到客戶的總交易金額:

接著將客戶總交易金額合併到customer_history_df中:

根據客戶ID進行分組,對交易總額進行計數求和獲得交易頻率值:

接著合併交易頻率到customer_history_df中:

現在的數據集構造好了。

數據預處理

構造後的數據集特徵之間數值差異較大,我們需要先對其進行數據預處理。

首先對數據特徵進行對數轉換:

接著對對數轉換後的數據進行標準化處理:

這樣我們就可以進行聚類建模了。

K均值聚類

在此,我們選擇K均值聚類演算法進行演示,同時使用平均輪廓係數進行聚類的評估。因為對數據中的用戶類型並不明確,所以我們通過一個循環遍歷來創建不同聚類數量的模型,同時進行可視化顯示:

先引入K均值演算法和評估演算法:

接著遍歷從2到4的列表,作為聚類數量分別進行聚類:

首先,我們得到了聚類的平均輪廓係數:

然後是三個聚類的實際分布圖:

我們將對數轉換和標準化處理的數據進行還原,查看原始的聚類中數據:

得到的結果為:

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器學習 的精彩文章:

新手必備!十大機器學習演算法之旅已啟程

TAG:機器學習 |