数据分析实战项目:SQL分析淘宝用户行为

2023-11-04

文章目录

一、项目背景及目的

1.1 项目背景

移动互联网企业从粗放式到精细化运营管理过程中,需要结合市场、渠道、用户行为等数据分析,对用户开展有针对性的运营活动,提供个性化、差异化的运营策略,以实现运营业务指标。本项目利用sql对淘宝用户行为数据进行分析,通过用户行为分析业务问题,提供针对性的运营策略。

1.2 项目目的

本次分析的目的是想通过对淘宝用户行为数据分析,为以下问题提供解释和改进建议:
1.分析用户使用APP过程中的常见电商分析指标,建立用户行为转化漏斗模型,确定各个环节的流失率,找到需要改进的环节
2.研究用户在不同时间尺度下的行为规律,找到用户在不同时间周期下的活跃规律,在用户活跃时间点推出相应营销策略
3.找到用户对不同种类商品的偏好,找到针对不同商品的营销策略
4.找出最具价值的核心付费用户群,对这部分用户的行为进行分析

1.3 数据集来源与介绍

  • 数据集来自阿里云天池:数据链接
  • 本数据集包含了2017年11月25日至2017年12月3日之间,有行为的约一百万随机用户的所有行为(行为包括点击、购买、加购、喜欢)。数据集的组织形式和MovieLens-20M类似,即数据集的每一行表示一条用户行为,由用户ID、商品ID、商品类目ID、行为类型和时间戳组成,并以逗号分隔。关于数据集中每一列的详细描述如下:
    | 列名称 | 说明 |
    | 用户ID | 整数类型,序列化后的用户ID |
    | 商品ID | 整数类型,序列化后的商品ID |
    | 商品类目ID | 整数类型,序列化后的商品所属类目ID |
    | 行为类型 | 字符串,枚举类型,包括(‘pv’, ‘buy’, ‘cart’, ‘fav’) |
    | 时间戳 | 行为发生的时间戳 |
    | 行为类型 | 说明 |
    | pv | 商品详情页pv,等价于点击 |
    | buy | 商品购买 |
    | cart | 将商品加入购物车 |
    | fav | 收藏商品 |

二、数据导入

两种导入方式:

  • 1、使用图形界面工具导入,例如Navicat(操作简单)
  • 2、cmd中以系统命令行导入(速度更快)

2.1 图形界面工具导入

新建数据库
在这里插入图片描述
导入数据表
在这里插入图片描述
选择导入前1000000行数据
需要注意源数据集中不包含字段名称行,导入时字段名行设置为0,第一个数据行设置为1。
在这里插入图片描述
设置字段类型
在这里插入图片描述
导入完成,耗时1分21秒
在这里插入图片描述
修改字段名
在这里插入图片描述

  • 注意:源数据集中,时间存储格式是从新纪元开始后的秒数,需要进行进行数据格式转换。

2.2 以系统命令行导入

使用命令行连接MySQL,并进入到taobao数据库
在这里插入图片描述
创建新表user
在这里插入图片描述
载入源数据
在这里插入图片描述

  • 速度更快,导入3835331行数据,仅用27.88秒,但是相比于图形界面工具操作更复杂。

三、数据清洗

3.1 删除重复值

# 统计重复值
SELECT *
FROM userbehavior
GROUP BY user_id,item,category,time
HAVING count(user_id)>1;

在这里插入图片描述
从查询结果可知,数据中不存在重复记录。

3.2 查看缺失值

# 统计缺失值
SELECT count(user_id),count(item),count(category),count(behavior),count(time)
FROM userbehavior;

在这里插入图片描述
从查询结果来看,不存在缺失值,数据质量高。

3.3 时间格式转换

# 新增date、hour时间字段
ALTER TABLE userbehavior
ADD date VARCHAR(20),
ADD hour VARCHAR(20); 
# 时间格式转换
UPDATE userbehavior SET date = FROM_UNIXTIME(time,"%Y-%m-%d");
UPDATE userbehavior SET hour = FROM_UNIXTIME(time,"%H");
UPDATE userbehavior SET time = FROM_UNIXTIME(time);

在这里插入图片描述

# 调整一下time字段数据的样式
UPDATE userbehavior SET time = SUBSTRING_INDEX(time,'.',1);

在这里插入图片描述

3.4 过滤异常值

由于数据集时间范围为2017-11-25至2017-12-3,因此需要对不在该时间范围内的异常数据进行过滤。

# 筛选异常数据
SELECT * 
FROM userbehavior
WHERE date < '2017-11-25' or date > '2017-12-03';
# 过滤异常数据
DELETE FROM userbehavior
WHERE date < '2017-11-25' or date > '2017-12-03';

在这里插入图片描述
总共过滤掉470条异常记录。

