收入預測
收入預測
收入是多種因素相互作用的結果:內容/產品供應,用戶行為,價格和促銷,外部條件(假期,體育活動,貨幣匯率,監管變化)。可靠的預測不是一個「模型」,而是受控的輪廓:定義→數據→模型→情景→操作→對賬→改進。
1)任務設置
預計為:毛收入(GGR),凈收入(Net),獎金/傭金後的收入,基本貨幣和本地貨幣。
地平線/步驟:每日/每周/每月;用於計劃票房缺口-白天,預算-月/季度。
預測單位:品牌×國家×平臺×渠道(最低),然後在層次結構上達成一致。
目的:預算編制,流量/內容采購,基礎設施限制,財務契約。
錯誤價格:過度疲勞(錯過需求/不適應)與過度疲勞(不必要的采購/重新安排)。
2)定義並與財務回路保持一致
公式:GGR,Net,扣除(稅收,獎金,Athiliate傭金)-在語義層中轉換。
日歷:UTC存儲+本地視圖;假日/工資日;體育賽程(如果相關)。
外匯政策:匯率來源,轉換日期(交易日期/期中匯率),單一基準貨幣。
對賬:與會計的強制性重新分配程序(在允許的範圍內存在差異)。
3)對司機的收入解構
基本公式為:[
\text{收入}=\text {流量}\times\text {轉換}\times\text {頻率}\times\text {Middle Check}
]
流量/活動:用戶/會議/登錄。
轉換:付費的比例,CR到目標事件。
頻率:支付期/支付期的交易數量。
平均支票:平均交易金額(考慮獎金/折扣)。
建議分別預測驅動程序,然後收集復合材料以查看因素的貢獻(計劃-事實橋)。
4)數據和回歸器
時間序列:按預測單位計算的白天/周總量。
X回應器:- 促銷/獎金(強度、類型、覆蓋範圍);
- 營銷成本/壓制/點擊;
- 內容內容(版本,錦標賽,主要比賽);
- 價格/限額/目錄變動;
- FX/通脹,天氣/日歷(如果受到影響);
- 監管事件(限制/解凍)。
- 異常/單次關閉:標記,不要默默地「平滑」。
- 缺失:僅使用預測時可用的信息。
5)建模
5.1個Beislines
Naive/Seasonal Naive/Drive-誠實評估是強制性的。
5.2經典行列
ETS/ARIMA/SARIMA,TBATS(多季節),Prophet(假期快速開始)。
5.3 Repressors
ARIMAX/ETS+X,日歷動態回歸和促銷/FX。
5.4多敘利亞/表格
LightGBM/XGBoost/帶有滯後/窗口/日歷的線性;
投資組合和長X的節奏NN(TFT,N-Beats)。
5.5概率
量子回歸(pinball),Student-t/Gaussian預測,區間量子集合(q10/q50/q90)。
5.6層次結構和匹配
strana→brend→kanal→platforma結構的Bottom-Up/Top-Down/MinT(最佳錯誤匹配)。
6)具體收入指標
分數/比率(保證金,傭金):分別對分子/分母進行建模,然後進行合成。
互換組件(chargeback,high-roller):Croston/TSB,零註入,帶有分量的單個組件。
自相殘殺:在推出新促銷活動/產品時,模擬各細分市場(多市場模型或受限回歸器)之間的流動。
按價格/獎金計算的彈性:用於系數估計的模型日誌記錄/銅鑼估值(DiD/SC),然後是什麼。
7)質量評估和背景測試
分割:滾動/外帶起源的季節性倍數(周/月)。
級別指標:WAPE/sMAPE(耐零),MAE/RMSE。
概率: pinball loss, coverage 80/95% interval.
穩定性: 細分/假期/頻道錯誤;out-of-time.
徽章規則:模型必須在關鍵水平上超越Seasonal Naive。
8)情景和不確定性
Quantili: q10/q50/q90 →「悲觀主義者/基數/樂觀主義者」。
情景X:「無促銷/無促銷」,「FX ± 10%」,「主要活動」,「監管限制」。
元參數風險:彈性和季節性變化的壓力測試。
風險成本:通過有條件的短途計劃計劃(對低負荷/過重負荷的懲罰是不對稱的)。
9)計劃事實和因素的貢獻(收入橋)
展示橋梁:趨勢+季節性+促銷+價格/限值+FX+沖擊/事件→最終偏差。這增強了信心,並有助於采取行動(增加預算,轉移促銷活動,改變價格)。
10) MLOps和操作
日程安排:每日預測-T+1至06:00 lock。每周一次,每周一次;每月-T+1/T+3。
工件:fichestor(在線/線下平價),模型註冊表,收入公式版本。
監視:WAPE/覆蓋窗口,PSI特征漂移,支線延遲,生成SLA。
Alerts:錯誤增長>閾值、未校準的間隔、層次結構不一致。
失敗安全:回滾到ETS/Seasonal Naive;假期高峰時的凍結模式。
滯後:不同的開關閾值,以免出現「閃爍」。
對賬:每日/每周與財務報表重新對賬。
11)工件模板
A.收入預測護照
KPI: `NET_REVENUE_EUR_v3`
地平線/步驟: 8周/天
單位: 品牌×國家×平臺×渠道;reconciliation: MinT
Регрессоры: `promo_spend`, `content_event_flag`, `price_index`, `fx_rate`, `holiday`
模型: 「ARIMAX_v2」+「LightGBM_Quantiles_v4」(合奏,q10/50/90)
目標: WAPE ≤ 8%(每日)、coverage 90% interval ≥ 85%
SLO: 06:00後產生≤ 10分鐘;數據差≤ 1小時
所有者: 金融與增長分析;修訂日期、版本
B.決策就緒報告(骨架)
標題: 「收入,8周預測:q10/q50/q90」
風險: 第3周-21%的低血壓(預期的shortfall-X-Y)
貢獻因素: +假期,+內容活動,− FX, −取消促銷活動
建議: 增加A/B國家的促銷活動,轉移股票,對沖外匯指數
python
1) load y = load_revenue_series(grain=['brand','country','platform','channel'], step='D')
X = load_regressors(['promo_spend','content_event','price_idx','fx_rate','holiday'])
2) features ds = make_lags(y, lags=[1,7,14,28])
ds = add_rolling_stats(ds, windows=[7,14,28])
ds = join_regressors(ds, X)
3) cv cv = rolling_backtest(ds, folds=6, horizon=28, step=7)
4) models m_baseline = ETS(). fit(ds. train)
m_gbm = LGBMQuantiles(q=[0. 1,0. 5,0. 9]). fit(ds. train)
m_arimax = ARIMAX(). fit(ds. train)
5) evaluate & ensemble scores = evaluate([m_baseline,m_gbm,m_arimax], cv, metrics=['WAPE','pinball'])
best = ensemble_quantiles([m_gbm,m_arimax])
6) reconcile & publish f = reconcile_minT(forecast(best), hierarchy=['country','brand','platform','channel'])
publish(f, sla='06:10', owners=['Finance','Growth'])
12)頻繁的錯誤和反模式
在零/低值下使用MAPE:使用WAPE/sMAPE。
平均平均值:聚合分子/分母而不是平均段百分比。
忽略日歷/內容/FX:沒有回歸器,預測將「失明」。
Liki:未來的fichi或火車調整後的事實。
層次結構不一致:總和不收斂→應用重新計算。
沒有失敗的安全性:模型在假期中「漂浮」。
缺少swerks:預測與管理/buchuchet無關。
13)發行前的支票清單
- 收入和扣除的定義已經商定和確定
- 日歷/FX/反應器連接和測試
- Beizlines在反擊中被擊敗;WAPE/覆蓋目標已實現
- 校準間距;「悲觀主義者/基數/樂觀主義者」情景
- 分層預測一致(MinT/Top-Down)
- MLOps:時間表,監控,alerts, fail-safe, runibook
- 與金融監管/會計進行每日/每周對賬
- 「決策就緒」報告,其中包含一系列因素和建議
底線
收入預測是一致的定義+驅動衰減+概率和分層模型+情景和間隔+紀律嚴明的MLOps和對賬。這樣的輪廓使「按計劃占蔔」成為一種預算規劃,營銷和運營工具,具有可理解的風險成本和透明的行動。