Python + SQL 完整分析链路 · 用户全景画像 / 行为深度分析 / RFM 价值分层 / 消费驱动因素
SQLPythonPandas SQLitescipy 统计检验matplotlib
当前电商行业获客成本持续攀升,粗放式运营已无法支撑平台长期增长,精细化用户运营成为提升营收、降低流失的核心抓手。 多数电商平台面临「用户画像模糊、价值分层不清晰、运营策略无差别、资源投入 ROI 低」的痛点,无法精准定位高价值用户, 也无法针对性解决用户流失问题。
本项目基于电商平台用户全维度行为数据,完成 用户全景画像 → 用户行为深度分析 → RFM 用户价值分层 → 消费行为影响因素挖掘,为平台精细化运营提供数据支撑与可落地的策略建议。
公开电商平台用户行为与属性数据集:1000 条用户样本,14 个有效字段, 覆盖用户属性(性别/年龄/地域/兴趣/收入)、行为特征(登录天数/停留时长/浏览页数/邮件订阅)、消费特征 (购买频率/平均订单价值/总消费/品类偏好)三大维度。
| check_item | value |
|---|---|
| raw_rows | 1000 |
| missing_total | 0 |
| dup_full_rows | 0 |
| neg_spending_rows | 0 |
| neg_freq_rows | 0 |
| age_lt_18 | 0 |
| age_gt_70 | 0 |
| login_days_min | 1 |
| login_days_max | 29 |
性别分布:男 526 人(52.6%)、女 47.4%,结构均衡。
年龄分布:核心用户集中在 36–55 岁(36–45 岁 217 人、46–55 岁 237 人,合计占比 45.4%), 是平台营收主力;18–25 岁年轻用户仅 154 人,是增长潜力缺口。
地域分布:郊区 349 人、城市 344 人、农村 307 人;下沉市场(郊区+农村)合计占比 65.6%,是平台用户基本盘。
兴趣 TOP:Sports(213 人)、Fashion(209 人)、 Travel / Food(各 196 人,并列第三);品类偏好 TOP:Apparel(218 人)、 Electronics(209 人)、Books(198 人)。 兴趣与品类高度匹配(运动/时尚 → 服饰),为场景化推荐提供数据支撑。
活跃度分布(登录天数 1–29 天,本数据无 30 天以上样本,据此定义分桶口径): 高活跃(1–7 天)+ 活跃(8–15 天)用户合计占比约 49.0%; 「活跃下滑(16–22 天)+ 流失高风险(23–29 天)」用户合计占比 51.0%,是召回与挽留的重点对象。
粘性因素:邮件订阅用户平均停留 300.7 分钟(中位数 300.0), 非订阅用户平均 293.9 分钟(中位数 288.0),订阅组略高但差距很小; Mann-Whitney U 检验 p=0.5375,未达统计显著 —— 参考项目"订阅用户粘性显著更高"的结论 在本数据上缺乏统计支持,建议作为低成本留存实验方向做 A/B 验证,而非直接断言有效。
| Login_Bucket | user_count | pct | avg_stay_minutes | avg_pages |
|---|---|---|---|---|
| 高活跃(1-7天) | 205 | 20.5 | 287.0 | 25.4 |
| 活跃(8-15天) | 285 | 28.5 | 312.9 | 24.8 |
| 活跃下滑(16-22天) | 258 | 25.8 | 285.5 | 23.3 |
| 流失高风险(23-29天) | 252 | 25.2 | 300.3 | 24.4 |
| 指标 | 订阅均值 | 非订阅均值 | 订阅中位数 | 非订阅中位数 | U统计量 | p值 | 显著(p<0.05) |
|---|---|---|---|---|---|---|---|
| 停留时长 | 300.7 | 293.9 | 300.0 | 288.0 | 127791.5 | 0.5375 | — |
| 浏览页数 | 24.1 | 24.7 | 25.0 | 24.0 | 121542.0 | 0.452 | — |
| 总消费 | 2542.5 | 2563.7 | 2540.0 | 2551.0 | 123985.5 | 0.8284 | — |
RFM 口径:R=最近一次登录距今天数(越小越优,倒序打分)、F=购买频率(越大越优)、M=总消费额(越大越优);
采用 SQL 窗口函数 NTILE(5) 等频五等分完成 1–5 分打分,再按经典 8 分法规则分群。
核心结论:高价值用户 57 人(占 5.7%),贡献 GMV 8.9%; 高价值 + 深耕 + 流失预警 + 流失高价值四个中高消费群体合计贡献约 63.3% 的 GMV —— 消费价值高度集中,分层运营是提升 ROI 的关键。
| User_Level | user_count | user_pct | avg_r | avg_f | avg_m | segment_gmv | gmv_pct | avg_aov |
|---|---|---|---|---|---|---|---|---|
| 流失高价值用户 | 139 | 13.9% | 21.7 | 2.6 | 4120.8 | 572788.0 | 22.4% | 109.3 |
| 流失预警用户 | 109 | 10.9% | 20.8 | 7.6 | 4091.0 | 445919.0 | 17.5% | 103.1 |
| 深耕用户 | 95 | 9.5% | 7.7 | 2.7 | 3904.2 | 370903.0 | 14.5% | 112.8 |
| 低价值用户 | 208 | 20.8% | 21.2 | 2.8 | 1550.3 | 322458.0 | 12.6% | 100.6 |
| 需召回用户 | 144 | 14.4% | 21.3 | 7.6 | 1603.2 | 230862.0 | 9.0% | 103.9 |
| 新用户 | 158 | 15.8% | 7.1 | 2.6 | 1456.5 | 230124.0 | 9.0% | 100.0 |
| 高价值用户 | 57 | 5.7% | 7.1 | 7.6 | 3980.2 | 226872.0 | 8.9% | 111.5 |
| 潜力用户 | 90 | 9.0% | 6.3 | 7.4 | 1700.3 | 153031.0 | 6.0% | 98.4 |
实测结果:与总消费相关性最强的仍是 平均订单价值(r≈0.097),其次是上次登录天数(r≈0.055)、 购买频率(r≈0.022),但整体均属弱相关 —— 现有字段对总消费的线性解释力有限, 说明平台需要补充订单明细、点击行为序列等更细粒度的数据。
补充验证 1(五分位集中度):消费 TOP20% 用户贡献 35.3% 的 GMV (约为底部五分之一用户的 7.5 倍),消费价值确实高度集中;而平均订单价值 TOP20% 用户仅贡献约 21.6% 的 GMV (接近均等的 20%)—— 单靠客单价无法解释消费差异,真正的驱动因素需要更细粒度的订单与行为数据来定位。
补充验证 2(分类维度差异):
| 相关系数 | |
|---|---|
| aov | 0.0967 |
| login_days | 0.0547 |
| freq | 0.0222 |
| Age | 0.0183 |
| stay_minutes | -0.0064 |
| pages | -0.0287 |
| Income | -0.0845 |
基于分层结果,给出可落地的分群运营动作(按 GMV 贡献优先级排序):
| 用户分层 | 群体特征 | 运营动作 |
|---|---|---|
| 流失高价值用户 | 139 人 · GMV 22.4%(最大 GMV 池) | 高优先级召回:专属挽回包 / 老客回归礼 / 1v1 触达 |
| 流失预警用户 | 109 人 · GMV 17.5% | 立即唤醒:Push+短信+专属优惠组合召回 |
| 深耕用户 | 高活跃+高消费、复购偏低 | 会员积分 / 复购券,重点把复购频率做上去 |
| 高价值用户 | 57 人 · GMV 8.9% | VIP 专属权益 / 1v1 客户经理 / 优先客服通道,防止流失 |
| 低价值用户 | 低活跃低复购低消费 | 控制运营投入,自动化旅程低成本维系 |
| 需召回用户 | 低活跃+高复购、消费偏低 | 批量触达召回:站内信+邮件组合 |
| 新用户 | 高活跃、低复购低消费 | 首单转化券 / 新客专区,完成 0→1 |
| 潜力用户 | 高活跃+高复购、消费偏低 | 向上引导客单价:满减 / 升级推荐 |
平台级建议:① 以「高价值 + 流失高价值」用户为 GMV 核心资产(合计贡献约 31.3% GMV), 先做召回再做拉新;② 把邮件订阅做成低成本留存实验(订阅组停留略高但未达显著,需 A/B 验证); ③ 针对 18–25 岁年轻用户补增长缺口;④ 补充订单明细与行为日志数据,升级为可解释的消费预测模型, 替代当前弱相关的单指标运营。
output/sql_*.csv 可追溯。NTILE(5) 等频五等分(R 倒序:6-NTILE),分段规则采用经典 8 分法。python py/01_etl.py && python py/02_analysis.py && python py/03_charts.py && python py/04_report.py