四、数据分析

  • 分析框架
    在这里插入图片描述

4.1 基于用户行为转化漏斗模型分析用户行为

4.1.1 常见电商指标分析

4.1.1.1 UV、PV、UV/PV

# UV、PV、UV/PV指标统计
SELECT count(DISTINCT user_id) as UV,
	   sum(case when behavior='pv' then 1 else 0 end) as PV,
	   sum(case when behavior='buy' then 1 else 0 end) as Buy,
	   sum(case when behavior='cart' then 1 else 0 end) as Cart,
	   sum(case when behavior='fav' then 1 else 0 end) as Fav,
	   sum(case when behavior='pv' then 1 else 0 end)/count(DISTINCT user_id) as 'PV/UV'
FROM userbehavior;

在这里插入图片描述
访问用户总数(UV):9739
页面总访问量(PV):895636
9天时间内平均每人页面访问量(UV/PV):约为92次

  • tips:该段SQL代码的功能类似于pandas中get_dummies()函数,构建独热编码,再利用count()函数进行字段的求和。

4.1.1.2 复购率

  • 复购率定义:在某时间窗口内重复消费用户(消费两次及以上的用户)在总消费用户中占比(按天非去重)。复购率与回购率的区别
# 复购率
SELECT 
	sum(case when buy_amount>1 then 1 else 0 end) as "复购总人数",
	count(user_id) as "购买总人数",
	sum(case when buy_amount>1 then 1 else 0 end)/count(user_id) as "复购率"
FROM
	(SELECT *,count(behavior) as buy_amount
	FROM userbehavior
	WHERE behavior = 'buy'
	GROUP BY user_id) a;

在这里插入图片描述
从结果来看,复购率高达66.21%,反映淘宝的用户忠诚度较高。

4.1.1.3 跳失率

  • 跳失率定义:仅仅访问了单个页面的用户占全部访问用户的百分比,或者指从首页离开网站的用户占所有访问用户的百分比。
  • 跳出率可以反映用户对APP\网站内容的认可程度,或者说网站\APP是否对用户有吸引力。网站\APP的内容是否能够对用户有所帮助留住用户也直接可以在跳出率中看出来,所以跳出率是衡量网站\APP内容质量的重要标准。
# 跳出率
SELECT count(*) as "仅访问一次页面的用户数"
FROM
	(SELECT user_id
	FROM userbehavior
	GROUP BY user_id
	HAVING count(behavior)=1) a 

在这里插入图片描述
统计结果表明,9天时间内,没有一名用户仅浏览一次页面就离开淘宝,跳失率为0。反映出商品或者商品详情页的内容对于用户具有足够的吸引力,让用户在淘宝驻留。

4.1.2 用户行为转化漏斗模型分析

漏斗分析模型已经广泛应用于各行业的数据分析工作中,用以评估总体转化率、各个环节的转化率,以科学评估促销专题活动效果等,通过与其他数据分析模型结合进行深度用户行为分析,从而找到用户流失的原因,以提升用户量、活跃度、留存率,并提升数据分析与决策的科学性等。

  • 知识点:电商行业转化率算法
# 电商行业转化率算法
利润=销售额X净利润率
=(购买人数X客单价)X净利润率
=进店人数X购买转化率X客单价X净利润率
=广告展现X广告转化率X购买转化率X客单价X净利润率
=推广展现X推广转化率X购买转化率X客单价X净利润率
=搜索展现X搜索转化率X购买转化率X客单价X净利润率
=*****X*****转化率X购买转化率X客单价X净利润率
  • 常用漏斗模型:首页—商品详情页—加入购物车—提交订单—支付订单
  • 本数据集只包含商品详情页(pv)、加入购物车(cart)、支付订单(buy)数据,因此将漏斗模型简化为:商品详情页—加入购物车—支付订单
    用户总行为(PV)的转化漏斗
# 用户总行为漏斗
SELECT behavior,COUNT(*)
FROM userbehavior
GROUP BY behavior
order by behavior desc;

在这里插入图片描述
用户总行为转化漏斗图:
在这里插入图片描述
独立访客(UV)的转化漏斗

# 独立访客转化漏斗
SELECT behavior,count(DISTINCT user_id)
FROM userbehavior
GROUP BY behavior
ORDER BY behavior DESC;

在这里插入图片描述
综合用户总行为转化漏斗图与独立访客转化漏斗图,可以发现:

  • (1)从浏览商品详情页PV到有购买意向只有6.19%的转化率,但从浏览商品详情页UV到有购买意向有75.46%的转化率,说明用户在购买商品前会大量的去点击浏览商品详情页(pv/buy=895636/20359=44次)进行对比筛选,这一环节是指标提升的重点环节,尽量做到精准推荐,减少用户寻找信息的成本。
  • (2)支付订单用户数占浏览商品详情页用户数的68.92%,反映淘宝APP用户购买转化率较高,即淘宝APP上的商品能满足绝大部分用户的购买需求。

