门店分群半自动算法

门店分群是零售从业者关注的越来越多的一个问题,但是网上基本找不到对针对这个问题的系统性分析文章,尤其是中文资料基本是一片空白,所以把这个问题深入的剖析一下挺有意义。

为什么要对门店进行分群

当一个零售品牌铺开了几百家乃至上千家门店之后就会发现门店之间的差异化越来越大,这不仅体现在门店的整体销售能力和周转天数上,还体现在不同品类之间的销售差异,销售最好的门店也有自己的弱势品类,而销售再差的门店也可能有自己的强势品类。

正如线上电商实现了千人千面,线下零售也会考虑千店千面的精细化运营,千店千面的实现不可能像线上商城一样随时发生改变,它依赖于前置的商品企划个性化,即单店企划。本质上来说千人千面和千店千面的目的都是一样的,只是实现方式路径不同,因为线上是中心化流量与中心化动态场的结合,而线下是分布式流量与分布式静态场的结合。千店千面等同于千人千面,因为个性化的门店是因人而设的,即用个性化的商品去满足门店覆盖人群的差异化需求。


门店分群半自动算法_第1张图片
image.png

现在来看看answers.com上的一段解释:

“Retail store clustering is a process that applies statistical grouping algorithms to data associated with stores and results in groups of stores where stores in a group are more similar to each other and less similar to stores in other groups.
The purpose of this scientific approach to grouping is to identify opportunities to to tailor merchandise assortments to better serve the consumers around each particular store without having to have a unique assortment in each particular store (which becomes increasingly unmanageable as the number of stores increases).“

字面意思是根据门店特征分组,定制个性化的货盘最大化满足消费者需求,同时又不用针对每个门店做出计划,因为当店铺数量增多时这样操作难于管理。为了实现千店千面,最理想的状态是实现单店企划,但是因为这样的操作成本太高,所以退而求其次找到一个中间的解决办法,对门店分群,既提升了计划的精准度,又不会让操作的复杂度上升太多, 真的是这样吗?

零售公司的商品企划有三种模式

  1. 单纯的自上而下的总部企划,只有一个货盘通配下发门店,类似计划经济。
  2. 彻底的自下而上的单店企划,将每个门店的需求汇总成整体的货盘,类似市场经济。
  3. 混合模式,总部企划占比较多,留给单店企划部分个性化调整的空间。

店群企划也算是单店企划的一个过渡方案,门店数量引发的高复杂度是对于人工决策而言的,对于系统来说,一百家店和一万家店的逻辑是一样的,无非计算时间少许增加而已,那么门店分群到底意义何在? 这应该是商品企划精细化运作的一种手段,商品企划是为了满足未来的需求所作的商品规划,而商品所覆盖的门店数量是一直处于变化之中的,通过历史数据计算未来需求遇到的一大变数就是铺店数的变化,如果未来计划要覆盖的门店没有目标商品的历史销售数据怎么办?

这和推荐算法其实是一个道理,因为啤酒和尿片在销售订单中呈现强相关性,所以要给买啤酒的用户推荐尿片,目标门店虽然没有卖过某件商品,但是可以通过找出和它相似的门店来推算出此商品在目标门店的销量。又或者某个商品全新上市,可以通过其所属品类来推算这个新商品的销量。

精简概括一下,门店分群的目的就是为了提升商品企划的精细化程度,结合门店的个性化特征对未来需求做出更精准的估算。

门店分群的方式

分别从人货场维度出发,门店分群可以有三种划分:

  1. 基于门店特征分群
  • 地理区域/温带 - 华北/东北/华南/西南/华东/华中
  • 地区类型 - 商业区, 居民区, 工业区, 城乡结合部等
  • 面积与销售
    地区类型划分我们做过一次尝试,虽然能看到一些明显的差异特征,但是门店分布过于集中(和品牌定位有关系,主要都开在优质shopping mall了),区分度不大所以价值也不太大。
  1. 基于用户特征分群
    人口统计 - 年龄, 性别,收入,教育水平,人生阶段
    存量用户的特征会在订单上体现,潜在用户的画像需要打通外部关联数据,当然这又要不少银子滴,暂时先放一放。

以上两者都属于静态分群,最多一个季度调整一次就好了。

  1. 基于品类特征分群
    计算针对单店的品类销售指数来界定各品类在门店的适卖度,以此来划分店群。
    这是一种动态分群,不但变动频率高,而且在同一时间点针对不同的品类有不同的店群划分。

比较实际又易于操作的店群划分可以按照以下三步走的思路来尝试:


门店分群半自动算法_第2张图片
三步分群

如果我们给门店统一设置一个周转天数的话,销售将决定门店的库存水位,所以第一层聚类先按销售来划分。库存水位固定之后要决定货盘的宽度和深度比例,这个时候可以用门店面积来做第二层聚类,面积大的门店铺货宽度自然也要相应提升。最后,在水位固定且宽度深度也确定之后还可能会有品类结构的占比差异,用品类销售指数能进一步确定结构性差异。

静态分群的自动化
按照面积和销售来分群的时候首先需要思考我们到底分几个群好? 这几刀且在什么位置比较合适? 先把面积与销售数据可视化成散点图出来看看(以下将隐藏销售数值但保留面积数值)

门店分群半自动算法_第3张图片
image.png

如果直接对这个二维散点聚类,就是画圈圈了,我要独立的针对两个维度分别聚类再组合起来,那就是画格子了。

我们年轻的数据主任提供了一个思路,因为用K-Means做聚类追求的目标是“群内差异小,群间差异大”,对一个群来说,所以样本点到中间点的距离之和越小则群内样本越相似,通过欧式距离计算得到一个整体平方和Total Inertia, 做一个循环从分2个群到分20个群,观察inertia的变化来决定分几个群比较合适。


门店分群半自动算法_第4张图片
source code

先用门店面积的数据跑下Python画图,看起来分五个组左右也就差不多了,销售数据也可以这么分析一下。


门店分群半自动算法_第5张图片
Size Inertia

接下来在散点图上循环画格子看看效果如何


门店分群半自动算法_第6张图片
source code

代码生成了一系列画格子方案,其中面积切四刀(分五组)的结果和以前的人工分组还比较接近。这并非意味着我们就要把门店分成25个群,在此基础上人工还可以做些调整,比如顶部红色的销售切分线间距过近,可以合并一下减少5组。


门店分群半自动算法_第7张图片
切四刀

静态分群先到这里,下一篇继续聊聊基于品类销售指数的动态分群方法。

References:
Retail Clustering Methods

你可能感兴趣的:(门店分群半自动算法)