60 秒回答模板

我会先明确预测对象:是预测第 60 天当天 DAU,还是未来 60 天每日 DAU 序列,还是 60 天后的平均 DAU;口径要固定端、地区、去重规则、活跃定义和统计时区。然后整理历史数据,包括每日 DAU、注册、回流、留存、渠道投放、版本发布、节假日、活动、内容供给、推送、外部事件和异常标记。建模上先做基线,例如最近 7/14/28 天移动平均、同星期均值、同比/环比季节性、分解模型或 ARIMA,再用机器学习模型如 GBDT 加入滞后特征、滚动统计、星期、节假日、活动和投放计划。验证不能随机切分,要用时间序列回测和滚动窗口,模拟真实地站在过去预测 60 天后,看 MAPE、MAE、RMSE、方向准确率和业务可接受误差。最终输出不能只给一个点估计,还要给预测区间、核心驱动因素、不同场景假设和风险说明,例如正常投放、活动加码、版本事故或渠道收缩。

考点 目标口径
难度 真实面经题
回答目标 把 DAU 预测做成严谨的业务时间序列问题:先定义口径,再建特征和模型,用时间回测验证,并以区间和场景服务决策。

深入解析

01

先固定预测口径

DAU 必须先定义清楚,包括活跃行为、去重方式、端、地区、自然日时区、新老用户是否合并以及异常账号是否剔除。还要明确预测的是第 60 天当天、未来 60 天曲线,还是 60 天后的周期均值,不同目标对应不同建模方式。

02

历史数据覆盖机制

基础数据包括每日 DAU、DNU、回流、留存、流失、使用时长、渠道、版本、活动、内容供给、推送和商业投放。只用一列历史 DAU 也能做时间序列,但很难解释变化;加入业务变量后,预测更容易转化为可行动建议。

03

先建立可解释基线

在复杂模型前,应先做昨日值、过去 7 天均值、同星期均值、同比季节性、趋势加周期分解或 ARIMA。基线能判断问题难度,也能防止复杂模型只是过拟合历史噪声却没有超过简单方法。

04

构造时序和业务特征

常见特征包括 lag1、lag7、lag14、lag28,过去 7/14/30 天均值和增速,星期几、月初月末、节假日、活动日、版本发布、投放预算、渠道新增、内容供给和留存 cohort。60 天预测还要区分未来已知特征和未知特征。

05

模型选择看数据条件

数据较短或业务周期强时,统计时序模型和可解释分解模型更稳;数据较长且外生变量多时,可以用 GBDT 类模型做监督学习;多地区、多端、多产品共享规律时,可考虑层级模型或深度时序模型。面试回答要说明为什么选模型,而不是罗列算法名。

06

验证必须模拟真实预测

不能随机拆训练测试,因为未来信息会泄漏。应使用 rolling backtest,例如用过去一段训练,预测未来 60 天,再滑动窗口重复评估。指标可看 MAE、RMSE、MAPE、sMAPE、方向准确率和峰谷误差,并按工作日、周末、节假日、活动日切片。

07

交付包含区间和场景

业务决策通常不只需要一个数字,而需要可信区间、上中下三种场景、关键驱动因素和风险点。可以输出基准、乐观和保守预测,并说明投放、活动、版本、外部周期或供给变化对 DAU 的影响。

易错点

  • 不定义 DAU 口径和预测目标,直接开始建模。
  • 随机切分训练集和测试集,造成未来信息泄漏。
  • 只用复杂模型,不和移动平均、同星期、季节性等简单基线比较。
  • 忽略节假日、活动、版本、投放和外部事件,导致预测无法解释。
  • 只输出一个点估计,没有预测区间、场景假设和风险说明。
  • 用整体误差掩盖关键切片,在周末、节假日、活动日或新老用户上误差很大却不分析。

面试官追问

如果只有 90 天历史 DAU,能不能预测 60 天后?

可以做,但不确定性很高。应优先用简单趋势和周周期基线,补充业务计划、节假日、投放和活动信息,并给出较宽预测区间,不要包装成高精度机器学习结论。

为什么不能随机划分训练集和测试集?

随机划分会让模型在训练时看到未来分布,尤其是周期、趋势和活动影响会泄漏。真实场景是站在今天预测未来,所以验证也必须按时间向前回测。

60 天预测里未来投放和活动未知怎么办?

未知外生变量要场景化处理。可以使用已确定排期作为输入,对未确定部分设基准、乐观、保守三种假设,并说明 DAU 对投放和活动的敏感性。

如何处理春节、版本事故或大促这类异常点?

先标记异常类型,判断它是可重复季节效应还是一次性冲击。可重复节假日应建特征,一次性事故可降权、剔除或单独建干预变量,避免污染长期趋势。

如何向业务解释模型预测结果?

用趋势、周期、留存、新增、回流和活动贡献拆解预测。告诉业务哪些是假设输入,哪些是历史规律,哪些是最大不确定性,以及哪些动作最可能改变 60 天后的 DAU。