针对上述环节改善转化率的建议:

  • (1)优化电商平台的搜索匹配度和推荐策略,主动根据用户喜好推荐相关的商品,优化商品搜索的准确度和聚合能力,对搜索结果排序优先级进行优化。
  • (2)在商品详情页的展示上突出用户关注的重点信息,精简信息流的呈现方式,减少用户寻找信息的成本。

题外话:大家在使用淘宝购物时,有没有过被店铺利用优惠券引导收藏加购的经历呢?为什么店铺愿意花一定的代价去做这件事?原因就是淘宝收藏加购的好处意义是直接提升宝贝权重排名,人气权重这个维度在搜索排序维度中权重占比有很大提升。淘宝收藏加购多了,会增加淘宝店铺权重,从而提升宝贝排名,流量自然也就多了。

4.2 从时间维度分析用户行为

4.2.1 每天的用户行为分析

# 每天的用户行为分析
SELECT 
	date,
	count(DISTINCT user_id) as '每日用户数',
	sum(case when behavior='pv' then 1 else 0 end) as '浏览数',
	sum(case when behavior='cart' then 1 else 0 end) as '加购数',
	sum(case when behavior='fav' then 1 else 0 end) as '收藏数',
	sum(case when behavior='buy' then 1 else 0 end) as '购买数'
FROM userbehavior
GROUP BY date;

在这里插入图片描述
每日用户行为数据变化:
在这里插入图片描述
在2017年11月25日-2017年12月3日统计窗口内,11月25-26日与12月2-3日为周末。
在这里插入图片描述
通过每日用户行为数据变化曲线可以分析:11月25日至12月1日,数据波动变化范围很小,在12月2-3日(周末),各项数据指标明显上涨,高于前7天的各项数据指标。由于在上一个周末(11月25-26日)的各项数据指标并未存在明显涨幅,因此推测在12月2-3日数据指标上涨可能与淘宝双12预热活动相关。

4.2.2 每时的用户行为分析

# 每时的用户行为分析
SELECT 
	hour,
	count(DISTINCT user_id) as '每时用户数',
	sum(case when behavior='pv' then 1 else 0 end) as '浏览数',
	sum(case when behavior='cart' then 1 else 0 end) as '加购数',
	sum(case when behavior='fav' then 1 else 0 end) as '收藏数',
	sum(case when behavior='buy' then 1 else 0 end) as '购买数'
FROM userbehavior
GROUP BY hour;

在这里插入图片描述
每时用户行为数据变化:
在这里插入图片描述
结果显示:在凌晨2-5点左右,各项数据指标进入低谷期;在9-18点之间,数据呈现一个小高峰,波动变化较小;在20-23点间,各数据指标呈现一个大高峰,并且在21点左右达到每日数据最大峰值,数据的变化趋势比较符合正常用户的作息规律。在制定运营策略时,可以利用这个规律来进行创收,选择在每天用户最活跃的时间段推出各种网店直播、直播带货等互动营销手段。

4.3 从商品维度分析用户行为

关于“受欢迎”的商品,可以从销量与浏览量两个维度(用户行为)去分析。但有的浏览量高的商品可能是因为被页面或广告等吸引而来,或者只是感兴趣,用户并不一定会购买;而销量高的产品有可能是用户真正需要的,搜索和点击购买的目标也比较明确。因此需要同时结合销量与浏览量两个维度去进行分析。

4.3.1 商品排行榜分析

4.3.1.1 商品销量排行榜前10

# 商品销量排行榜前10
SELECT item, count(behavior) as '购买次数'
FROM userbehavior
WHERE behavior='buy'
GROUP BY item 
ORDER BY count(behavior) DESC
limit 10;

在这里插入图片描述
从商品销量排行榜可以发现,在被下单的17565件商品中,单个商品销量最多不超过17次,且仅有5件商品销量超过10次,反映出在分析的数据集中,并没有出现卖的比较火爆的商品。

4.3.1.2 商品浏览量排行榜前10

# 商品浏览量排行榜前10
SELECT item, count(behavior) as '浏览次数'
FROM userbehavior
WHERE behavior='pv'
GROUP BY item 
ORDER BY count(behavior) DESC
limit 10;

在这里插入图片描述
对销量前10与浏览量前10的商品进行表连接:

# 商品销量榜单与浏览量榜单表连接
SELECT a.item,a.`购买次数`,b.`浏览次数`
FROM 
(SELECT item, count(behavior) as '购买次数'
FROM userbehavior
WHERE behavior='buy'
GROUP BY item 
ORDER BY count(behavior) DESC
LIMIT 10) a 
LEFT JOIN
(SELECT item, count(behavior) as '浏览次数'
FROM userbehavior
WHERE behavior='pv'
GROUP BY item 
ORDER BY count(behavior) DESC
limit 10) b on a.item=b.item;

