1.RFM分析を使用して顧客の価値を判断する
RFMは、顧客の活動度と取引金額の貢献に基づいて、顧客の価値を細分化する方法を指します。主に精緻な運営、ユーザー層の分析、ユーザーメンバーシップシステムの構築などに応用されます。
最近の消費(Recency)
消費頻度(Frequency)
消費金額(Monetary)
なぜユーザー層を作るのか、それは異なるユーザー群が異なる価値、異なる需要、異なるドライブを持っているからです。ユーザー層を作ることでリソースの配置を最適化し、運営のリターンを向上させることができます。
R | F | M | ユーザータイプ |
---|---|---|---|
高 | 高 | 低 | 一般的な価値ユーザー |
高 | 高 | 高 | 重要な価値ユーザー |
高 | 低 | 低 | 一般的な開発ユーザー |
高 | 低 | 高 | 重要な開発ユーザー |
低 | 高 | 低 | 一般的な保持ユーザー |
低 | 高 | 高 | 重要な保持ユーザー |
低 | 低 | 低 | 一般的な引き留めユーザー |
低 | 低 | 高 | 重要な引き留めユーザー |
例:
bins = rfm.最近一回の消費.quantile(q=np.linspace(0,1,6),interpolation='nearest')
bins[0] =0
labels =[5, 4, 3, 2, 1]
R1 = pd.cut(rfm.最近一回の消費,bins,labels=labels);
bins = rfm.消費頻度.quantile(q=np.linspace(0,1,6),interpolation='nearest')
bins[0]=0
labels=[1,2,3,4,5]
F1 = pd.cut(rfm.消費頻度,bins,labels=labels);
bins = rfm.消費金額.quantile(q=np.linspace(0,1,6),interpolation='nearest')
bins[0]=0
labels=[1, 2, 3, 4, 5]
M1 = pd.cut(rfm.消費金額,bins,labels=labels);
rfm['R1']=R1
rfm['F1']=F1
rfm['M1']=M1
rfm.head()
bins = rfm.RFM.quantile(q=[0,0.125,0.25,0.375,0.5,0.625,0.75,0.875,1],interpolation='nearest')
bins[0] =0
labels =['顧客離反','一般維持顧客顧客','一般発展顧客','ポテンシャル顧客','重要な離反防止顧客','重要維持顧客','重要発展顧客','重要価値顧客']
rfm['ユーザー層分け'] = pd.cut(rfm.RFM,bins,labels=labels)
rfm=rfm.rename(columns={'最近一回の消費':'last_sale_day','消費頻度':'sale_frq','消費金額':'sale_amt','ユーザー層分け':'customer_classification',})
このように、私たちはPythonを用いて数万人の顧客をFRMに基づいてユーザーレベルに分け、対応するマーケティング戦略の差別化活動を行うことができます。
2.RFM分析を使用して製品価値を判断する
RFM1M2モデルを使用する
具体的な実際のビジネスにおいて、スコアリングの範囲をどのように定義するかは、具体的なビジネスに応じて柔軟に定める必要があり、統一された基準はありません。
-
関連するパッケージのインポート。
-
データクレンジング
-
RFM指標の構築
R-Recency 最後にベストセラーリストに出現してから現時点までの日数
F-Frequency リスト掲載回数
M1-トップ10に入った回数
M2-最近3日間でトップ10に入った回数 -
RFMのスコア付けとラベルの描画
運用ニーズに基づくスコア付け | 最後にランクイン-R | ランクイン回数-F | トップ10入り回数-M1 | 最近3日間でのトップ10入り回数-M2 |
---|---|---|---|---|
1 | 80日以上 | 20回未満 | 5回未満 | 1回 |
2 | 30-80日 | 20-40回 | 5-20回 | 2回 |
3 | 15-30日 | 40-60回 | 20-60回 | 3回 |
4 | 3-15日 | 60-80回 | 60-80回 | |
5 | 3日以内 | 85回以上 | 85回以上 |
rfm['R_value']=rfm['R'].apply(lambda x:'高' if x> rfm['R'].mean() else '低')
rfm['F_value']=rfm['F'].apply(lambda x:'高' if x> rfm['F'].mean() else '低')
rfm['M1_value']=rfm['M1'].apply(lambda x:'高' if x> rfm['M1'].mean() else '低')
rfm['M2_value']=rfm['M2'].apply(lambda x:'高' if x> rfm['M2'].mean() else '低')
rfm['rfm_value']=rfm['R_value']+rfm['F_value']+rfm['M1_value']+rfm['M2_value']
rfm
異なるカテゴリには異なるタグを付け、異なるタグは異なる製品タイプを意味し、それは異なる対応策略を意味します。
層別化ルール
# 分层规则
rfm2cat = {'高高高高':'竞合商品を持続的に注視する',
'高高低高':'旧製品を重点的に調査する',
'高低高高':'新製品を重点的に調査する',
'高高高低':'旧製品を重点的に維持する',
'低低低高':'新製品を一般的に調査する',
'高低低高':'新製品を一般的に調査する',
'低高高低':'旧製品を一般的に調査する',
'高高低低':'旧製品を一般的に注視する',
'低高低低':'旧製品を一般的に注視する',}
rfm.to_csv('rfm.csv',encoding='gbk')
-
このカテゴリーに基づいて、私たちは異なるマーケティング戦略ことができます。例えば:
-
竞合商品を持続的に注視する('高高高高'):私たちは競争商品の動向を持続的に注視し、その長所や革新的な部分を分析することで、私たちは学び、改善することができます。また、市場のトレンドと消費者の需要の変化にも密接に注意を払い、私たちの製品と戦略を適時に調整する必要があります。
-
旧製品を重点的に調査する('高高低高'):旧製品については、その性能とユーザーフィードバックを理解するために深く調査する必要があります。これは、製品の性能とユーザー満足度を向上させるための改善点を見つけるのに役立ちます。
-
新製品を重点的に調査する('高低高高'):新製品については、市場の需要と競争状況を理解するために、深い市場調査を行う必要があります。これは、効果的な市場推進戦略を策定し、市場シェアを迅速に獲得するのに役立ちます。
-
旧製品を一般的に調査する('低高高低','高高低低','低高低低'):これらの製品については、市場でのパフォーマンスと競争状況を理解するために、一般的な調査を行うことができます。調査の結果に基づいて、私たちは製品戦略と市場戦略を調整することができます。
-
新製品を一般的に調査する('低低低高','高低低高'):これらの新製品については、市場の反応と潜在的な競争状況を理解するために、一般的な市場調査を行うことができます。調査の結果に基づいて、私たちは製品設計と市場戦略を調整することができます。
このような戦略を通じて、私たちは製品をより効果的に管理し、異なるタイプの製品に対して適切なマーケティング戦略を実施することができます。