U7.06.4Comparison baselines must update in sync when the time range changes设计

时间范围变化时对比基准需同步更新

别名: 对比基准同步 · 同比环比联动

概念解释

仪表盘上的同比与环比数字依赖一个隐含的基准窗口:当用户把主图表从"最近 7 天"改为"最近 30 天"时,同比与环比的基准期也必须跟着改成对应的上一周期。如果基准期不动,用户看到的是主窗口的新数据配上旧窗口的基准——两个不同时间段的数字被并排呈现,百分比变化的含义已经不存在,但数字还在屏幕上,读者不会知道。

机制

问题的根源在于主窗口与基准窗口是两个独立的状态,而用户的心智模型只感知一个状态:"时间范围"。当实现里把两者分开存储时,任何只更新主窗口的交互都会造成静默的错位。用户没有做错任何事——控件被正确操作了——但屏幕上的百分比已经不再回答"这个周期比上个周期怎么样"这个问题。这种失真与统计口径不一致(延伸中的同组知识)同构:两个操作数各自度量不同的东西,计算照常执行,数值看起来正常。对策是让时间范围成为单一状态源:主窗口、基准窗口、以及任何依赖窗口的指标(聚合粒度、对比标注)全部从这个状态派生,交互层只修改这一个状态。

边界

并非所有基准都应该同步:如果用户显式设置了固定的对比期("始终与上个月对比"),主窗口变化时基准应该保持不动——此时"不更新"才是正确行为,关键是让用户知道基准是否跟随。复合场景下,主窗口拉长但基准窗口的可用数据不足(如主窗口改为 90 天但系统只存了 60 天历史),同步逻辑需要处理部分可比的情况并显式标注缺口。跨指标的基准同步还有粒度匹配问题:日级指标与月级指标的"上一周期"定义不同,联动时需要按各自粒度分别计算。

怎么落地

  • 时间范围控件修改时,联动更新所有依赖窗口的指标:同比、环比、对比线、聚合粒度,一次交互全部刷新。
  • 用户固定对比期的功能入口显式提供(如"锁定对比期"开关),激活时在图表上标注固定基准的日期范围。
  • 基准窗口数据不足时,在对比值旁显示"基准数据不完整"提示而非静默截断。
  • 验证:改一次时间范围,逐一核对屏幕上每个百分比数字对应的基准窗口起止日期是否同步移动;任何一个没动即是不同步实例。

延伸

  • 同组U7.06.1 默认时间范围决定绝大多数用户看到的结论 · U7.06.2 预设区间应覆盖常用周期并允许自定义 · U7.06.3 相对范围与绝对范围适用于不同的使用场景 · U7.06.5 当前生效的时间范围需与图表同屏可见
  • 相邻U7.05.5 基准期的统计口径必须与当期一致 · U7.05.2 环比受周期性干扰,同比消除周期但反应滞后
  • 站内检索comparison baseline sync · linked time range · crossfilter

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/U7.06.4