在这里插入图片描述
结果显示:商品销量榜单与商品浏览量榜单之间对应性差(仅有2件商品销量与浏览量同时进入前20榜单),反映浏览量高的商品其销量不一定高,销量高的商品其浏览量不一定高,因此需要同时结合销量与浏览量两个维度去进行分析。下面将以商品浏览量和销量两个维度指标来对商品进行四象限划分,分析不同类型商品对应的用户行为,并提出相应的改进措施。

4.3.2 商品四象限划分

商品销量与浏览量两个维度的界限值分别选取3、20(需要根据实际业务场景来确定界限值),将商品按照销量与浏览量划分为四个象限:
在这里插入图片描述
第Ⅰ象限: 商品浏览量与销量都高,说明商品购买转化率高,属于受用户欢迎的商品。

  • 改进措施:由于该象限内的商品有对应的市场,电商平台应该重点进行推送,并且可以多做活动,吸引更多的潜在用户。

第Ⅱ象限: 商品的销量高,但是浏览量较低。产生这种现象可能有以下两种原因(B端与C端两个角度):一是 该象限内的商品可能属于某类特定群体的刚需产品,这类特定群体搜索和浏览的目标比较明确;二是 该象限内的商品受众广,但是引流入口数量少。

  • 改进措施:收集目前购买与浏览该象限内商品的用户信息,分析用户画像,并结合商品的特点,核实产品是否存在某类特征明显的消费群体。如果存在,则电商平台可以集中向该类特征消费用户进行定向推送、精准推送;如果不存在,则可以对该象限内商品的多做推广,提高曝光率,并增加引流入口,流量上来了,销量可能会有提升。

第Ⅲ象限: 商品的浏览量低,销量也低。原因主要需要从B端进行分析:一是 该象限内商品的引流入口数量;二是 该象限内商品是否符合用户的需求?对用户的吸引力如何?

  • 改进措施:需要根据具体原因对症下药。

第Ⅳ象限: 商品的浏览量高,但是销量偏低,商品购买转化率低。其原因也可以分为B/C端进行分析:在B端方面,是否是广告的投放人群或者商品的推送目标有问题,并没有获取到对应商品的目标用户;是否是商品的定价与定位的原因,价格太贵且不符合主流消费群体的胃口;是否是商品详情页的图片、描述以及商品的评价较差;是否是客服的服务不到位、APP操作更新流程复杂等因素。在C端方面,用户的消费能力可能会对商品的销量有影响。

  • 改进措施:需要根据具体原因对症下药。

4.3.4 “二八定律”or“长尾理论”分析

知识点:

按照商品销量对商品分类统计:

# 按照商品销量对商品进行分类统计
SELECT a.`购买次数`, count(a.item) as '商品量'
FROM
	(SELECT item, count(behavior) as '购买次数'
	FROM userbehavior
	WHERE behavior='buy'
	GROUP BY item 
	ORDER BY count(behavior) DESC) a 
GROUP BY a.`购买次数`
ORDER BY count(a.item) DESC;

在这里插入图片描述
绘制不同销量对应商品量柱状图:
在这里插入图片描述
根据不同销量对应商品量数据,在被下单的17565件商品中,只购买一次的商品有15536件,占下单总商品的88.45%,说明在互联网环境下,以淘宝为代表的电商平台,其商品售卖主要是依靠长尾商品的累计效应,并非爆款商品的带动。

4.4 基于RFM用户分层模型分析用户行为

4.4.1 基于RFM模型的用户分层

基于RFM模型进行用户分层分析,由于数据集中不包含订单金额,故本次分析中不考虑M维度,只分析R、F两个维度,对两个维度的指标进行分级打分,最终按照综合得分对用户分层。

4.4.1.1 R维度分析

计算用户的最近消费时间间隔R值(R值越小,说明用户最后消费时间越近),并对R值进行打分。根据R值结果,将其分为三个区间[0:2],[3:5]以及[6:8],分别赋予R_Score值3、2、1分。

# RFM模型——R维度分析
CREATE VIEW r_value as
SELECT user_id, min(时间间隔) as R
FROM
	(SELECT user_id, DATEDIFF('2017-12-03',date) as '时间间隔'
	FROM userbehavior
	WHERE behavior='buy') a 
GROUP BY user_id;
# 进行R维度打分
SELECT user_id, R,
	case when R BETWEEN 0 and 2 then 3
	when R BETWEEN 3 and 5 then 2
	else 1 end as R_Score
FROM r_value

在这里插入图片描述
统计不同R_Score占比:
在这里插入图片描述
从R_Score占比中可以发现,超过半数用户会在购物当天的后两天内就再次购买,可以看出淘宝已经成为人们的日常购物习惯。

