一种基于wifi定位的进店顾客数据统计方法转让专利

申请号 : CN201711169283.2

文献号 : CN108090493B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张振鑫张力立洛桑扎西

申请人 : 南京光普信息技术有限公司

摘要 :

本发明公开一种基于wifi定位的进店顾客数据统计方法,包括如下步骤:步骤1,识别店铺区域,获得店铺区域边界;步骤2,通过机器学习的方法,对wifi定位数据聚类,扩大步骤1获得的店铺边界,获得店铺有效定位区域;步骤3,对每天采集的wifi定位数据进行有效定位区域判定,获得每个手机用户的游逛店铺的时间序列;步骤4,检验每个手机用户的游逛店铺时间序列,判断顾客是否进店,并利用停留时间来剔除店铺工作人员,从而获得每天每个店铺的有效游逛顾客数,以及其进店、离店和游逛时间。此种方法采用机器学习的方法,通过对大量基于三角定位或指纹定位的wifi定位数据清洗和聚类计算,自动找到店铺的有效定位区域,然后实现批量和实时的进店客流计算。

权利要求 :

1.一种基于wifi定位的进店顾客数据统计方法,其特征在于包括如下步骤:步骤1,识别店铺区域,获得店铺区域边界;

所述步骤1中,根据商场平面图,选定店铺区域内任意一点作为目标点,由目标点向外扩展,将颜色相近得到的像素点判断为店铺区域内,从而获得店铺区域边界;

所述步骤1的详细内容是:

步骤11,根据商场平面图获取每个像素点的坐标和RGB颜色值;

步骤12,选定店铺区域内任意一点作为目标点,将该点上色为标识该店铺的唯一色;

步骤13,从目标点出发,用迭代的方式扫描当前像素上下左右四个方向的邻近点,若某点的RGB颜色值满足相近色公式:|r-r0|+|g-g0|+|b-b0|≤thresh,其中,thresh为阈值,则将该点视为相近颜色点,认为该点与目标点属于同一店铺;若在扫描过程中,某个点的RGB颜色值不满足相近色公式,那么认为该点已经位于店铺外,停止该方向的扫描;然后对该点的4个邻近点再继续扫描,判断是否颜色相近,直到没有任何邻近点为颜色相近点,扫描结束;

步骤14,记录各店铺所包含的像素点点集{Si},点Si对应坐标(xi,yi),以及该店铺ID及所在楼层;

步骤2,通过机器学习的方法,对wifi定位数据聚类,扩大步骤1获得的店铺边界,获得店铺有效定位区域;

所述步骤2的详细内容是:

步骤21,用机器学习的方法对一定周期的数据进行定位坐标的聚类;

步骤22,对所有该周期内的定位数据进行聚类计算,从而找到客户高频次定位的位置区域点集,设为{Ai},每一个Ai都对应一个坐标(xi,yi);

步骤23,将商场平面图分割成栅格,找出区域点集{Ai}内的高频次定位栅格,满足条件为,栅格内所有定位数据个数占定位总数的一定百分比,将高频次栅格的坐标记为{AGi},每一个AGi都对应一个坐标(xi,yi);

步骤24,对步骤23生成的每个高频次栅格的坐标集合{AGi},计算与标识的店铺区域像素点点集{Si}的距离,然后找到距离最小的店铺,保存为一个店铺ID列表{ASi};

步骤25,再遍历店铺ID列表{ASi},从{AGi}中搜索出标记为属于店铺i的高频次栅格点的坐标点集{ADij},其中,i表示店铺ID,j表示高频次栅格点序号;对每一个店铺ID,对{Si}和{ADij}做交集处理,作为店铺i的有效像素点,并标记为唯一色,将所有像素点位置和颜色保存至文件shoplist中;

步骤3,对每天采集的wifi定位数据进行有效定位区域判定,获得每个手机用户的游逛店铺的时间序列;

步骤4,检验每个手机用户的游逛店铺时间序列,判断顾客是否进店,并利用停留时间来剔除店铺工作人员,从而获得每天每个店铺的有效游逛顾客数,以及其进店、离店和游逛时间。

2.如权利要求1所述的一种基于wifi定位的进店顾客数据统计方法,其特征在于:所述步骤13中,还将属于同一店铺的像素点均上色为同一颜色,且该颜色不同于商场平面图中已存在的任何颜色。

