我们如何将糟糕的预测重塑为更好的预测(续)

在上一篇文章中,我讨论了出于收入预测的目的,人们如何构建一个大型而复杂的excel文件( 您可以在此处阅读 )。 我们决定干预这种耻辱,并建议重做预测模型,以减少错误,简化操作,并灵活调整。


所描述模型中的关键问题是什么:


  1. 数据,模型和视图被混合到一个实体中。 因此,至少一个元素的变化会破坏整个整体。
  2. 手工处理的计算量过大,这会导致大量错误和错别字。

我们的建议:


  1. 在初始模型中,构建它的初始数据没有出现在任何地方。 我们建议在Excel文件本身中以第二范式的格式将此数据输入到2个单独的工作表(销售和客户数量)中。 幸运的是,按月汇总的销售数据仅为数万条线,而不是数百万条。 我们还配置为使用Power Query直接从数据库接收此数据。
  2. 我们创建了一个建模表,其中包含3个块:
    • 收入数据透视表
    • 客户数量汇总表
    • 平均支票结算表
      每个数据透视表都是一个数据透视表,该数据透视表建立在源数据上,该数据以部门和单位当前模拟所需的详细信息以及所需的期间(月)详细信息为基础。
  3. 在仿真表中,我们基于历史时间序列构建了简单的预测模型。 我们扩展了客户数量和平均账单,并将总预测收入视为这些值的乘积。 审查数据后,我们提出了3种预测模型:过去期间的中位数,指数三次平滑和归零(当我们需要0个预测时)。
  4. 平均收据(事实)和收入(预测)的计算不是通过引用单元格进行的,而是使用VLR和偏移标记进行的,这使得计算可以抵抗初始数据的更改。
  5. 显然,用户现在无法读取该模型,因为 含义太多了。 为此,我们构建了单独的单元表。 每个工作表都有一个单元格,用于选择应在该工作表中汇总哪些数据。 基于VLOOKUP,我们将数据从模型表中提取到表中。
  6. 按照特殊程序完成了30张纸的创建。 首先,创建第一个工作表,一个单位,其中包含所有可能的部门名称。 如果某个细分中没有部门,则公式会将它们拉回到0。要创建所有30个细分,我们将创建重复项并更改控制单元格中的名称(用于生成VLOOKUP键),并且在演示文稿表格中有必要的数据。 如果您使用技巧,则VLOOKUP可以使用多个单元格作为键:使用连接(CLIP函数或&符号)将所需的单元格合并为一个单元格。
  7. 演示文稿表单中已添加一个元素,该元素使您可以控制模型:这是平均支票和支票号码预测值的简单因素。 该元素使用INDIRECT函数收集在特殊的技术资料上,使您可以使用生成的链接。 使用VLOOKUP将所有这些更正从本技术资料表转移到模型资料表中。
  8. 通用表不再是演示文稿表的总和,而是通过与模型表中的数据求和而以与所有其他表完全相同的方式构造的。 结果,表示是纯表示,并且它们之间没有依赖性。

我们得到了:


  1. 总是很清楚我们从哪几位获得数据(因为保存了电源查询查询)。
  2. 我们可以在不破坏模型的情况下更改数据。
  3. 结构和层次结构的更改将需要进行一些小的修改(您只需要在演示文稿的1张表中更改名称,然后使其重复即可)。
  4. 我们大大减少了潜在错误的数量,因为 大多数数据使用公式,链接和键填充。
  5. 客户收到一个交互式预测,他可以在其中自己更改值并立即接收预测。
  6. 我们能够同时满足每年和每月需要数据的要求。
  7. 可在下一个预算期使用。
  8. 如果我们认为不合适,可以更改预测模型。

为什么我们决定保留Excel,而没有在其他某些技术上重做呢?


  1. 我们需要将此文件保留在当前员工的操作中。 在Excel中,我们可以更轻松地显示所有工作原理以及可以解决的问题。
  2. Excel可以处理任务和其他解决方案-多余的实体。
  3. 客户习惯了这种形式,并“重新培训”了我们无法承受的某些人工成本。

我们花了多少时间:大约5个工作日,其中1个人每天花费2-4个小时,到了最后,我们对结果进行了审查。

Source: https://habr.com/ru/post/zh-CN424933/


All Articles