4.4.1.2 F 维度分析

计算用户的消费频率F值,并对F值进行打分。根据F值结果(最大值72次),将其分为6个区间[1:9],[10:19],[20:29],[30:39],[40:49]以及[50:72],分别赋予F_Score值1、2、3、4、5、6分。

# RFM模型——F维度分析
CREATE VIEW f_value as
SELECT user_id, count(behavior) as F
FROM userbehavior
WHERE behavior='buy' 
GROUP BY user_id
ORDER BY count(behavior) DESC;
# 进行F维度打分
SELECT user_id, F,
	case when F BETWEEN 1 and 9 then 1
	when F BETWEEN 10 and 19 then 2
	when F BETWEEN 20 and 29 then 3
	when F BETWEEN 30 and 39 then 4
	when F BETWEEN 40 and 49 then 5
	else 6 end as F_Score
FROM f_value

在这里插入图片描述
统计不同F_Score占比:
在这里插入图片描述
从R_Score占比中可以发现,在统计窗口的9天时间内,96.76%的用户在淘宝平台消费1-9次。

4.4.1.3 用户分层

RF综合打分:

# 进行R维度打分
CREATE VIEW r_score as
SELECT user_id, R,
	case when R BETWEEN 0 and 2 then 3
	when R BETWEEN 3 and 5 then 2
	else 1 end as R_Score
FROM r_value
# 进行F维度打分
CREATE VIEW f_score as
SELECT user_id, F,
	case when F BETWEEN 1 and 9 then 1
	when F BETWEEN 10 and 19 then 2
	when F BETWEEN 20 and 29 then 3
	when F BETWEEN 30 and 39 then 4
	when F BETWEEN 40 and 49 then 5
	else 6 end as F_Score
FROM f_value
# RF综合打分
CREATE VIEW rf_score as 
SELECT a.user_id, a.R_Score, b.F_Score, a.R_Score+b.F_Score as RF_Score
FROM r_score a JOIN f_score b on a.user_id=b.user_id

在这里插入图片描述
根据RF_Score值,对用户进行分层:划分为2-3分,4-5分,6-7分,8-9分四个等级,分别对应易流失用户、挽留用户、发展用户、忠诚用户。

# 用户分层
SELECT *,
	case when RF_Score BETWEEN 2 and 3 then '易流失用户'
	when RF_Score BETWEEN 4 and 5 then '挽留用户'
	when RF_Score BETWEEN 6 and 7 then '发展用户'
	else '忠诚用户' end as '用户分层'
FROM rf_score

在这里插入图片描述
统计不同类型用户占比:
在这里插入图片描述
在这里插入图片描述
用户分层结果:

  • 重点挽留用户的比例最高,而且这部分客户给平台带来的潜在价值也很大,应该对这部分用户进行定期上新提醒、价格激励、订单搭配推荐等措施,留住用户并提高其消费频次;
  • 易流失用户占比也相对较高,这部分客户可能已经找到替代品或对该公司产品不感兴趣了,可采取价格激励、发放优惠券等方式进行流失召回;
  • 忠诚用户占比最少,这部分用户属于平台的 高价值用户,需要制定相应的运营策略来保持用户粘性;
  • 重点发展用户占比也较低,对这部分用户发送提醒或促销活动邮件、促进其消费频次。

用户分层效果分析: 从不同用户占比上来看,本次用户分层的效果不佳,可能有以下两个方面原因:1、两个维度的打分区间划分的不合理,并没有用户很好的分开,应该在做区间划分时提前看一下各维度的用户分布情况,结合实际业务场景需求,去确定区间界限值;2、两个维度划分的区间数不一致,且赋予的分值区间差异较大,这种操作其实相当于给两个维度赋予了不同的比重。
在本次用户分层中,可能采取RF两个维度的四象限划分更简单明了,且效果会更好。

4.4.2 高价值用户行为分析

以user_id为107932的用户为例,对其进行深入分析:

# user_id为107932用户行为分析
SELECT 
	date,
	sum(case when behavior='pv' then 1 else 0 end) as '浏览数',
	sum(case when behavior='cart' then 1 else 0 end) as '加购数',
	sum(case when behavior='fav' then 1 else 0 end) as '收藏数',
	sum(case when behavior='buy' then 1 else 0 end) as '购买数',
	sum(case when behavior='buy' then 1 else 0 end)/sum(case when behavior='pv' then 1 else 0 end) as '购买转化率'
FROM userbehavior
WHERE user_id = 107932
GROUP BY date;

在这里插入图片描述
在这里插入图片描述
结果表明:该用户几乎每天都有消费,购买转化率也很高,但从未使用过收藏功能,购物车的使用频率也极低。对于高价值用户,可以分析其常购买的商品类型,再进行相关的商品推荐。由于商品种类数据为脱敏数据,本文无法分析该用户购买的商品类型。