3.如权利要求1所述的一种基于wifi定位的进店顾客数据统计方法,其特征在于:所述步骤3的详细内容是:对实时采集的wifi定位数据进行进店打点,将每条wifi定位记录的坐标与文件shoplist中的像素坐标进行匹配,找到像素颜色值,根据该颜色值判断是否为已经标记的某店铺颜色,或者是无效颜色值,从而判断该记录的wifi坐标有没有进入某一家店铺,然后获得每个手机用户的定位时间序列。

4.如权利要求1所述的一种基于wifi定位的进店顾客数据统计方法,其特征在于:所述步骤4的详细内容是:对每个手机用户的定位时间序列进行漂移检验和时间连续性检验,如果该时间序列有足够长的时间在同一个店铺有效定位区域有足够多的wifi记录数,并且漂移出该店铺有效定位区域的定位坐标没有超过一定阈值,那么判定该用户在此时间段在游逛该店铺,从而得到当天有效游逛该店铺的顾客数,以及进店、离店和停留时间。

5.如权利要求4所述的一种基于wifi定位的进店顾客数据统计方法,其特征在于:判定手机用户进入某个店铺的条件是:a)定义停留时间段D:

D=T2-T1

其中,T1是进入店铺A有效区域的初始时刻,T2是离开店铺A有效区域的最后时刻;

需满足:

3<D<α

参数α为最长客户逛店时间,如果超过该参数α,则判断为工作人员;

b)求得店内记录数比例Rn=count1/count2,其中,count1为店内wifi记录数,count2为停留时间段内所有wifi记录数,需满足:Rn≥β

c)对店铺有效区域内定位wifi记录的连续时间记录取差分,即停留时间片段序列{di},计算停留时长比例Rt=sum({di})/D,需满足:Rt≥γ。

6.如权利要求5所述的一种基于wifi定位的进店顾客数据统计方法,其特征在于:对α、β、γ进行优化,内容如下:a)优化α,对每个店铺的所有MAC地址的停留时间段D做直方图分析,得到人数-时长的分布曲线,曲线的点序列为{(Ni,Di)},其中,Ni为人数,Di为递增的时长范围;

根据该分布曲线判断合理的参数位置,估算得到店铺的工作人员人数为Ns,找到最小的Nj,使得Nj≥Ns,这样对应的Dj即为这家店铺的α的合理取值范围;

b)优化β,将所有店内记录数比例Rn的数据做直方图分析,得到序列{(Ni,Rni)},从直方图的分布形态,找到位于坐标轴左端,即Rn偏小的一端,如果出现小的峰值,则将其剔除掉,并取峰值的Rn作为优化后的β值;

c)优化γ,将所有停留时长比例Rt的数据做直方图分析,得到序列{(Ni,Rti)},从直方图的分布形态,找到位于坐标轴右端,即Rt偏大的一端,如果出现小的峰值,则将其剔除掉,并取峰值的Rt作为优化后的γ值。

说明书 :

一种基于wifi定位的进店顾客数据统计方法

技术领域

[0001] 本发明属于数据统计及分析技术领域,特别涉及一种基于wifi定位的进店顾客数据统计方法。

背景技术

[0002] 目前用来判断商场内店铺的进店客流方法,主要为以下几种:
[0003] 1)商场入口和走道处安装视频头,用以识别客流人数。该方法只能计数在走廊处的总人流数,无法识别有多少人实际进店,并逗留逛店。
[0004] 2)在店铺门口安装红外设备,通过红外计数来识别客流人数。该方法局限性在于,红外技术需要当人经过检测区的时候,因为红外线被打断来识别有顾客进入,但是精确率只有60%-80%,而且因为对进店顾客无法标识,导致无法知晓顾客实际逛店的时间,所以无法识别有效进店游逛的客流人数以及逛店停留时间。
[0005] 3)在店内安装wifi设备,捕捉客户的手机wifi信号,通过信号强弱来判断客户是否进店还是路过。该方法的局限性在于,仅凭信号阈值来判断客户是否在店内,会对距离wifi设备较远的顾客产生较大误差,而且这种方法需要在商场内的每家店铺里安装wifi设备,这在普遍的商场里均由于成本限制无法实现。
[0006] 4)在商场走廊处安装wifi探针设备,通过三角定位或指纹定位法计算客户所在位置,如果位置为店内,则判断为进店。该方法的局限性在于,wifi定位的公认定位精度在3~5米,而且由于商场内布设的wifi探针设备通常无法布设于店内,导致如果顾客进店,那么顾客的实际位置在很多情况下位于店外,甚至会跳至距离实际顾客所在处较远(10米以上)的位置,而且也会有数据丢失的情况(三角定位法需要有3个探针设备同时检测到该用户手机wifi),这就给判断顾客是否进店带来很大误差。

