在这里插入图片描述

引言
   周权重指数的概念先不说,先看下图(单位:万元)
在这里插入图片描述
  很明显最右边的方式能很快反映出一大个表格数据的比例情况,也更便于推广。

  周权重指数是以某段销售周期内的历史日销售额数据为基础,以周为单位,进行权重分析处理的一种管理工具。周权重指数是一个相对的概念,每个企业都不尽相同,一般介于 7.0 ~ 14.0 之间。值越大表示该企业或者店铺的日销售额波动幅度越大。周权重指数是零售店铺用来量化处理各种销售状况、销售事件的管理工具,非常强大。

   周权重指数计算简单,但其反映出的问题和其应用却相当不简单,是将业务融合进数据分析的基础。老板给你一份公司成都四家 ZARA 的2020年每日销售数据,要求我们从每日销售额的角度找出一些规律,出于不浪费双方时间的角度,分析结果只允许画在一张图中。

  根据需求,周权重指数表便是一个很不错的选择。事不宜迟,快开始,本文含精美快捷可视化和数据处理。


公式

星期N的日权重指数

= (星期N的平均日销售额 ÷ 平均周销售额)× 企业周权重指数

  讲解完毕,不算难,只是一个比例问题,关键就看企业是否已经有了确定的周权重指数(正常都会有),没有的话我们通常把平均日销售额最小的那天设置为 1.0。本博文侧重代码/可视化实现和应用方面,所以请继续往下


实战效果

在这里插入图片描述
在这里插入图片描述

有点骚的可视化
在这里插入图片描述
静态图
在这里插入图片描述
它动起来了!
在这里插入图片描述


业务应用(重要)

  实战中的数据是笔者自己构造的,现实生活中的周权重指数的分布一般为如下几种,我们可以根据权重指数值的高低来安排店铺的员工排班(后续博文会出如何排班的)、安排店铺的陈列调整时间、部署送货时间窗口等。

在这里插入图片描述
  比如右上角的分店陈列换装时间定在星期三就不合适,星期三对它来说是销售高峰,应该尽量不要安排可能影响销售的事情。同理,在该店周三上班的店员应该是一周中最多的,而相反周一应该是最少的。另外,左上角分店安排周四送货,右下角店铺周一送货最好。

  拓展一下:我们还可以猜猜这些图大多会出现在哪些场景呢?

  • 如果门店在周末两天的权重指数合计占比较少的话,这个店铺很可能是位于写字楼区域内,因为这个时段正好是写字楼周末休息的时间。
  • 若周五到周日的权重指数合计占到了70%,说明该分店的销售过于集中。

  哪些行业可能具有这些以周为单位循环的规律?

  • 传统零售业:包括百货商场,超市,便利店等
  • 各种专卖店
  • 以普通消费者为对象的电子商务模式,包括B2C,C2C等
  • 售卖服务的也太,如火车站,汽车站,电影院,饭店,旅游景点等

  以售卖服务为主的业态,比如手机营运商的营业厅,可能不会产生销售额,这时候我们就可以利用日客流量为基础数据进行计算。其他如呼叫中心可用电话接通数的数据,电子商务网站可用访问量数据(后续ab测试案例函数)。


源码呈现(重点)

里面的一些定位语句如 data[‘Fri’] 也可以根据现实需求改造成 iloc 来定位,这样也可能更准确

import pandas as pd
import numpy as np
# 提高输出效率库
from IPython.core.interactiveshell import InteractiveShell # 实现 notebook 的多行输出
InteractiveShell.ast_node_interactivity = 'all' #默认为'last'

# ---------------------- 周权重指数 -----------------------------
def weightCreated(data, standard=None):
    """ 传入指定格式的数据,返回该分店的周权重表,可自定义标准 """
    daily_mean = {'Mon': np.mean(data['Mon']), 'Tue': np.mean(data['Tue'])
                  , 'Wed': np.mean(data['Wed']), 'Thu': np.mean(data['Thu'])
                  , 'Fri': np.mean(data['Fri']), 'Sau': np.mean(data['Sau'])
                  , 'Sun': np.mean(data['Sun'])}
    weight_index = ['平均日销售额', '日销售权重指数']
    weight_columns = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sau', 'Sun']
    weight = pd.DataFrame(data=daily_mean, 
                          index=weight_index, columns=weight_columns)
    weight['Total'] = np.sum(weight.loc['平均日销售额', :])

    if standard:
        weight.loc['日销售权重指数', :] = \
    weight.loc['平均日销售额', :]*standard / weight.loc['平均日销售额', 'Total']
        return weight
    
    # 若没有标准将销售中销售额最低一天的数据的日权重指数设置为 1.0,其余参照
    base = weight.iloc[0, :].min()
    weight.loc['日销售权重指数', :] = weight.loc['平均日销售额', :] / base

    return weight


你可能还喜欢

精彩回顾

延伸阅读

Logo

永洪科技,致力于打造全球领先的数据技术厂商,具备从数据应用方案咨询、BI、AIGC智能分析、数字孪生、数据资产、数据治理、数据实施的端到端大数据价值服务能力。

更多推荐