衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

什么是FM模型對用戶分類

汽車電子技術 ? 來源:Python數據分析之旅 ? 作者:cauwfq ? 2023-02-24 16:11 ? 次閱讀

poYBAGP4cGyAV1bzAAD_Mqtq6-8569.png

一.項目背景

    新零售時代背景下,商家要提升顧客的價值,讓20%的顧客貢獻80%的業績(二八定律),這就是超級用戶思維。超級用戶,是指對品
    牌認可、購買頻次多、購買金額大且能給商家反饋意見、并能把產品推薦別人購買,對商家具有較高忠誠度、與商家建立起強關系的用戶。
該項目尋找的是準超級用戶(FM模型,也即購買頻次多和購買金額大的客戶),為將來轉化為超級用戶打好基礎。

二.理論基礎

1.購買頻次篩選標準
    通過分組法,按買家賬號進行分組,確定每個買家的購買頻次。然后按購買頻次進行等距分組,統計每個頻次區間內買家數量,找出人數差最大的兩個相鄰頻次區間并把這兩個相鄰區間的中間值作為購買頻次的篩選標準。
比如這兩個相鄰頻次區間是[3, 7), [7, 10), 選擇7作為購買頻次篩選標準。>=7的購買頻次被認定為高購買頻次。該方法的思想是尋找第一個異常點,特別適合隨著頻次區間數值上的增加,人數遞減的情況,比如這樣的人數分布:
{[1, 3):1000, [3, 5):550, [5, 7):230, [7, 9):96, [9, 11):22, [11, 13):6}
2.購買金額篩選標準
    通過箱線圖法,將購買金額排序,然后進行四分位,得到三個分位數:Q1,Q2,Q3。接著按下面公式計算購買金額篩選標準:
V(購買金額篩選標準)=Q3+IQR_coefficient*IQR,其中IQR=Q3-Q1,IQR_coefficient的值可以自定義,一般選為1.5或3。
>=V的購買金額為高購買金額

三.實現步驟

1.獲取數據

import pandas as pd
import numpy as np

#獲取數據
def get_data(file_path):
    #讀取數據
    df=pd.read_excel(file_path,index=0)
    #篩選數據
    data=df[['買家賬號','已付金額']]
    #返回數據
    return data
 
#獲取數據
data=get_data('./data.xlsx')
#查看數據
data.head()

poYBAGP4cKOAYnaZAABukTOsBGw896.png
2.處理數據

#處理數據
def process_data(df):
    #判斷是否有重復值
    if df.duplicated().sum()==0:
        print('沒有重復值')
    else:
        #計算重復數據數量
        len_dup=len(df[df.duplicated()==True])
        print(f'重復數據有{len_dup}條')
        #刪除重復值
        df.drop_duplicates(inplace=True)
    #判斷是否有缺失值
    if df.isnull().any().sum()==0:
        print('沒有缺失值')
    else:
        #計算缺失數據數量
        len_null=len(df[df.isnull().T.any()])
        print(f'缺失數據有{len_null}條')
        #刪除數據
        df.dropna(inplace=True)
    #返回數據
    return df
#處理數據
data=process_data(data)
#查看數據
data.head()

poYBAGP4cNGAWXmSAACdGcqvEDU671.png
3.按照分組標準對用戶分類

#獲取準超級用戶
def before_superCustomer(data,coeff,bin_num):
    #統計客戶購買次數
    df1=data['買家賬號'].value_counts().reset_index().rename(columns={'index':'買家賬號','買家賬號':'購買頻次'})
    #統計客戶購買金額
    df2=data.groupby(['買家賬號'])['已付金額'].sum()
    #通過買家賬號連接數據,
    df=pd.merge(df1,df2,on='買家賬號')
    #篩選所需數據
    df_res=df[['買家賬號','購買頻次','已付金額']]
    #對購買頻詞進行切分
    cut = pd.cut(df['購買頻次'], bins=bin_num)
    #統計購買頻詞
    top = pd.value_counts(cut)
    #獲取高度差值最大的兩個分組區間,前一個分組區間的右區間值用于高購買頻次客戶的評判標準
    top_index = top.diff().abs().values.argmax()
    #獲取四分之三分位數
    Q3 = df_res.describe()['已付金額'][6]
    #獲取四分之一分位數
    Q1 = df_res.describe()['已付金額'][4]
    #計算IQR
    IQR = Q3-Q1
    #獲取準超級用戶購買金額最小值
    min_value = Q3 + 1.5* IQR
    # 根據高購買金額和高購買頻次用戶標準過濾用戶
    df_res=df_res[(df_res['購買頻次'] >top.index[top_index].right) & (df_res['已付金額'] >min_value)]
    #按照已付金額進行降序排序
    df_res.sort_values('已付金額',ascending=False,inplace=True)
    #返回數據
    return df_res