发明内容

[0007] 本发明的目的,在于提供一种基于wifi定位的进店顾客数据统计方法,其采用机器学习的方法,通过对大量基于三角定位或指纹定位的wifi定位数据清洗和聚类计算,自动找到店铺的有效定位区域,然后实现批量和实时的进店客流计算。
[0008] 为了达成上述目的,本发明的解决方案是:
[0009] 一种基于wifi定位的进店顾客数据统计方法,包括如下步骤:
[0010] 步骤1,识别店铺区域,获得店铺区域边界;
[0011] 步骤2,通过机器学习的方法,对wifi定位数据聚类,扩大步骤1获得的店铺边界,获得店铺有效定位区域;
[0012] 步骤3,对每天采集的wifi定位数据进行有效定位区域判定,获得每个手机用户的游逛店铺的时间序列;
[0013] 步骤4,检验每个手机用户的游逛店铺时间序列,判断顾客是否进店,并利用停留时间来剔除店铺工作人员,从而获得每天每个店铺的有效游逛顾客数,以及其进店、离店和游逛时间。
[0014] 上述步骤1中,根据商场平面图,选定店铺区域内任意一点作为目标点,由目标点向外扩展,将颜色相近得到像素点判断为店铺区域内,从而获得店铺区域边界。
[0015] 上述步骤1的详细内容是:
[0016] 步骤11,根据商场平面图获取每个像素点的坐标和RGB颜色值;
[0017] 步骤12,选定店铺区域内任意一点作为目标点,将该点上色为标识该店铺的唯一色;
[0018] 步骤13,从目标点出发,用迭代的方式扫描当前像素上下左右四个方向的邻近点,若某点的RGB颜色值满足相近色公式:|r-r0|+|g-g0|+|b-b0|≤thresh,其中,thresh为阈值,则将该点视为相近颜色点,认为该点与目标点属于同一店铺;若在扫描过程中,某个点的RGB颜色值不满足相近色公式,那么认为该点已经位于店铺外,停止该方向的扫描;然后对该点的4个邻近点再继续扫描,判断是否颜色相近,直到没有任何邻近点为颜色相近点,扫描结束;
[0019] 步骤14,记录各店铺所包含的像素点点集{Si},点Si对应坐标(xi,yi),以及该店铺ID及所在楼层。
[0020] 上述步骤13中,还将属于同一店铺的像素点均上色为同一颜色,且该颜色不同于商场平面图中已存在的任何颜色。
[0021] 上述步骤2的详细内容是:
[0022] 步骤21,用机器学习的方法对一定周期的数据进行定位坐标的聚类;
[0023] 步骤22,对所有该周期内的定位数据进行聚类计算,从而找到客户高频次定位的位置区域点集,设为{Ai},每一个Ai都对应一个坐标(xi,yi);
[0024] 步骤23,将商场平面图分割成栅格,找出区域点集{Ai}内的高频次定位栅格,满足条件为,栅格内所有定位数据个数占定位总数的一定百分比,将高频次栅格的坐标记为{AGi},每一个AGi都对应一个坐标(xi,yi);
[0025] 步骤24,对步骤23生成的每个高频次栅格的坐标集合{AGi},计算与标识的店铺区域像素点点集{Si}的距离,然后找到距离最小的店铺,保存为一个店铺ID列表{ASi};
[0026] 步骤25,再遍历店铺ID列表{ASi},从{AGi}中搜索出标记为属于店铺i的高频次栅格点的坐标点集{ADij},其中,i表示店铺ID,j表示高频次栅格点序号;对每一个店铺ID,对{Si}和{ADij}做交集处理,作为店铺i的有效像素点,并标记为唯一色,将所有像素点位置和颜色保存至文件shoplist中。
[0027] 上述步骤3的详细内容是:对实时采集的wifi定位数据进行进店打点,将每条wifi定位记录的坐标与文件shoplist中的像素坐标进行匹配,找到像素颜色值,根据该颜色值判断是否为已经标记的某店铺颜色,或者是无效颜色值,从而判断该记录的wifi坐标有没有进入某一家店铺,然后获得每个手机用户的定位时间序列。
[0028] 上述步骤4的详细内容是:对每个手机用户的定位时间序列进行漂移检验和时间连续性检验,如果该时间序列有足够长的时间在同一个店铺有效定位区域有足够多的wifi记录数,并且漂移出该店铺有效定位区域的定位坐标没有超过一定阈值,那么判定该用户在此时间段在游逛该店铺,从而得到当天有效游逛该店铺的顾客数,以及进店、离店和停留时间。
[0029] 上述判定手机用户进入某个店铺的条件是:
[0030] a)定义停留时间段D:
[0031] D=T2-T1
[0032] 其中,T1是进入店铺A有效区域的初始时刻,T2是离开店铺A有效区域的最后时刻;
[0033] 需满足:
[0034] 3
[0035] 参数α为最长客户逛店时间,如果超过该阈值,则判断为工作人员;
[0036] b)求得店内记录数比例Rn=count1/count2,其中,count1为店内wifi记录数,count2为停留时间段内所有wifi记录数,需满足:
[0037] Rn≥β
[0038] c)对店铺有效区域内定位wifi记录的连续时间记录取差分,即停留时间片段序列{di},计算停留时长比例Rt=sum({di})/D,需满足:
[0039] Rt≥γ。
[0040] 对α、β、γ进行优化,内容如下:
[0041] a)优化α,对每个店铺的所有MAC地址的停留时间段D做直方图分析,得到人数-时长的分布曲线,曲线的点序列为{(Ni,Di)},其中,Ni为人数,Di为递增的时长范围;
[0042] 根据该分布曲线判断合理的参数位置,估算得到店铺的工作人员人数为Ns,找到最小的Nj,使得Nj≥Ns,这样对应的Dj即为这家店铺的α的合理取值范围;
[0043] b)优化β,将所有店内记录数比例Rn的数据做直方图分析,得到序列{(Ni,Rni)},从直方图的分布形态,找到位于坐标轴左端,即Rn偏小的一端,如果出现小的峰值,则将其剔除掉,并取峰值的Rn作为优化后的β值;
[0044] c)优化γ,将所有停留时长比例Rt的数据做直方图分析,得到序列{(Ni,Rti)},从直方图的分布形态,找到位于坐标轴右端,即Rt偏大的一端,如果出现小的峰值,则将其剔除掉,并取峰值的Rt作为优化后的γ值。
[0045] 采用上述方案后,本发明的有益效果如下:
[0046] (1)本发明大幅提高了判断顾客是否进店的准确率,避免了直接用wifi定位结果来判断是否进店而带来的失误;
[0047] (2)现有方案需要靠人工来确认每个店铺的实际区域,并有人为的干预和纠正,而本发明利用机器学习的方法,大幅提高了判断店铺有效定位区域的效率。

