真实面经题目 · 原创解析
如何基于历史数据预测 60 天后的 DAU?
这题考数据分析师如何把“预测 60 天后的 DAU”做成严谨的时间序列和业务预测问题。高质量回答要覆盖目标口径、历史数据、特征、模型、验证、预测区间、业务事件和可解释交付。
真实面经题目 · 原创解析
这题考数据分析师如何把“预测 60 天后的 DAU”做成严谨的时间序列和业务预测问题。高质量回答要覆盖目标口径、历史数据、特征、模型、验证、预测区间、业务事件和可解释交付。
我会先明确预测对象:是预测第 60 天当天 DAU,还是未来 60 天每日 DAU 序列,还是 60 天后的平均 DAU;口径要固定端、地区、去重规则、活跃定义和统计时区。然后整理历史数据,包括每日 DAU、注册、回流、留存、渠道投放、版本发布、节假日、活动、内容供给、推送、外部事件和异常标记。建模上先做基线,例如最近 7/14/28 天移动平均、同星期均值、同比/环比季节性、分解模型或 ARIMA,再用机器学习模型如 GBDT 加入滞后特征、滚动统计、星期、节假日、活动和投放计划。验证不能随机切分,要用时间序列回测和滚动窗口,模拟真实地站在过去预测 60 天后,看 MAPE、MAE、RMSE、方向准确率和业务可接受误差。最终输出不能只给一个点估计,还要给预测区间、核心驱动因素、不同场景假设和风险说明,例如正常投放、活动加码、版本事故或渠道收缩。
DAU 必须先定义清楚,包括活跃行为、去重方式、端、地区、自然日时区、新老用户是否合并以及异常账号是否剔除。还要明确预测的是第 60 天当天、未来 60 天曲线,还是 60 天后的周期均值,不同目标对应不同建模方式。
基础数据包括每日 DAU、DNU、回流、留存、流失、使用时长、渠道、版本、活动、内容供给、推送和商业投放。只用一列历史 DAU 也能做时间序列,但很难解释变化;加入业务变量后,预测更容易转化为可行动建议。
在复杂模型前,应先做昨日值、过去 7 天均值、同星期均值、同比季节性、趋势加周期分解或 ARIMA。基线能判断问题难度,也能防止复杂模型只是过拟合历史噪声却没有超过简单方法。
常见特征包括 lag1、lag7、lag14、lag28,过去 7/14/30 天均值和增速,星期几、月初月末、节假日、活动日、版本发布、投放预算、渠道新增、内容供给和留存 cohort。60 天预测还要区分未来已知特征和未知特征。
数据较短或业务周期强时,统计时序模型和可解释分解模型更稳;数据较长且外生变量多时,可以用 GBDT 类模型做监督学习;多地区、多端、多产品共享规律时,可考虑层级模型或深度时序模型。面试回答要说明为什么选模型,而不是罗列算法名。
不能随机拆训练测试,因为未来信息会泄漏。应使用 rolling backtest,例如用过去一段训练,预测未来 60 天,再滑动窗口重复评估。指标可看 MAE、RMSE、MAPE、sMAPE、方向准确率和峰谷误差,并按工作日、周末、节假日、活动日切片。
业务决策通常不只需要一个数字,而需要可信区间、上中下三种场景、关键驱动因素和风险点。可以输出基准、乐观和保守预测,并说明投放、活动、版本、外部周期或供给变化对 DAU 的影响。
可以做,但不确定性很高。应优先用简单趋势和周周期基线,补充业务计划、节假日、投放和活动信息,并给出较宽预测区间,不要包装成高精度机器学习结论。
随机划分会让模型在训练时看到未来分布,尤其是周期、趋势和活动影响会泄漏。真实场景是站在今天预测未来,所以验证也必须按时间向前回测。
未知外生变量要场景化处理。可以使用已确定排期作为输入,对未确定部分设基准、乐观、保守三种假设,并说明 DAU 对投放和活动的敏感性。
先标记异常类型,判断它是可重复季节效应还是一次性冲击。可重复节假日应建特征,一次性事故可降权、剔除或单独建干预变量,避免污染长期趋势。
用趋势、周期、留存、新增、回流和活动贡献拆解预测。告诉业务哪些是假设输入,哪些是历史规律,哪些是最大不确定性,以及哪些动作最可能改变 60 天后的 DAU。