#對用戶進行分類
df_res=before_superCustomer(data,3,16)
#查看數據
df_res.head()

pYYBAGP4cOiAIWsNAAB8HMTDjrI422.png
4.對Top10用戶進行可視化

import pyecharts.options as opts
from pyecharts.charts import Bar

#設置顏色
colors = ["#5793f3", "#d14a61"]
#x軸數據買家賬號
x_data = df_res.iloc[:10]['買家賬號'].tolist()
#設置圖例
legend_list = ["已付金額", "購買頻次"]
#y軸已付金額
customer_buy =df_res.iloc[:10]["已付金額"].round(2).tolist()
#y軸購買頻次
customer_count=df_res.iloc[:10]["購買頻次"].tolist()

#初始化
bar = (
    Bar(init_opts=opts.InitOpts(width="1000px", height="600px"))
    .add_xaxis(xaxis_data=x_data)
    .add_yaxis(
        series_name="已付金額",
        yaxis_data=customer_buy,
        yaxis_index=0,
        color=colors[1],
    )
    
    .add_yaxis(
        series_name="購買頻次",
        yaxis_data=customer_count, 
        yaxis_index=1, 
        color=colors[0]
    )
    
   .extend_axis(
        yaxis=opts.AxisOpts(
            name="購買頻次",
            type_="value",
            position="right",
            axisline_opts=opts.AxisLineOpts(
                linestyle_opts=opts.LineStyleOpts(color=colors[0])
            ),
            axislabel_opts=opts.LabelOpts(formatter="{value} 次"),
        )
    )
    .extend_axis(
        yaxis=opts.AxisOpts(
            name="已付金額",
            type_="value",
            position="left",
            axisline_opts=opts.AxisLineOpts(
                linestyle_opts=opts.LineStyleOpts(color=colors[1])
            ),
            axislabel_opts=opts.LabelOpts(),
        )
    )
    .set_global_opts(
        xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),
    )
    
)

#加載顯示圖形
bar.render_notebook()

結論:應加強和這些客戶溝通,盡可能提供個性化服務,讓它們發展為我們超級用戶

pYYBAGP4cQaAeLfIAABPtl5EVPY850.png
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FM
    FM
    +關注

    關注

    1

    文章

    183

    瀏覽量

    59296
  • 模型
    +關注

    關注

    1

    文章

    3305

    瀏覽量

    49220
