影刀RPA 客户画像自动生成:多源数据融合分析
作者:林焱 | 分类:影刀RPA新手教程 | 难度:★★★
什么情况用
市场运营需要了解客户画像:年龄分布、消费偏好、活跃时段、生命周期阶段……但这些数据散落在CRM、订单系统、客服系统、微信后台等多个平台,人工汇总分析极其痛苦。
用影刀RPA从多个业务系统抽取客户数据,按统一维度汇总分析,自动生成客户画像报告。运营拿到报告就能直接用于精准营销。
怎么做
第一步:确定客户画像维度
拼多多店群自动化上架方案
常用的画像维度:
| 维度 | 数据来源 | 说明 |
|---|---|---|
| 基本属性 | CRM | 年龄、性别、地域、职业 |
| 消费行为 | 订单系统 | 客单价、购买频次、偏好品类、首次/最近购买时间 |
| 互动行为 | 客服系统/微信 | 咨询次数、投诉次数、消息互动频率 |
| 活跃度 | 用户行为日志 | 最近登录时间、浏览时长、功能使用深度 |
| 生命周期 | 综合计算 | 新客/活跃/沉默/流失 |
第二步:多源数据抽取
# 影刀Python节点:从各系统抽取数据并统一格式importpandasaspdfromdatetimeimportdatetime# 1. CRM数据crm_data=pd.DataFrame([{"user_id":"u001","name":"张三","age":28,"gender":"男","city":"北京","register_date":"2025-03-15"},{"user_id":"u002","name":"李四","age":35,"gender":"女","city":"上海","register_date":"2024-11-20"},{"user_id":"u003","name":"王五","age":42,"gender":"男","city":"广州","register_date":"2023-06-01"},])# 2. 订单数据(影刀从电商系统导出)orders=pd.DataFrame([{"user_id":"u001","order_id":"001","amount":299,"category":"电子产品","order_date":"2026-06-20"},{"user_id":"u001","order_id":"002","amount":159,"category":"图书","order_date":"2026-06-25"},{"user_id":"u002","order_id":"003","amount":899,"category":"家电","order_date":"2026-06-10"},{"user_id":"u002","order_id":"004","amount":249,"category":"服装","order_date":"2026-06-28"},{"user_id":"u003","order_id":"005","amount":129,"category":"食品","order_date":"2026-02-15"},])# 3. 客服数据service=pd.DataFrame([{"user_id":"u001","咨询次数":3,"投诉次数":0,"满意度评分":5},{"user_id":"u002","咨询次数":8,"投诉次数":2,"满意度评分":3},{"user_id":"u003","咨询次数":0,"投诉次数":0,"满意度评分":None},])第三步:计算用户标签
# 影刀Python节点:计算消费行为标签defcalculate_consumption_tags(orders_df,reference_date=None):"""根据订单数据计算用户消费标签"""ifreference_dateisNone:reference_date=datetime.now()user_tags={}foruser_id,groupinorders_df.groupby("user_id"):order_dates=pd.to_datetime(group["order_date"])last_order=order_dates.max()first_order=order_dates.min()# 计算标签total_spent=group["amount"].sum()order_count=len(group)avg_order=total_spent/order_count# 购买频度(月均)months_active=max((reference_date-first_order).days/30,1)monthly_freq=order_count/months_active# 最近购买距今天数days_since_last=(reference_date-last_order).days# 偏好品类fav_category=group.groupby("category")["amount"].sum().idxmax()# 打标签tags=[]# 客单价标签ifavg_order>=500:tags.append("高客单价")elifavg_order>=200:tags.append("中客单价")else:tags.append("低客单价")# 活跃度标签ifdays_since_last<=30:tags.append("活跃用户")elifdays_since_last<=90:tags.append("沉默用户")else:tags.append("流失风险")# 忠诚度标签ifmonthly_freq>=2:tags.append("高频用户")eliforder_count>=5:tags.append("忠实用户")user_tags[user_id]={"总消费金额":total_spent,"购买次数":order_count,"客单价":round(avg_order,0),"月均购买频率":round(monthly_freq,1),"最近购买":f"{days_since_last}天前","偏好品类":fav_category,"标签":", ".join(tags),}returnuser_tags tags=calculate_consumption_tags(orders)foruid,tintags.items():print(f"{uid}:{t['标签']}| 总消费¥{t['总消费金额']}|{t['最近购买']}| 偏好:{t['偏好品类']}")第四步:生命周期阶段判定
# 影刀Python节点:RFM模型分组defrfm_segmentation(user_data):""" RFM模型:Recency(最近购买)、Frequency(频率)、Monetary(金额) 将用户分为:高价值、需挽留、潜力、流失等 """foruid,datainuser_data.items():r_score=1ifdata["最近购买天数"]<=30else(2ifdata["最近购买天数"]<=90else3)f_score=1ifdata["月均购买频率"]>=2else(2ifdata["月均购买频率"]>=0.5else3)m_score=1ifdata["客单价"]>=500else(2ifdata["客单价"]>=200else3)rfm=f"{r_score}{f_score}{m_score}"segments={"111":"高价值客户","112":"重要发展客户","121":"重要保持客户","211":"重要挽留客户","311":"流失高价值客户","333":"一般流失客户",}segment=segments.get(rfm,f"其他({rfm})")data["RFM分段"]=segment data["运营建议"]={"高价值客户":"VIP服务,新品优先体验","重要发展客户":"提升客单价,交叉销售","重要挽留客户":"大力度优惠券唤醒","流失高价值客户":"电话回访,了解流失原因",}.get(segment,"常规运营")returnuser_data第五步:生成画像报告
将所有标签汇总,生成可视化的客户画像报告(年龄分布饼图、地域热力图、消费偏好雷达图等)。影刀【写入Excel】生成完整报告,【企微推送】摘要。
有什么坑
坑1:用户ID不统一
CRM的用户ID是"u001",订单系统是"user_001",微信后台是"openid_xxx"。需要建立用户ID映射表,否则数据关联不起来。这是整个画像项目中最麻烦但最关键的步骤。
TEMU店群如何管理运营?
坑2:数据时效性差异
CRM更新可能是实时的,订单系统是T+1,客服数据是手动录入的。导致同一个用户的画像中,消费数据是昨天的、客服数据是一个月前的。需要在报告中标注各维度数据的时间。
坑3:冷启动用户无法画像
新注册的、没有任何消费和互动记录的用户,画像全是空的。对这种用户,可以基于注册信息(年龄、地域)做基础画像,并标记"数据不足,画像置信度低"。
坑4:消费行为不等于真实需求
买了婴儿奶粉的用户不一定是宝妈(可能是送礼),买了考研书籍的不一定在考研(可能是帮别人买)。画像数据只能反映"做了什么",不能反映"为什么做"。
坑5:数据隐私合规
客户画像涉及大量个人信息,需要遵守《个人信息保护法》。画像中不要直接暴露个人身份信息(姓名、手机号),用脱敏的用户ID表示。画像报告需要有权限控制。
总结:客户画像的价值在于让运营从"广撒网"变成"精准触达"——知道谁是高价值用户、谁快流失了,就能做针对性的运营动作。RPA负责数据采集和标签计算,运营负责根据画像制定策略。