使用存储过程来做
或者你直接把你的sql写成语句块的形式就可以了啊
string sql=@“ sql1 sql2 sql 3.....”很多条SQL语句组成语句块,但是里面sql语句执行要控制逻辑哈,必须是上一条语句成功了才可以执行下一条语句哦!!
个你举个简单的例子:
string T_SQLS=
@"
if exits(select * from user where user_name=@usename)
begin
update user set userage=@usenage where user_name=@usename
select @@rowcount//这里你可以返回自定义 *** 作标识
end
else
begin
insert into user values(@usename,@usenage)
select @@rowcount
end
"
SqlConnand com=new SqlConnand (T_SQLS,connection)
com.parm........//添加参数
com ......执行,如果你使用了select 返回 *** 作结果,就不能使用ExcutNoneQuery()方法
项目介绍 :使用 Kaggle 的 E-Commerce 数据集。 该数据集基于一个英国礼品电商公司 13 个月的真实交易数据。通过用户消费行为分析, 建立 RFM 模型进行用户分层, 针对性维护高价值用户, 实现精细化用户运营管理。
负责内容 : 1. 使用 SQL 语法 select/alter/update/create 等对数据集进行清洗加工,实现缺失值、异常值和重复值处理,日期格式转换与清洗后数据新表建立。
本项目基于一个英国电商公司从2010年12月1日到2011年12月9日的真实交易数据集。该电商主要销售的商品是各类礼品, 主要客户是来自不同国家的的分销商。本文主要使用SQL语法分析月度消费趋势、个体消费情况、RFM用户分层、用户生命周期、计算复购率与回购率等关键指标,并使用Power BI实现数据可视化。希望从数据中更深入的了解用户消费行为,为商家运营提供洞察。
利用数据探索用户消费趋势,为商家制定营销策略提供分析及建议,并利用RFM模型实现客户精细化管理。
这部分主要包括无关字段的删除,缺失值检查,异常值检查、重复值检查与日期格式统一。
处理完成后共有532621条数据。
接着看下数据是否有缺失值。
上图说明客户编号存在134697条缺失,需与业务确认缺失原因,由于本次分析已客户为主体,故缺失客户编码的数据删除。
清洗后数据共397924条。
其中产品数量和订单时间无异常,但产品单价存在为0的异常值,这类商品可能是赠品,不应该算入用户主动消费行为中,故删除。
清洗后数据共397884条。
最终清洗后数据共392690条。
将订单时间列字符串转化为统一的sql日期格式,方便使用日期函数进行 *** 作。
预处理完成如下:
上图可知,消费金额从2010年12月到2011年8月比较稳定,呈波动上升趋势;2011年8月开始明显上升,在11月达到最高值约110+万,12月却迅速回落。
上图可知,产品消费数量在2011年8月之前沿平均约35万件的位置来回波动,从8月开始上升,在11月达到峰值约67万件,12月回落至不到30万件的位置。
上图可知,消费次数总体大于消费人数,走势基本相同。2011年8月前月均消费约1200次,月均消费人数约900人。在8月两变量开始提升后,到11月均达到峰值,消费次数约为2600,消费人数约为1600。
上图可知,人均消费金额总体大于订单均价,走势基本相同。2011年1月两者均出现小高峰,可能与活动有关。2011年2月到2011年9月较平稳,分别约为450和650元。两变量峰值均出现在2011年12月,分别约为850和670元。
上图可知,超过90%的用户来自英国,且贡献近82%的销售金额。值得一提的是,查看原始数据发现,荷兰和爱尔兰用户数仅有12个,但消费金额却排名第二和三,占有6%。说明荷兰和爱尔兰存在采购量极大的大客户需重点关注。另外,有9个国家只有1个客户,建议衡量投入产出比,适当放弃一些地区,集中优势在英国。进一步看下各国家人均订单量和人均消费量。
上图可知,人均消费量TOP5分别来自爱尔兰、荷兰、新加坡、澳大利亚和瑞典。说明这些地区大客户较多,而英国小客户较多。
去除几个极大值后,我们发现,用户消费金额集中在0~500元,有约1750名用户,占比约40%。
上图中横坐标表示累计用户数量,纵坐标表示累计消费金额百分比。分析可知,50%的用户仅贡献约10%的消费金额,80%的用户贡献约25%的消费金额,也就是说存在20%高价值客户贡献约75%的金额,基本符合消费二八定律。集中精力拓展与这20%高价值客户的合作,比分散精力对所有客户更值得。排名4000以后的300余名用户(不到10%)则贡献了约60%的消费金额,这部分是最需要维系的大客户。
上图可知,用户首购时间最多集中在2010年12月上半月,每日均值大于50人;从2011年1月开始首购人数保持平稳,每日均值约为15人。可能10年12月份因该电商新成立在引流期有优惠引入了大量新用户,但之后新用户流入减少。后续新用户能维持在一定水平,是运营平稳的表现。
上图可知,从2010年12月到2011年9月用户最后一次购买稳定集中在15人左右;而从9月开始大幅上升,12月最高值达到100+人。时间越长,流失部分用户也是比较正常的情况。在新用户大量增加的前期没有大量流失,且大量用户最后一次购买集中在最后的统计日期,说明大多数用户近三个月有购买记录,仍处于活跃购买状态,并没有在引入后快速流失,是比较理想的。
上图可知,从2010年12月开始至2011年6月,新用户占比持续下降,用户流失风险高;直到2011年7月有所回升,可与业务人员确认原因,7月至12月趋于稳定,基本维持在25%左右。
RFM模型包含三个关键维度,最近一次消费 (Recency)、消费频率(Frequency)和消费金额 (Monetary)。使用这三个维度对用户进行分类,可以将用户分为2x2x2=8种类型,之后根据每类用户的消费特征进行精细化运营。
接下来依次求R值、F值、M值。
给RFM模型打分的方法大概有两种,1. 选取分位数打分。 2. 依据行业和业务经验设定阈值。这里选择分位数法,由于SQL不方便进行RFM打分分层,这里使用python计算分位数。
通过pd.cut方法,将用户分层并打上标签,这里我用的分层方法是python中的quantile函数。
将R、F、M分别打分(分层)。
接下来,求出R、F、M的均值,以均值为界,将每个变量分为高低两维度(大于等于均值取1,小于均值取0)。
生成用户分层表
上图分析发现,所有客户中重要价值客户最多,占总数的35.73%;总体来说是一个不错的情况,因为这类型客户的价值最高,应努力提高该类型客户的满意度,增加留存量。其次是流失客户21.99%,新到客户14.91%,重要挽留客户8.78%,重要发展客户7.98%和重要唤回客户7.51%。另外,不难看出在近一年的交易中,有21.99%是处于流失边缘的客户。为什么会流失?哪些地区的流失情况比较严重?流失的客户都有哪些特点?都是需要引起注意的问题。
上图可见,贡献最高金额和订单数的是重要价值客户,金额690万,订单数1550个远超其他客户。重要唤回客户贡献金额位列第二,为60万,这类客户是高频次和高金额的用户,将其恢复购买可以带来可观的收益,流失原因需要结合业务情况和订单进一步研究。
流失客户和新到客户呈现高订单数低消费金额的情况,说明新客户很多是被优惠活动引入,而流失用户可能包含一些羊毛用户。
条形图按消费人数正向排序,总体来看,重要价值客户都保持在四分之一到二分之一的比例,活跃客户群较稳定,维系此类客户可以提供VIP待遇,提升用户满意度。
英国本土要注意流失客户数量较多,对于该国策略可以采取保持重要价值客户,并找到客户流失原因,减少重要挽回向流失用户转化。对于德国来说重要挽留客户第二多,挽留客户有较高流失风险,要主动联系用户并明确流失原因,再次激活用户购物。同时加大新客户引入。法国情况基本与英国本土相同。
· 重要价值客户(111)目标是让其一直留存下来,可以提供专项客服,个性化增值服务等。
· 重要唤回客户(011)目标是唤回近期消费,可以推出活动,精准提供所需资源,推送消息召回等。
· 重要发展客户(101)目标提高消费频次,可以推荐其他产品,提供积分计划或每日任务等。
· 重要挽留客户(001)目标是让其回归再次消费并了解其不继续购买的原因,可以使用电话或短信等联系,调查原因,弥补不足。
· 新到客户(100)目标是提高其消费兴趣,可以通过活动营销,提供社群互动,砍价等策略留住用户。
· 一般客户(010)属于容易流失的群体,一般维持。可以使用赠送优惠券、推动活动信息等方法与客户重新联系。
· 潜力客户(110)目标挖掘其消费潜力,可以多推荐价值更高且用户喜好的产品。
· 流失客户(000)较大概率不是目标客户,可以选择性放弃。
用户生命周期分布受一次性购买用户(用户生命周期0天)影响比较严重,故排除一次性购买用户(共有1548名,占36%)重作图。
总体上用户平均生命周期131天,中位数93天。最大值为373天,最小值0天。
复购率:单位时间内购买次数大于1的人数与当月总购买人数比值。
回购率:单位时间内曾购买用户在下一单位时间内再次购买的人数与单位时间内曾购买用户比值。
(这里由于2011年12月的数据仅有9天,考虑到可能影响整体结果,故不包括12月的复购率与2011年11月和12月的回购率)
上图可知,月度复购率均值为23%,根据《精益数据分析》中的理论,目前此电商处于用户混合模式,在新用户转化和老用户留存、复购上的应该做到平均分配精力和资源。前期复购率较低可能因为初创推广期大量新用户涌入,造成分母被持续扩大。
上图所知,平均次月回购率达到了39%,总体维持在一个不错的水平。该电商复购率与回购率越高,反映消费者对品牌的忠诚度就越高。
消费金额及数量 :从2010年12月到2011年8月比较稳定,呈波动上升趋势。2011年8月开始明显上升,在11月达到最高值,12月迅速回落。
消费次数及人数 :消费次数总体大于消费人数,走势基本相同。2011年8月前月均消费约1200次,月均消费人数约900人。在8月两变量开始提升后,到11月均达到峰值,消费次数约为2600,消费人数约为1600。
地域分析 :发现超过90%的用户来自英国,且贡献近82%的销售金额。但荷兰和爱尔兰存在采购量极大的大客户需重点关注。有9个国家只有1个客户,建议衡量投入产出比,适当放弃。
累计消费金额分析 :累计金额曲线发现20%高价值客户贡献约75%的金额,基本符合消费二八定律。集中精力拓展与这20%高价值客户的合作,比分散精力对所有客户更值得。
首购与末购分析 :用户首购时间最多集中在2010年12月上半月,每日均值大于50人;从2011年1月开始首购人数保持平稳,每日均值约为15人。从2010年12月到2011年9月用户最后一次购买稳定集中在15人左右;而从9月开始大幅上升,12月最高值达到100+人。
新老用户分析 :从2010年12月开始至2011年6月,新用户占比持续下降,用户流失风险高;直到2011年7月有所回升,7月至12月趋于稳定,基本维持在25%左右。
单量、金额与人数分析 :8种客户中,重要价值客户订单量、消费金额和人数均位列榜首;而重要唤回客户的消费金额排第二位,但订单量和人数均较落后;流失客户人数和订单量排第二,但消费金额仅排第五。
地域分析 :总体来看,重要价值客户都保持在四分之一到二分之一的比例,活跃客户群较稳定。英国本土要注意流失客户数量较多,对于该国策略可以采取保持重要价值客户,并找到客户流失原因,减少重要挽回向流失用户转化。对于德国来说重要挽留客户第二多,挽留客户有较高流失风险,要主动联系用户并明确流失原因,再次激活用户购物。同时加大新客户引入。法国情况基本与英国本土相同。
营销策略 :
· 重要价值客户(111)目标是让其一直留存下来,可以提供专项客服,个性化增值服务等。
· 重要唤回客户(011)目标是唤回近期消费,可以主动联系召回(推送、邮件、公众号等),给予优惠券等。
· 重要发展客户(101)目标提高消费频次,可以推荐其他产品,提供积分计划或每日任务等。
· 重要挽留客户(001)目标是让其回归再次消费并了解其不继续购买的原因,可以使用电话或短信等联系,调查原因,弥补不足。
· 新到客户(100)目标是提高其消费兴趣,可以通过活动营销,提供社群互动,砍价等策略留住用户。
· 一般客户(010)属于容易流失的群体,一般维持。可以使用赠送优惠券、推动活动信息等方法与客户重新联系。
· 潜力客户(110)目标挖掘其消费潜力,可以多推荐价值更高且用户喜好的产品。
· 流失客户(000)较大概率不是目标客户,可以选择性放弃。
一次性购买用户占36%,排除这部分影响后,用户平均生命周期131天,中位数93天。最大值为373天,最小值0天。
复购率 :平均月度复购率为23%,根据《精益数据分析》中的理论,目前此电商处于用户混合模式,在新用户转化和老用户留存、复购上的应该做到平均分配精力和资源。前期复购率较低可能因为初创推广期大量新用户涌入,造成分母被持续扩大。
回购率 :平均次月回购率达到39%,总体维持在一个不错的水平。该电商复购率与回购率越高,反映消费者对品牌的忠诚度就越高。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)