一名游戏玩家最近的得分表现改变了,累计平均值却只移动一点,未必是统计没有更新。Steamworks的Stats and Achievements文档,专门用这一情形解释AVGRATE。[1] 它讨论的是平均值覆盖哪段经历,而不是给某位真实玩家出具能力评价。

文档先介绍一种累计办法:保存总得分与总游玩时长,再相除得到每小时得分。随着已有时长越来越多,新增一段表现相对于全部历史所占的部分变小,所得平均值也会越来越缓慢地响应变化。原文用这个关系指出,长时间积累后的平均数,不一定明显呈现玩家最近的进步。

可以用一个仅作逻辑说明的对比理解:两份记录都加入一段新的得分过程,一份先前历史较短,另一份已有很长历史。即使新增过程相同,它们在各自累计资料中所占比例也可能不同。这是假设分析,没有计算玩家数据,也不证明任何实际游戏已经漏记或延迟。它说明变化较小可以与统计覆盖的历史长度有关。

AVGRATE被原文列为moving average,并用滑动窗口说明其用途。文档让最近若干小时的游戏过程参与当前统计,以便与近期表现联系得更紧。窗口因而不是单纯换一个平均值名称,而是在说明哪些时间范围影响结果。只写“平均每小时得分”,却没有交代采用累计历史还是近期窗口,会让两个不同口径看起来像同一项数值。

原文的具体示例使用二十小时窗口,这只是为解释实现关系选取的例子。本篇不把它推荐为每款游戏的统一配置,也不照抄SDK调用。窗口长度改变,会改变资料所描述的时间范围;这并没有在来源中被写成任意一种选择都必然更公平,或都能完整代表玩家技能。

时间单位同样不能省略。文档强调,若平均值按小时表达,窗口与对应的一段统计时长也要使用小时;可以采用其他时间单位,但两者应保持一致。一个“20”的数字,没有单位就不能独自说明是二十小时还是另一段长度。资料整理者保留对象、窗口和单位,才能让平均数的口径可理解。

本篇采用Steamworks公开文档的AVGRATE概念段及相邻统计定义,网页首次发布日期未知,没有连接玩家账号、编写代码或更新后台。它不保证同步、成就解锁、游戏收益或测试效果。能够据原文解释的是:累计历史与近期窗口回答不同时间范围的问题,平均值变化应先放回这一范围中读。

信息来源

本文基于上述公开资料整理,未使用来源页面的图片、视频或嵌入媒体。