五、结论与建议

本文从4个维度分析了淘宝用户行为数据共100万条,结论和建议如下:

  • 1、淘宝平台的商品对用户具有足够的吸引力(跳失率),且能够满足绝大部分用户的需求(购买转化率)。淘宝用户的忠诚度较高,复购率高达66.21%。从浏览商品详情页PV到有购买意向仅有6.19%的转化率,这一环节是指标提升的重点环节,尽量做到精准推荐,减少用户寻找信息的成本。
    针对上述环节改善转化率的建议:
    (1)优化电商平台的搜索匹配度和推荐策略,主动根据用户喜好推荐相关的商品,优化商品搜索的准确度和聚合能力,对搜索结果排序优先级进行优化。
    (2)在商品详情页的展示上突出用户关注的重点信息,精简信息流的呈现方式,减少用户寻找信息的成本。
  • 2、用户的各种行为数据指标在周末和工作日的差别不大,但是受双12等大型平台活动影响较大。每天晚上的20-23点间是用户活跃度最高的时间段,各数据指标呈现一个大高峰,并且在21点左右达到每日数据最大峰值。在制定运营策略时,可以利用这个规律来进行创收,选择在每天用户最活跃的时间段推出各种网店直播、直播带货等互动营销手段。
  • 3、商品销量与商品浏览量之间相关性较差,浏览量高的商品其销量不一定高,销量高的商品其浏览量不一定高,结合商品四象限划分结果,各象限商品都可从B端与C端两个角度去分析原因,并针对性的进行改善。
  • 4、淘宝平台商品售卖主要是依靠长尾商品的累计效应,并非爆款商品的带动。
    建议:长尾效应的确能带来一部分收益,但是,繁多的种类对于商家来说其实是一种经营负担,成本也较高。二八定律告诉我们,商家其实可以通过打造爆款商品来获利。打造爆款商品具体的建议是:品控上提高产品质量,宣传上增大力度(直播、微淘、引流到其他平台),展现上突出产品优势等(主图、详情页、评论)。
  • 5、通过RFM模型对用户进行分层,找出RF评分高的作为高价值用户,并对不同类型的用户采取不用的运行策略。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据分析实战项目:SQL分析淘宝用户行为 的相关文章

  • Magento --“SQLSTATE[23000]:违反完整性约束..”客户更新

    迁移服务器后 每次尝试更新客户信息时都会出现错误 我正在使用一个客户激活插件 http www magentocommerce com magento connect vinai extension 489 customer activat
  • ASP SQL Server 连接

  • 在 Mysql 上使用 EntityManager JPA 运行脚本

    我正在尝试运行脚本 sql 文件 但由于我尝试了多种方法 因此出现多个错误 这是我的主要 sql 脚本 INSERT INTO Unity VALUES 11 paq 0 2013 04 15 11 41 37 Admin Paquete
  • 标量子查询包含多行

    我正在使用 H2 数据库并想要移动一些数据 为此 我创建了以下查询 UPDATE CUSTOMER SET EMAIL SELECT service EMAIL FROM CUSTOMER SERVICE AS service INNER
  • 没有为 1 个或多个必需参数给出值。更新SQL

    我正在编写一个程序 当用户在列表视图上选择记录时 该程序会更新密码或积分 我收到错误 没有为 1 个或多个必需参数给出值 我不知道如何纠正 我是否遗漏了一些明显的东西 Dim sql As String UPDATE Users SET P
  • 根据由另一列分组的不同列的最大值获取值[重复]

    这个问题在这里已经有答案了 我想根据由另一列分组的不同列的最大值来获取列的值 我有这张表 KEY NUM VAL A 1 AB B 1 CD B 2 EF C 2 GH C 3 HI D 1 JK D 3 LM 并想要这样的结果 KEY V
  • 何时在 mysql 中使用 Union [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 对于 Union 您会在什么现实情况下使用它 因为对我来说 对具有不同列用途 含义的两个表中的两个选择查询使用联合是没有意义的 例如
  • 将两个表合并为一个输出

    假设我有两张表 已知营业时间 ChargeNum CategoryID Month Hours 111111 1 2 1 09 10 111111 1 3 1 09 30 111111 1 4 1 09 50 222222 1 3 1 09
  • 更好地理解 SQL Server 中的架构

    就像标题一样 我还是一个SQLServer菜鸟 当我创建表 Mytable 时 数据库中显示 dbo Mytable 但有人能让我更好地理解模式吗 另外 在 Server 2008 TSQL 一书中 Itzik 说 在你的数据库中 表属于模
  • SQL Server:为什么 ISO-8601 格式的日期依赖于语言?

    我需要一些帮助来理解 SQL Server 中的日期格式处理 如果您尝试以下操作 它将返回正确的结果 SET LANGUAGE English SELECT CAST 2013 08 15 AS DATETIME 2013 08 15 00
  • 获取mysql中逗号分隔行中不同值的计数

    一个表 Jobs 有 2 列 JobId 城市 当我们保存工作时 工作位置可能是多个城市 如下所示 JobId City 1 New York 2 New York Ohio Virginia 3 New York Virginia 我如何
  • 更改mysql数据库表中的日期格式

    大家早上好 只是一个简单的问题 在我现有的 MySql 数据库中 我几乎没有包含日期 的列 目前这些是年 月 日格式 但现在我需要将其全部更改为年 月 日格式 我试过了select date format curdate d m Y 但它不
  • Oracle:按月分区表

    我的解决方案 德语几个月 PARTITION BY LIST to char GEBURTSDATUM Month PARTITION p1 VALUES JANUAR PARTITION p2 VALUES Februar PARTITI
  • 没有提示指令的直连接中表的顺序是否会影响性能?

    所有基于 SQL 的 RDBMS 10 年前的版本 直接连接查询 没有提示指令 中的表顺序是否会对最佳性能和内存管理产生影响 听说最后一个join应该是最大的表 您的数据库的查询优化器如何处理这种情况 回答你的问题 是的 表的顺序在连接中有
  • 如何创建没有循环关系的树形表?

    CREATE TABLE TREE node1 id UUID REFERENCES nodes object id NOT NULL node2 id UUID REFERENCES nodes object id NOT NULL CO
  • 支持 >65k 行的 Excel VBA SQL 驱动程序

    在 Excel 2010 中通过 VBA 查询 Excel 数据时 我遇到一个有趣的问题 我正在使用这些驱动程序连接到 xls 或 xls x m 文件 Sub OpenCon ByRef theConn As Connection ByV
  • SQL Server 中的 FIFO 查询

    我正在构建一个库存管理应用程序c with SQL server 我想做一个FIFO从我的表查询 我以可变价格购买了相同的产品 之后我卖掉了其中一些 我想根据 先进先出 进行查询BatchDate柱子 所以我想通过PurchasePrice
  • SQL Server 中离线索引重建和在线索引重建有什么区别?

    重建索引时 有一个选项ONLINE OFF and ONLINE ON 我知道当ONLINE模式打开时 它会复制索引 切换新查询以利用它 然后重建原始索引 使用版本控制跟踪两者的更改 如果我错了 请纠正我 但是 SQL 在离线模式下会做什么
  • 查看Jasper报告执行的SQL

    运行 Jasper 报表 其中 SQL 嵌入到报表文件 jrxml 中 时 是否可以看到执行的 SQL 理想情况下 我还想查看替换每个 P 占位符的值 Cheers Don JasperReports 使用 Jakarta Commons
  • 使用用户定义函数 MySql 时出错

    您好 请帮我解决这个问题 提前致谢 我在数据库中定义了这些函数 CREATE FUNCTION levenshtein s1 VARCHAR 255 s2 VARCHAR 255 RETURNS INT DETERMINISTIC BEGI

随机推荐

  • 大数据学习 第一篇——基础知识

    前言 在学习大数据之前 先要了解他解决了什么问题 能给我们带来什么价值 一方面 以前IT行业发展没有那么快 系统的应用也不完善 数据库足够支撑业务系统 但是随着行业的发展 系统运行的时间越来越长 搜集到的数据也越来越多 传统的数据库已经不能
  • ftp 530 login incorrect

    今天在新建虚拟账号过程中遇到的一点小问题 记录一下 新建的流程如下 vim etc vsftpd virtusers 在最底下加入账号名 ftpuser 和密码 db load T t hash f etc vsftpd virtusers
  • java多线程内存同步问题

    多线程内存可见性 1 volatile保证内存可见 2 sleep同步内存数据 3 System out print 方法同步线程数据 4 异常打印也会同步线程数据 1 volatile保证内存可见 volatile保证java多线程内存
  • 字符串流stringstream--<sstream>

    字符串流stringstream流详解 一 stringstream是C 提供的一个字符串流 与iostream和fstream的操作方法类似 只是功能不同 要使用字符串流必须包含其头文件
  • 小程序开发之搜索框

    日常学习之小程序开发 搜索框 为了完成搜索框 我们先在 pages 文件夹中创建 search 文件并创建相应的 page 搜索框 可以用 vant 组件中的 van search 标签来实现 需要在 miniprogram 文件夹的内建终
  • error: ‘QObject::QObject(const QObject&)’ is private within this context

    error QObject QObject const QObject is private within this context 这个错误是由于QObject类的拷贝构造函数被声明为私有 导致在某些情况下无法进行对象的拷贝操作而产生的
  • 最小费用最大流详解与模板

    最小费用最大流 在最大流有多组解时 给每条边在附上一个单位费用的量 问在满足最大流时的最小费用是多少 思想 给出一个容量网络 那他的最大流一定是一个定值 即使是有多个一样的最大值 所以我们从开始的可行流开始增广时 最终的增广量是一定的 所以
  • 你知道“$set”是什么吗?

    set 的原理是基于Vue的响应式系统和Vue的观察者机制 当使用 set 方法时 它会执行以下步骤来实现动态添加或修改响应式对象的属性 1 首先 set 会检查对象是否已经是响应式的 如果对象未被代理为响应式对象 它会将对象转换为响应式对
  • 机器学习之朴素贝叶斯算法的详解(包含高斯朴素贝特斯、多项式朴素贝叶斯、伯努利朴素贝叶斯,以及相应算法的简单实现)

    机器学习18 贝叶斯算法详解 2021 06 02 2021 06 05 一 朴素贝叶斯算法 为什么需要朴素贝叶斯算法 比如说 我们想预测一个人究竟是否能够侥幸在空难中生还 那么我们就需要建立一个分类模型来学习我们的训练集 在训练集中 其中
  • 学习cocos2d-x 之路 (1)--了解cocos2d-x

    学前感言 很久以前就听说过cocos2d的大名 知道它在手机游戏开发中处于主导地位 但是今天是真正意义上第一次接触 当前手机游戏市场十分火爆 我想对于任何一个对游戏感兴趣并且准备投身手机游戏开发的人学习这款引擎都是必要的 从百度百科上阅读了
  • Linux学习之安装vim软件

    Linux学习之安装vim软件欢迎来到陈冬冬的个人经验分享平台https www chendd cn blog article 1477573897833009153 html 在前一篇文章中初步使用到了 vi 命令去更改网络连接的参数文件
  • 【git系列】从远端仓库获取最新代码合并到本地分支里

    在日常开发中 很有可能几个开发人员都在开发同一个代码仓分支 导致本地分支里的代码 落后于 远端分支里的 我们需要做的就是从远端仓库获取最新代码合并到本地分支里 1 git pull 有风险 获取最新代码到本地 并自动合并到当前分支 首先我们
  • ORB_SLAM2 with XTION的编译问题(1)

    ORB SLAM2 with XTION的编译问题及解决 1 源链接为https github com chaizheng2157 RGBD ORB SLAM2 RT 其中里面有两个包要编译 分别是g2o with orbslam2和ORB
  • matlab做多元门限回归模型,门限自回归模型

    2014年第6期 郑晓亚 我国股权风险溢价的长期趋势与短期特征 我国股权风险溢价的长期趋势与短期特征 结合门限自回归模型与B P多重结构型断点检验的经验研究郑 Hansen 于 1996 年在 Econometrica 上发表文章 Infe
  • Vercel国内无法访问解决方案

    域名解析使用 cname vercel dns com 或 将 A 记录从 76 76 21 21 改成 76 223 126 88 官方建议将 cname 从 cname vercel dns com 修改为 cname china ve
  • python web页面增删改查_python web 增删改查教你快速入门

    1 导入需要的扩展和包from sqlalchemy import create engine Column Integer String from sqlalchemy ext declarative import declarative
  • 数据源 JNDI 作用

    数据源在JDBC中的应用简介众所周知 JDBC Java数据库连接 是Java 2企业版的重要组成部分 它是基于SQL层的API 通过把SQL语句嵌入JDBC接口的方法中 用户可以通过Java程序执行几乎所有的数据库操作 JDBC只提供了接
  • uni-app的Vue.js实现微信小程序的紧急事件登记页面功能

    主要功能实现 完成发生时间选择功能 用户可以通过日期选择器选择事件发生的时间 实现事件类型选择功能 用户可以通过下拉选择框选择事件的类型 添加子养殖场编号输入框 用户可以输入与事件相关的子养殖场编号 完成事件描述输入功能 用户可以通过文本输
  • 1、网易校招2016年《下厨房》

    题目描述 牛牛想尝试一些新的料理 每个料理需要一些不同的材料 问完成所有的料理需要准备多少种不同的材料 输入描述 每个输入包含 1 个测试用例 每个测试用例的第 i 行 表示完成第 i 件料理需要哪些材料 各个材料用空格隔开 输入只包含大写
  • 数据分析实战项目:SQL分析淘宝用户行为

    文章目录 一 项目背景及目的 1 1 项目背景 1 2 项目目的 1 3 数据集来源与介绍 二 数据导入 2 1 图形界面工具导入 2 2 以系统命令行导入 三 数据清洗 3 1 删除重复值 3 2 查看缺失值 3 3 时间格式转换 3 4