跳转到内容

构建分摊模型

本教程将带您在 PlaidCloud 中构建一个完整的成本分摊。完成后,您将拥有一个可用的模型,它使用驱动因素数据将成本池分摊到目标维度上,这是作业成本法、IT 内部结算和共享服务分配的基础。

大约需要一小时。分摊是 PlaidCloud 最具特色的功能,这是理解该模型的最佳方式。

按各业务单元的用户数加权,将 IT 部门的总成本分摊到各业务单元。

IT cost table → ┐
├→ Allocation step → results table
User counts → ┤ (driver-based)
┘
↑
Business unit dimension
  • 一个 PlaidCloud 工作区(如果没有,请开始免费试用)
  • 一个已包含以下内容或能够导入以下内容的项目:
    • 待分摊值:按月的 IT 成本,可以是总额或按子类别
    • 驱动因素数据:按业务单元的用户数
    • 一个维度:业务单元的层次结构(单元 → 事业部 → 公司)
  • 熟悉概念:工作区、项目、工作流、维度、分摊

确认项目中有以下三项:

对象 包含的内容
it_cost 表 IT 总成本(例如每月一行,附带金额)
users_by_bu 表 每个业务单元一行,带有 user_count 列
business_units 维度 业务单元的层次结构,其叶节点与 users_by_bu 中的单元名称匹配

如果缺少任何内容,请先通过工作流加载,再继续。

  1. 打开项目,切换到工作流选项卡。
  2. 单击新建工作流,命名为“IT Cost Allocation”。
  3. 在工作流资源管理器中打开新建的工作流。
  1. 从分摊类别添加一个新步骤,选择 Allocation Rules,这是最灵活的选项。
  2. 配置源:
    • 源表:it_cost
    • 源金额列:包含美元金额的列
  3. 配置驱动因素:
    • 驱动因素表:users_by_bu
    • 驱动因素值列:user_count
    • 驱动因素匹配列:包含业务单元名称的列
  4. 配置目标:
    • 目标维度:business_units
    • 目标层级:选择要分摊到层次结构的哪一层(通常是叶级)
  5. 配置输出:
    • 结果表:it_cost_allocated
  1. 运行该步骤。
  2. 打开表选项卡,进入 it_cost_allocated。
  3. 每一行代表流向一个业务单元的一份成本。各列包括:
    • 源金额(例如当月的 IT 总成本)
    • 目标业务单元
    • 所用的驱动因素值(该单元的用户数)
    • 分摊比率(用户数 ÷ 所有单元的用户总数)
    • 分摊金额(源金额 × 比率)

每个分摊都应通过三项检查:

  1. 总额核对:分摊金额之和等于源总额(在舍入容差范围内)
  2. 比率之和:每个源行的分摊比率之和为 1.0(即 100%)
  3. 覆盖范围:维度中应获得一份成本的每个业务单元确实都获得了

分摊结果指南提供了完整的核实清单。

如果结果有误,最常见的问题是:

  • 缺少驱动因素数据:维度中的某个业务单元在 users_by_bu 中没有对应行,将不会获得分摊
  • 名称不匹配:驱动因素表中是“Sales East”,而维度中是“Sales-East”(空格或大小写不同将无法匹配)
  • 驱动因素为零或为负:会产生零值或意外的分摊结果

结果表与任何其他 PlaidCloud 表一样,可以:

  • 在后续的工作流步骤中与其他表联接(例如,向总账添加一列完全分摊后的成本)
  • 发布给仪表板或外部使用者
  • 作为下一轮分摊的源进行再次分摊(用于级联模型)

基本模型运行正常后,常见的扩展方式如下:

  • 多个成本池:将单个 it_cost 行替换为每个 IT 子类别(计算、存储、许可)各一行,并使用不同的驱动因素分别独立分摊
  • 多期间:按月对源进行分区,并为每个期间生成一个分摊结果
  • 分层分摊:先将事业部的间接费用分摊到单元,再将单元成本分摊到产品,然后将产品成本分摊到客户,每一层都是独立的分摊步骤
  • 递归分摊:当共享服务相互消耗时(IT 服务于人力资源,人力资源也服务于 IT),参见递归分摊
  • 基于规则的分配:当分摊取决于多个驱动因素并因源而异时,请使用引导式构建器编写分摊维度,而不是连接单个驱动因素表,参见创建分摊维度