【数据分析】二八模型 :基于Pandas的二八模型实战:精准识别高价值客户

博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN人工智能领域的优质创作者,提供AI相关的技术咨询、项目开发和个性化解决方案等服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:xf982831907

博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本,送真活跃粉丝,助你提升文章热度。有兴趣的加文末联系方式,备注自己的CSDN昵称,拉你进群,互相学习共同进步。

在这里插入图片描述

【数据分析】二八模型 :基于Pandas的二八模型实战:精准识别高价值客户

  • 一、案例背景:客户价值黄金法则
  • 二、数据准备与加载
    • 2.1 模拟数据集结构
  • 三、数据处理关键步骤
    • 3.1 数据清洗
    • 3.2 客户消费分析
  • 四、二八模型核心计算
    • 4.1 计算累计贡献率
    • 4.2 结果可视化
  • 五、关键分析结论
    • 5.1 高价值客户特征
  • 六、业务应用建议

一、案例背景:客户价值黄金法则

  **帕累托法则(二八定律)**指出:企业80%的利润往往来自20%的核心客户。本案例基于某电商平台订单数据,使用Python的Pandas库实现:

  1. 数据清洗交易金额分析
  2. 客户价值分层计算
  3. Top 20%高价值客户识别

二、数据准备与加载

2.1 模拟数据集结构

import pandas as pd
import numpy as np

# 生成模拟数据
np.random.seed(42)
user_ids = ['UID' + str(i).zfill(4) for i in range(1, 1001)]
order_dates = pd.date_range('2023-01-01', periods=365, freq='D').tolist()
amounts = np.random.lognormal(mean=3, sigma=0.5, size=5000)  # 右偏分布模拟真实消费

# 创建DataFrame
orders = pd.DataFrame({
    'user_id': np.random.choice(user_ids, 5000),
    'order_date': np.random.choice(order_dates, 5000),
    'order_amount': np.round(amounts, 2)
})

print(orders.head(3))

【数据分析】二八模型 :基于Pandas的二八模型实战:精准识别高价值客户_第1张图片


三、数据处理关键步骤

3.1 数据清洗

# 检查缺失值
print("缺失值统计:\n", orders.isnull().sum())

# 日期格式转换
orders['order_date'] = pd.to_datetime(orders['order_date'])

# 过滤异常值(金额≤0的交易)
orders = orders[orders['order_amount'] > 0]

【数据分析】二八模型 :基于Pandas的二八模型实战:精准识别高价值客户_第2张图片

3.2 客户消费分析

# 按用户聚合消费数据
user_spending = orders.groupby('user_id').agg(
    total_amount=pd.NamedAgg(column='order_amount', aggfunc='sum'),
    order_count=pd.NamedAgg(column='order_id', aggfunc='count')
).reset_index()

# 按消费金额降序排序
user_spending_sorted = user_spending.sort_values('total_amount', ascending=False)

【数据分析】二八模型 :基于Pandas的二八模型实战:精准识别高价值客户_第3张图片


四、二八模型核心计算

4.1 计算累计贡献率

# 计算累计消费金额占比
user_spending_sorted['cum_amount'] = user_spending_sorted['total_amount'].cumsum()
total_revenue = user_spending_sorted['total_amount'].sum()
user_spending_sorted['cum_pct'] = user_spending_sorted['cum_amount'] / total_revenue

# 标记头部20%客户
user_spending_sorted['top20_flag'] = user_spending_sorted['cum_pct'] <= 0.8

【数据分析】二八模型 :基于Pandas的二八模型实战:精准识别高价值客户_第4张图片

4.2 结果可视化

import matplotlib.pyplot as plt

plt.figure(figsize=(10,6))
plt.bar(range(len(user_spending_sorted)), 
        user_spending_sorted['cum_pct'], 
        color='steelblue',
        label='累计收益占比')

# 标注20%分界线
plt.axvline(x=len(user_spending_sorted)*0.2, 
            color='red', 
            linestyle='--',
            label='前20%客户')
plt.xlabel('客户数量排序')
plt.ylabel('累计收益占比')
plt.title('帕累托分布分析')
plt.legend()
plt.show()

【数据分析】二八模型 :基于Pandas的二八模型实战:精准识别高价值客户_第5张图片

  可以筛选这部分累计贡献收入80%的客户,用于单独的分析。


五、关键分析结论

5.1 高价值客户特征

# 累计贡献收入80%客户
vip_users = user_spending_sorted[user_spending_sorted['top20_flag']]

# 特征分析
print("高价值客户特征:")
print(vip_users.describe())

【数据分析】二八模型 :基于Pandas的二八模型实战:精准识别高价值客户_第6张图片


六、业务应用建议

  1. 精准营销:累计贡献收入80%的客户提供VIP专属折扣
  2. 复购激励:设置阶梯式会员奖励计划
  3. 流失预警:监控高价值客户购买频率下降

代码领取

  • 文章末尾联系博主
    技术要点总结
  • 使用groupby+agg实现快速聚合计算
  • cumsum()结合归一化处理生成帕累托曲线
  • 通过布尔索引筛选目标客户群体

下一步优化方向

  • 结合RFM模型进行客户分层
  • 增加消费周期频率分析

你可能感兴趣的:(数据挖掘分析,数据分析,pandas,数据挖掘,机器学习,人工智能,数据可视化)