Step0:背景
索尼公司是源自日本的跨国综合企业,以研制电子产品为主要事业,经营领域横跨消费电子产品、专业性电子产品、电子游戏、金融、娱乐等,拥有全世界的品牌知名度。目前在国内,索尼的产品主要覆盖在照相机,摄像机,电视,和智能手机四个主要领域。
My Sony会员,共分为注册会员、铜牌会员、银牌会员、金牌会员4个等级。会员的等级由"成长值"数值决定,成长值越高,会员等级越高。加入索尼会员可以享受会员尊享价,官方延保以及累积成长等多个激励。用户可以通过索尼中国在线商城,索尼产品,索尼app,微信等渠道注册。
Step1:基础题
1.1:不同注册渠道的会员,年龄和成长值有什么区别?
通过观察,注册渠道、年龄和成长值三者都在会员表中,那么我们只需对会员表查询即可。
SQL代码:
SELECT channel,AVG(age) AS n_age,AVG(Member_value) AS n_value
FROM sony_members
GROUP BY channel;
代码的作用是,从会员表中,以注册渠道为准进行分组,查询注册渠道和相对应的平均年龄与平均成长值,并显示出来。
从查询结果可看出,不同的注册渠道,平均年龄从小到大分别为:
Product平均年龄最大,Online次之,Wechat第三,APP的平均年龄最小。这反映了不同年龄的人群所习惯的使用方式,偏年轻化的人群更喜欢移动端的APP和Wechat。
而成长值从小到大依次为:
APP的使用人群平均成长值最低,product第二低,Online仅次于Wechat,而Wechat的平均成长值最高。这说明不同的人群使用会员的频率不一样,用微信注册的人群购买东西使用会员频率最高,APP最低。
结合两者的统计情况来看,Wechat的会员推广会更有利于货物销售额的增加,而APP虽然注册的人群最为年轻,但可能是APP的使用转化不够,他们并没有达到其他渠道的会员人群那样的购买效果。
1.2:所提供数据中,销售最好的产品分别是哪些?
销售最好的产品,可以将“销售最好”定义为“销量最高”或者“销售额最高”,那么我们需要找到销量代表的数据在哪,很简单的就可以发现其销售的数据在销售表和产品表中。我们所需要的,是其中的product_id产品id,base_category产品大类和相对应的amount交易金额总和或者quant交易量。
SQL代码如下:
SELECT p.base_category,SUM(s.quant) AS sq
FROM sony_product p
INNER JOIN sony_sales s
ON p.product_id=s.product_id
GROUP BY p.base_category
ORDER BY sq;
代码的解释是通过产品id,链接产品表和销售表,然后从中找到我们需要的产品种类和交易量,并从小到大排列。
基于产品大类交易量的查询结果如下:
由上图知,按交易量来说的话,Digital Camera类产品是是销售最火的。接下来我们换一种衡量标准,以销售总额来计算该问题,代码和结果如下:
其代码逻辑同交易量代码。
SQL代码:
SELECT p.base_category,SUM(s.amount) AS sq
FROM sony_product p
INNER JOIN sony_sales s
ON p.product_id=s.product_id
GROUP BY p.base_category
ORDER BY sq;
得到结果如下:
很明显,按销售额来衡量的话,TV类产品是销售量最好的,但Digital Camera的销售额也不算差,排第三。
也就是说,TV是属于大金额产品,而数码相机相对于会价格低一些,但总体来说对TV的推广会更有利于销售额的增长,对Digital Camera的推广则注重于交易量。