附图说明

[0048] 图1是本发明的流程图;
[0049] 图2是自动识别店铺区域的示意图;
[0050] 图3是自动识别店铺有效定位区域的示意图。

具体实施方式

[0051] 以下将结合附图,对本发明的技术方案及有益效果进行详细说明。
[0052] 如图1所示,本发明提供一种基于wifi定位的进店顾客数据统计方法,包括如下步骤:
[0053] 步骤1,根据商场内的店铺品牌落位图,在预设阈值条件下,通过判断像素的颜色值与目标颜色是否足够相近,从而自动识别各店铺区域边界;
[0054] 对于每个店铺而言,具体包括如下步骤:
[0055] 步骤11,根据商场平面图获取每个像素点的坐标和RGB颜色值;
[0056] 步骤12,选定店铺区域内任意一点Px,y,将其RGB颜色值(r0,g0,b0)保存为color0,并将该点上色为标识该店铺的唯一色color1,其RGB颜色值为(r1,g1,b1),其中,r0∈[0,255],b0∈[0,255],g0∈[0,255],点Px,y的坐标为(x,y),x表示横坐标,y表示纵坐标;
[0057] 步骤13,扫描点Px,y上下左右四个方向的邻近点Px-1,y、Px,y-1、Px,y+1、Px+1,y,并判断邻近点的RGB颜色值是否满足相近色公式:|r-r0|+|g-g0|+|b-b0|≤thresh,其中,thresh为阈值,可以设定为20、30等,若满足,则将该邻近点视为相近颜色点,认为该点属于待分析店铺,将该点重新上色为(r1,g1,b1),(r1,g1,b1)不同于商场平面图已存在所有颜色,这样每一个店铺区域均可以使用唯一的颜色来标识;若某个邻近点不满足前述相近色公式,则认为该邻近点已经位于店铺外,则将该邻近点上色为非店铺区的颜色,比如纯黑色;对以上的相近颜色点重复上述内容,直至没有任何邻近点为颜色相近点或已经标识为店铺外的点(比如纯黑色),则扫描结束,至此该店铺区域的所有有效像素已经全部被标记上了店铺唯一色,而所有判断为店铺外的点也已上色为纯黑色;
[0058] 步骤14,输出重新上色后的新平面图,记各店铺所包含的像素点点集{Si},点Si对应坐标(xi,yi),其RGB颜色值为(ri,gi,bi),连同该店铺ID及所在楼层生成文件并保存,如图2中,中心区域为自动识别出来的地店铺区域;
[0059] 步骤2,通过机器学习的方法,利用一定周期内的wifi定位数据来找出顾客高频停留点,然后找出离高频停留点最近的店铺区域,将该店铺的有效游逛区域扩大为包含靠近的高频停留点,并用最小多边形来描述该店铺有效定位区域。将每个店铺的有效定位区域的多边形保存至一个数据文件中。
[0060] 具体包括如下步骤:
[0061] 步骤21,用机器学习的DBSCAN算法(密度聚类算法),可调用R语言算法库或者Python的scikit-learn的机器学习库实现,对一定周期(比如几周或几个月)的数据进行定位坐标的聚类,其中,定位数据记录的内容通常为:MAC地址,x坐标,y坐标,时间戳。
[0062] 步骤22,对所有该周期内的定位数据进行聚类计算,从而找到客户高频次定位的位置区域点集,设为{Ai},每一个Ai都对应一个坐标(xi,yi),表示一个独立的栅格。
[0063] 步骤23,将商场的新平面图分割成栅格,单位栅格的大小可以为物理距离的2~4米,然后找出区域点集{Ai}内的高频次定位栅格,满足条件为,栅格内所有定位数据个数占定位总数的一定百分比,比如2%,这样就确定了高频次栅格的坐标,记为{AGi},每一个AGi都对应一个坐标(xi,yi),表示一个独立的栅格。
[0064] 步骤24,基于步骤14生成的新平面图,对步骤23生成的每个高频次栅格的坐标集合{AGi},计算与标识的店铺区域像素点点集{Si}的距离,然后找到距离最小的店铺,保存为一个店铺ID列表{ASi},即每一个ASi坐标对应一个店铺ID。
[0065] 步骤25,再遍历店铺ID列表{ASi},从{AGi}中搜索出标记为属于店铺i的高频次栅格点的坐标点集{ADij},其中,i表示店铺ID,j表示高频次栅格点序号。对每一个店铺ID,对{Si}和{ADij}做交集处理,作为店铺i的有效像素点,并标记为唯一色,将所有像素点位置和颜色并保存至文件shoplist中。
[0066] 配合图3所示,是以一天内连续10小时数据为例,得到的店铺有效定位区域示意图,其中,长方形方框内的点表示不同顾客的定位坐标。
[0067] 步骤3,对每天采集的wifi定位数据进行有效定位区域判定,获得每个手机用户的游逛店铺的时间序列。
[0068] 具体来说,对实时采集的wifi定位数据进行进店打点,把每条wifi定位记录的坐标与文件shoplist中的像素坐标做匹配,找到像素颜色值,从该颜色值判断是否为已经标记的某店铺颜色,或者是无效颜色值,从而能判断该记录的wifi坐标有没有进入某一家店铺,然后获得每个手机用户的定位时间序列。
[0069] 打点结果可记为:MAC地址、楼层、店铺ID、时间戳,例如,如下是识别出的进店时间序列示例:
[0070] Mac地址,楼层,店铺,时间戳
[0071] MacX,2,Zara,16:07:06
[0072] MacX,2,Zara,16:07:20
[0073] MacX,2,Zara,16:07:34
[0074] MacX,2,Zara,16:10:08
[0075] MacX,2,Zara,16:10:50
[0076] MacX,2,Zara,16:11:04
[0077] 其中,MacX为该手机用户的手机MAC地址。
[0078] 步骤4,检验每个手机用户的游逛店铺时间序列,判断顾客是否进店,并可利用停留时间来剔除店铺工作人员,从而获得每天每个店铺的有效游逛顾客数,以及其进店、离店和游逛时间,将这些数据作为店铺经营的客流指标。
[0079] 对每个手机用户的定位时间序列进行漂移检验和时间连续性检验,如果该时间序列有足够长的时间(通常为数分钟)在同一个店铺有效定位区域有足够多的wifi记录数,并且漂移出该店铺有效定位区域的定位坐标没有超过一定阈值,那么可以判定该用户在此时间段是在游逛该店铺,从而得到当天有效游逛该店铺的顾客数,以及进入、离店和停留时间,保存至计算机中的顾客进店数据文件。
[0080] 对每一个MAC进某一个店铺A的判断条件(主要依赖3个阈值参数α、β、γ)如下:
[0081] a)定义停留时间段D(单位为分钟),
[0082] D=T2-T1
[0083] 其中,T1是进入店铺A有效区域的初始时刻,T2是离开店铺A有效区域的最后时刻;
[0084] 然后判断是否满足:
[0085] 3
[0086] 参数α为一个时长参数,为最长客户逛店时间,可根据不同店铺设定,比如1~2个小时。如果超过该阈值,则判断为工作人员。
[0087] b)求得店内记录数比例Rn=count1/count2,其中,count1为店内wifi记录数,count2为停留时间段内所有wifi记录数,判断是否满足以下条件:
[0088] Rn≥β
[0089] 保留满足前述条件的数据。
[0090] c)对店铺A有效区域内定位wifi记录的连续时间记录取差分,即停留时间片段序列{di},计算停留时长比例Rt=sum({di})/D,判断是否满足以下条件:
[0091] Rt≥γ
[0092] 保留满足前述条件的数据。
[0093] 其中,进店打点结果可记为:MAC地址、楼层、店铺ID、进店时间T1、离店时间T1、停留时间段D。
[0094] 步骤5,在实际操作中,对于步骤4中设置的阈值参数α、β、γ,可根据统计数据对其进行优化,由于每个商场的情况都会有所不同,优化的方法用到用一定周期(几周或者几个月)的进店打点数据,步骤如下:
[0095] a)优化参数α,对每个店铺的所有MAC地址的停留时间段D做一个直方图分析,得到人数-时长的分布曲线,曲线的点序列为{(Ni,Di)},其中,Ni为人数,Di为递增的时长范围(比如120分钟内可划分为,{[0,10],[10,20],[20,30],…,[110,120]}),也就是在时长范围Di内有多少人数游逛该店。
[0096] 根据该分布曲线判断合理的参数位置,由于店铺的工作人员人数可以通过估算得到,设为Ns,会与真实情况相近,找到最小的Nj,使得Nj≥Ns,这样对应的Dj即可作为这家店铺的α的合理取值范围。
[0097] b)优化参数β,将所有店内记录数比例Rn的数据做直方图分析,得到序列{(Ni,Rni)},从直方图的分布形态,找到位于坐标轴左端,即Rn偏小的一端(一般在介于0与0.2之间),如果出现小的峰值,则将其剔除掉,并取该峰值的Rn作为优化后的β值。
[0098] c)优化参数γ,将所有停留时长比例Rt的数据做直方图分析,得到序列{(Ni,Rti)},从直方图的分布形态,找到位于坐标轴右端,即Rt偏大的一端(一般在介于40分钟与60分钟之间),如果出现小的峰值,则将其剔除掉,并取峰值的Rt作为优化后的γ值。
[0099] 以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。