首页/数据/数仓建模速查/累计指标:MTD、QTD、YTD
指标体系63 条

累计指标:MTD、QTD、YTD

累计指标=期间起点到统计日的累计,起点由自然周期决定;实现时用「期间起点列」或累计求和,月末与年初边界要专项测试。

数仓建模速查数据更新于 2026-10-13

累计指标的定义

累计指标是期间起点到统计日的累计值:MTD 从月初累计,QTD 从季初累计,YTD 从年初累计。起点由自然周期决定,跨周期必须重置。实现上有两种写法:用期间起点过滤后求和,或对日粒度数据做窗口累计求和,月初与年初的边界要专项测试。

基本信息

MTD月初到统计日的累计值
QTD季初到统计日的累计值
YTD年初到统计日的累计值
实现方式期间起点过滤求和,或窗口函数逐日累加
边界注意跨月、跨季、跨年必须重置,闰年单独验证

典型使用场景

  • 经营看板:本月累计收入、本季累计销量与目标做达成率对比
  • 财务月报:MTD 与 YTD 并列展示,支撑同比分析
  • 任务进度:YTD 完成量与全年目标对比,判断进度是否落后
  • 时序曲线:按日画累计曲线,用斜率变化判断趋势拐点
  • 交叉校验:年末 YTD 值应等于全年各日之和,可用来反向验证

MTD 与 YTD 的实现

MTD 与 YTD 的实现
-- 窗口累计:按自然月与自然年分组逐日累加
SELECT
  dt,
  sum(pay_amt) OVER (PARTITION BY substr(dt, 1, 7) ORDER BY dt) AS mtd,
  sum(pay_amt) OVER (PARTITION BY substr(dt, 1, 4) ORDER BY dt) AS ytd
FROM dws_pay_day
WHERE dt <= '2026-10-11';

-- 起点过滤写法:直接指定期间起点
SELECT sum(pay_amt) AS mtd
FROM dws_pay_day
WHERE dt BETWEEN '2026-10-01' AND '2026-10-11';

三种累计口径

口径起点重置时点
MTD当月 1 日跨自然月重置
QTD当季首月 1 日跨自然季重置
YTD当年 1 月 1 日跨自然年重置
累计指标与近 N 日不是同一件事:YTD 与近 365 天在年初差距最大,对账前先确认窗口类型,再比较数值。
窗口累计依赖分区顺序:补数后要重跑整个区间,只重算单日会让累计列与明细不一致,曲线上出现无法解释的台阶。
累计值对比要固定基准:拿月中 MTD 与上月整月对比会得出严重下滑的错觉,与上月同日对比才反映真实变化,报表上要写明用的是哪一种。

易错点

  • 把 MTD 与滚动 30 天混用:月月对不上,月份长度不同时偏差更大
  • 跨年累计未重置:YTD 异常放大,年初指标直接翻倍
  • 起点写死为年初却按月统计:季度与月度口径互相污染
  • 补数后只重算单日不重跑区间:累计列与明细不一致
  • 累计结果落库后不保留重算逻辑:差异出现时无法回溯计算过程
  • 把不同起点口径的累计值拼在同一张报表:MTD 与 YTD 混列展示,读者误当同一量级比较

数据来源与参考

  • 指标实践:累计型指标
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