专栏名称: 爱数据原统计网
中国统计网(www.itongji.cn),国内最大的数据分析门户网站。提供数据分析行业资讯,统计百科知识、数据分析、商业智能(BI)、数据挖掘技术,Excel、SPSS、SAS、R等数据分析软件等在线学习平台。
目录
相关文章推荐
51好读  ›  专栏  ›  爱数据原统计网

干货 | SQL统计关联销售商品

爱数据原统计网  · 公众号  · BI  · 2017-05-11 16:53

正文


没有支持度、置信度、提升度;只有关联商品的明细统计!


关联规则是反映一个事物与其他事物之间的相互依存性和关联性 ,常用于实体商店或在线电商的推荐系统:通过对顾客的购买记录数据库进行关联规则挖掘,最终目的是发现顾客群体的购买习惯的内在共性,例如购买产品A的同时也连带购买产品B的概率,根据挖掘结果,调整货架的布局陈列、设计促销组合方案,实现销量的提升,最经典的应用案例莫过于。


关联规则分析中的关键概念包括:支持度(Support)、置信度(Confidence)与提升度(Lift) 。


支持度 (Support): 支持度是两件商品(A∩B)在总销售笔数(N)中出现的概率, 即A与B同时被购买的概率。



置信度 (Confidence): 置信度是购买A后再购买B的条件概率。简单来说就是交集部分C在A中比例,如果比例大说明购买A的客户很大期望会购买B商品。

提升度 (Lift): 提升度表示 先购买A对购买B的概率的提升作用 ,用来判断规则是否有实际价值,即使用规则后商品在购物车中出现的次数是否高于商品单独出现在购物车中的频率。如果 大于1说明规则有效,小于1则无效。


以上关联分析的理论介绍完毕。


零售行业中,POS统计的销售明细表,一般包括:日期、单号、店铺、产品代码、数量、金额等。如下图:



POS销售事实表中简单列举了常用的字段,通过POS销售事实表,容易计算出哪些产品比较畅销,假设本例中产品代码:MaterialID ='X41100' 为TOP1,现在想知道哪些产品和TOP1关联销售的次数最多,即:2个或者多个产品多次同时出现共同的单号中。因POS销售事实表一般较大,从数据库中查询关联产品明细思路如下:


第一步 :取数5.1-5.5时间(做时间单位)内,销售明细中包含 MaterialID ='X41100' 单号明细,代码如下:


SELECT   BillNo,MaterialID,Qty from tablename1

WHERE BillDate BETWEEN '2017-05-01' and '2017-05-05' and MaterialID ='X41100'(根据具体数据明细类型参考是否加 DISTINCT函数)。


此临时表中单号仅包含  MaterialID ='X41100'  的产品明细。


第二步:通过第一步查询后的临时表作为主表,通过单号为关键字段,做左连接,查询POS销售事实表中单号只包含第一步中临时表的单号,但产品明细为全部。代码如下:


SELECT aa.MaterialID as TOP-MaterialID ,bb.MaterialID as 关联-MaterialID ,COUNT(*) as 关联次数FROM

(SELECT BillNo,MaterialID,Qty from tablename1   WHERE BillDate BETWEEN '2017-05-01' and '2017-05-05' and MaterialID ='X41100') as aa  LEFT JOIN

(SELECT BillNo,MaterialID,Qty from tablename1  WHERE BillDate BETWEEN '2017-05-01' and '2017-05-05' ) as bb

ON  aa.BillNo = bb.BillNo

GROUP BY   aa.MaterialID,bb.MaterialID

ORDER BY    关联次数 desc


查询后数据明细如下:








请到「今天看啥」查看全文