常用指标如何分析

da3436304e7ad354017fcd899759b1f3.png

【面试题】某公司数据库里有3张表,销售订单表、产品明细表、销售网点表

”销售订单表”记录了销售情况,每一张数据表示哪位顾客、在哪一天、哪个网点购买了什么产品,购买的数量是多少,以及对应产品的零售价

692ac83c1706a453993a17ef351296c0.jpeg

“产品明细表”记录了公司产品的详细信息

ffa615f17ce04788e6c84e1969a1c63c.jpeg

“销售网点表”记录了公司的销售网点

53d8b4abc4573320686dd2499a56d245.jpeg

销售订单表、产品明细表、销售网点表字段之间的关系如下

cfbfc657de73ed0e3c45b61e08cf70d8.jpeg

销售订单表和产品明细表通过“产品”字段关联,销售订单表和销售网点通过“交易网点”关联

扫描二维码关注公众号,回复: 15068605 查看本文章

【问题】分析在2020年度第一季度的购买人数,销售金额,客单价,客单件

人均购买频次

【解题思路】

分析在2020年度第一季度的购买人数,销售金额,客单价,客单件

人均购买频次

此题应用“销售订单表”表的数据,要正确的解决,需要先了解实际的业务,考察的是经营分析中“人“(用户情况)的分析。

里面涉及到常用业务指标,如果忘记的话,可以在《衡量业务:指标体系》里回顾

1.购买人数

购买人数,要用到“销售订单表“中的”顾客ID“来分析出人数

167583682e60993d5a4293e12290b229.jpeg

在实际销售中一个用户可以在一个交易网点购买多次,或者在多个网点购买多次。

因此在计算“购买人数“时,需要用distinct去重后,再用count函数计数。

select
  count(distinct 顾客ID) as 购买人数
from 销售订单表;

2.销售金额

销售金额=销售数量 * 零售价

select
   sum(销售数量*零售价)as 销售金额
from 销售订单表;

3.客单价

客单价是平均每个用户购买的金额,客单价=总销售金额/用户总数

总销售金额、用户总数在前面我们已经分析出来了,现在计算客单价就简单了,也就是

sum(销售数量*零售价)/count(distinct 顾客ID) as 客单价

完整SQL如下:

select
   count(distinct 顾客ID) as 购买人数,
   sum(销售数量*零售价)as 销售金额,
   sum(销售数量*零售价)/count(distinct 顾客ID) as 客单价
from 销售订单表;

与客单价经常混淆的还有笔单价(平均每笔交易的购买金额),

笔单价=总销售金额/订单总数 

4.客单件

客单件是平均每个用户购买的件数,客单件=总销售数量/用户总数

sum(销售数量)/count(distinct 顾客ID) as 客单件

5.人均购买频次

人均购买频次是平均每个顾客购买几次,人均购买频次=总订单数/用户总数

count(订单号)/count(distinct 顾客ID) as 人均购买频次

到现在,我们已经得到了问题中的常用指标,购买人数、销售金额、客单价、客单件。但是,问题中还有一个条件,那就是分享下“在2020年度第一季度”的数据

通过条件筛选(where),可以得到符合条件的数据。需要用到日期和时间函数处理年份和季度的提取。

where year(交易日期)="2020" and quarter(交易日期)=1

把前面每一步的SQL放到一起,就是最终的SQL:

select
  count(distinct 顾客ID) as 购买人数,
  sum(销售数量*零售价)as 销售金额,
  sum(销售数量*零售价)/count(distinct 顾客ID) as 客单价,
  sum(销售数量)/count(distinct 顾客ID) as 客单件,
  count(订单号)/count(distinct 顾客ID) as 人均购买频次
from 销售订单表
where year(交易日期)="2020" and quarter(交易日期)=1;

分析结果:

a780ae67333c2ecd34dc0b4662fc27bc.jpeg

【本题考点】

1.考察了日常经营分析中经常用到的指标,常用的指标可以回顾《衡量业务:指标体系》

2.分组汇总是常用的分析方法

3。考察字段别名的应用,把复杂的计算字段用as改成别名,缩短SQL

语句,让查询语句比较简洁

4.考察日期和时间处理函数的用法,常用的日期和时间函数如下:

54dc3523201ad4ac7f96c0f05293d7fd.jpeg

日期时间段除了用以上提取函数外,还可以用between …and…语句,但是日期需要用引号引用,对应本案例是between "2020-01-01"and "2020-03-31"

在下面留言区写出的答案,下周揭晓答案

38ecfaf38e00c645f4baeb5665aa39a7.jpeg

 ⬇️点击「阅读原文」

 免费报名 数据分析训练营

猜你喜欢

转载自blog.csdn.net/zhongyangzhong/article/details/130497990