收藏 人收藏

    評論

    相關推薦

    基于隱馬爾可夫模型的音頻自動分類

    音頻的自動分類,尤其是語音和音樂的分類,是提取音頻結構和內容語義的重要手段之一,它在基于內容的音頻檢索、視頻的檢索和摘要以及語音文檔檢索等領域都有重大的應用價值.由于隱馬爾可夫模型能夠很好地刻畫音頻
    發表于 03-06 23:50

    系統模型及其分類

    系統模型及其分類[hide][/hide]
    發表于 10-03 22:59

    系統模型及其分類.zip

    系統模型及其分類.zip
    發表于 10-04 11:23

    怎么設計FM天線?

    的天線,例如有線耳機,從而限制了許多沒帶有線耳機的用戶。另外,隨著無線使用模型在便攜式設備中的不斷普及,更多用戶可以從使用其他類型FM天線的無線FM
    發表于 08-13 06:02

    Edge Impulse的分類模型淺析

    Edge Impulse是一個應用于嵌入式領域的在線的機器學習網站,不僅為用戶提供了一些現成的神經網絡模型以供訓練,還能直接將訓練好的模型轉換成能在單片機MCU上運行的代碼,使用方便,容易上手。本文
    發表于 12-20 06:51

    FM8302 API用戶手冊

    用戶手冊包含了 FM8302 API 的文件列表,簡單描述了 FM8302 DEMO 的使用流程。目的是為了開發人員能夠快速掌握 FM8302 API 的使用方法。
    發表于 09-14 08:47

    系統模型及其分類

    系統模型及其分類系統:具有特定功能的總體,可以看作信號的變換 器、處理器。系統模型:系統物理特性的數學抽象,一般也稱為數學模型。 電路的微分方程為:該微
    發表于 09-08 21:00 ?10次下載

    DNA序列的分類模型

    DNA序列的分類模型本文提出了DNA序列分類的三種模型,基一,基于A,G,T,C四種堿基出現的頻率,其二利用了同一堿基在序列中的間隔,這一信息是單純考慮頻率所不能包含的.
    發表于 09-16 11:52 ?17次下載

    系統模型及其分類

    系統模型及其分類
    發表于 12-06 14:52 ?0次下載

    基于非參數方法的分類模型檢驗

    本文主要研究了基于非參數方法的分類模型交叉驗證結果比較,主要是對實例通過非參數的方法進行模型比較的假設檢驗,檢驗兩分類模型是否存在顯著差異。
    發表于 12-08 15:28 ?1次下載

    Hadoop云平臺用戶動態訪問控制模型

    輪廓。然后利用前向輪廓建立全局K模型,對后續行為序列進行分類并對分類結果進行評估。隨后將評估結果與改進Hadoop訪問控制機制結合,使云平臺用戶的訪問權限隨自身行為動
    發表于 01-10 16:37 ?0次下載
    Hadoop云平臺<b class='flag-5'>用戶</b>動態訪問控制<b class='flag-5'>模型</b>

    依據待分類實例顯著局部特征的懶惰式分類模型

    shapelets集合,一般所獲得的shapelets只在平均意義上具有某種鑒別性;與此同時,普通模型往往忽略了待分類實例所具有的局部特征。為此,我們提出了一種依據待分類實例顯著局部特征的懶惰式
    發表于 03-31 10:50 ?6次下載
    依據待<b class='flag-5'>分類</b>實例顯著局部特征的懶惰式<b class='flag-5'>分類</b><b class='flag-5'>模型</b>

    基于LSTM的表示學習-文本分類模型

    的關鍵。為了獲得妤的文本表示,提高文本分類性能,構建了基于LSTM的表示學習-文本分類模型,其中表示學習模型利用語言模型為文本
    發表于 06-15 16:17 ?18次下載

    OpenCV中支持的非分類與檢測視覺模型

    前面給大家分別匯總了OpenCV中支持的圖像分類與對象檢測模型,視覺視覺任務除了分類與檢測還有很多其他任務,這里我們就來OpenCV中支持的非分類與檢測的視覺
    的頭像 發表于 08-19 09:10 ?1378次閱讀

    PyTorch教程4.3之基本分類模型

    電子發燒友網站提供《PyTorch教程4.3之基本分類模型.pdf》資料免費下載
    發表于 06-05 15:43 ?0次下載
    PyTorch教程4.3之基本<b class='flag-5'>分類</b><b class='flag-5'>模型</b>
    休宁县| 百家乐官网桌蓝盾在线| 贝博百家乐官网的玩法技巧和规则 | 府谷县| 利来百家乐的玩法技巧和规则| 百家乐官网出千工具价格| 网址百家乐的玩法技巧和规则| 百家乐官网真人游戏投注网| 大发888游戏客户端| 真人百家乐官网输钱惨了| 德州扑克荷官培训| 百家乐官网职业赌徒的解密| 亿博娱乐| 大发888代理平台| 犹太人百家乐官网的玩法技巧和规则| 威尼斯人娱乐城会员开户| 如何看百家乐的路纸| 安平县| 百家乐代打公司| OG百家乐官网大转轮| 现金网制作| 威尼斯人娱乐城赌博| 百家乐可以出千吗| 真人百家乐官网游戏网| 百家乐官网博彩策略论坛| 百家乐官网EA平台| 灵宝市| 友谊县| 东山县| 真钱百家乐官网注册送| 明升备用网站| 百家乐五湖四海娱乐网| 真人百家乐官网娱乐场开户注册 | 国美百家乐的玩法技巧和规则| 罗盘24山图是什么| 网络百家乐官网破| 缅甸百家乐官网娱乐场开户注册| 爱赢娱乐城开户| 大发888娱乐真钱游戏 下载| 百家乐怎么| 百家乐棋牌游|