量化分析報告 · v2.0

Steam 成人向遊戲上市時機量化分析

基於 Google TimesFM 2.5(2026-03-31 發布)深度時序預測模型, 結合 Steam 官方上架與玩家回饋資料, 評估未來 180 日內成人向遊戲之最佳上市時機與競爭密度。

發布日期
2026-04-20
資料範圍
2023 至 2025 年 上架作品
樣本規模
668 款 · 555,127 筆玩家評論
預測模型
Google TimesFM 2.5-200m
預測週期
26 週 / 180 日

01 · 執行摘要Executive Summary

本研究針對 2023 年 1 月至 2025 年 12 月期間於 Steam 平台上架、並具備成人內容標籤 (Sexual Content 必含、且同時具 Nudity / Hentai / NSFW 任一)之全部 668 款作品 進行縱向資料收集,匯整 555,127 筆玩家評論時間戳,並以 Google TimesFM 2.5 (2026-03-31 發布之最新版本,200M 參數、context 長度 16,384、原生 horizon 達 1,000 步) 針對未來 180 日進行逐日、以及 26 週逐週之上市時機預測。

核心建議
未來 180 日內,最佳上市檔期為 2026-06-16 ~ 2026-09-23。
該區間內日綜合分數峰值為 2026-06-17(分數 +0.096)。 週層級預測以 2026-10-19 起始週最強(分數 +0.180, S2 預測評論動能 370)。 兩種預測週期(daily 180 日、weekly 26 週)獨立運算後均指向同一時段, 提供跨 horizon 的結論交叉驗證。

對應地,模型同時指出 2026-06-27 ~ 2026-07-06 為最不利之檔期 (對應週層級最低分 2026-07-06,分數 -0.164), 主因為該區間與 Steam 年度夏季特賣主檔重疊,新作品之自然發現路徑受既有折扣作品強勢曝光擠壓。 建議此區間避免安排首發檔期,或透過延長曝光、配合特定季節性活動另尋替代方案。

02 · 關鍵建議Key Recommendations

根據 TimesFM 於 668 款作品 × 1,087 日歷史資料上之預測, 本報告提出下列可直接採納之上市安排建議。

建議採納之檔期

第一優先 · 日層級最強
2026-06-16 ~ 2026-09-23
日模型 Top 5 密集聚焦於此 5 日區間,綜合分數維持正值。 時段涵蓋週一至週五工作日,符合 Steam 平台「週二 / 週三發行」的既有商業慣例。 建議於此區間內選定週二或週四作為首發日。
第二優先 · 週層級最強
2026-10-19 起始週
週模型 Top 1 週,綜合分數 +0.180, 對應 Steam 官方 Next Fest 活動擴散期, 玩家發現行為與社群討論密度自然提升,適合中型曝光目標作品。

建議避開之檔期

高風險 · 日層級最弱
2026-06-27 ~ 2026-07-06
日模型 Bottom 5 均落於此區間;與 Steam 夏季特賣主檔重疊, 首頁與推薦位被折扣標的占據,新作品發現效率顯著下降。 若須於此時段發行,建議延後至該區間週末之後(即 7/10 以後)。
高風險 · 週層級最弱
2026-07-06 起始週
週模型最低分週(-0.164)。 此週完整涵蓋 Steam 夏季特賣第一週之衝擊期, 預測評論動能 S2 相較高峰區衰退約 35%。

備註: 建議檔期係基於未來 180 日之預測窗口。 2026 年第四季後段(11 月起)與 2027 年以後之檔期尚不在本次分析範圍內; 如需延長預測範圍,請延長歷史資料並重新執行預測管線。

03 · 研究範疇與樣本Scope & Sample

本次分析以上架時間介於 2023 至 2025 年 之 Steam 成人向作品為母體。

作品總數
668
款 · 符合成人內容標準
玩家評論
555,127
筆 · 去識別化後之時間戳
S1 歷史長度
335
週 · 約 6.4 年
S2 歷史長度
465
週 · 評論動能

資料來源

發行年份分佈

發行年份收錄款數分佈
2025186
2024244
2023238

隱私與合規

所有玩家評論在擷取時即移除個人識別欄位(steamid、author profile), 僅保留時間戳(timestamp)、好評與否(voted_up)、 以及語言(language)等非個資欄位。本報告未呈現任何個別玩家資訊。

04 · 方法論Methodology

4.1 成人內容分類標準

本研究採用四層 cascade 分類機制,依序評估每款作品:

  1. 特許作品清單(app_whitelist: Steam 封鎖抓取但經人工確認為成人向之特定 App ID。
  2. 成人專屬出版商清單(publisher_whitelist: 全目錄均為成人作品之出版商(如 JAST USA、MangaGamer 等)。
  3. Steam Tag 組合規則(tag_rules·主要標準): 作品之 Steam user tag 須同時滿足 Sexual Content(12095) 與以下任一:Nudity(6650)、Hentai(9130)、NSFW(24904)。 此為本研究識別成人向作品之主要依據。
  4. Steam 內容描述符(content_descriptor·補充): 官方 ID 3(Adult Only Sexual Content)或 ID 4(Frequent Nudity)。 該欄位由開發者自願填寫,近年命中率顯著下降,僅作為補充 fallback。

分類主標準: 作品必須具備 Sexual Content 標籤, 且至少具備 NudityHentaiNSFW 其中之一。 此定義排除僅為「性議題討論」但未實際呈現成人內容之作品。

4.2 指標定義

4.3 預測模型

主要預測採用 Google TimesFM 2.5-200m (2026-03-31 發布之最新版本,參數量 2 億、context 長度 16,384、 原生 forecast horizon 達 1,000 步,並新增 30M 連續 quantile 預測頭)。 本次以 pooled 聚合時序對 S1(週/日上架密度)、S2(週/日評論動能)各自產生點估計, 並啟用 normalize_inputsforce_flip_invarianceinfer_is_positivefix_quantile_crossing 等 2.5 新增特性。 報告同時提供三項統計基線以做交叉比對:

4.4 綜合評分

每一時段(週或日)之綜合分數按以下公式計算:

score(t) = w1 × (-rank_S1(t)) + w2 × rank_S2(t) + w3 × seasonal_bonus(t)

其中 rank_S1 為 S1(競爭密度)之分位排名(越低越好,因此取負號), rank_S2 為 S2(玩家動能)之分位排名(越高越好)。 權重 w1 / w2 / w3config/scoring_weights.yaml 讀取。

05 · 週別預測Weekly Forecast

未來 26 週(半年期)之逐週綜合排名。 週期粒度適合用於上市時段策略之早期決策。

5.1 推薦週期(綜合分數前 10 名)

排名週起始日綜合分數S1 預測S2 預測事件
12026-10-19+0.1802.6369.8
22026-06-15+0.1013.8347.6
32026-06-22+0.1013.5349.8
42026-09-21+0.0843.0377.4
52026-09-28+0.0822.8374.2
62026-10-12+0.0802.6369.2
72026-08-24+0.0133.5371.3
82026-09-14+0.0133.1371.9
92026-08-03+0.0113.3368.7
102026-08-10+0.0113.3370.6

5.2 避開週期(綜合分數末 10 名)

排名週起始日綜合分數S1 預測S2 預測事件
12026-06-29-0.1643.2352.2
22026-07-06-0.1643.2358.3
32026-05-04-0.1033.3289.3
42026-10-05-0.0522.7371.3
52026-05-11-0.0203.6319.1
62026-05-18-0.0123.8336.0
72026-06-01+0.0013.7347.1
82026-06-08+0.0013.7347.8
92026-04-27+0.0022.9244.7
102026-05-25+0.0033.8352.2

06 · 日別預測Daily Forecast

未來 180 日之逐日綜合排名。 日粒度適合用於確認首發具體日期, 並確認與 Steam 業界慣例(週二 / 週四發行)之相容性。

6.1 推薦日期(綜合分數前 15 名)

排名日期星期綜合分數S1 預測S2 預測事件
12026-06-17週三+0.0960.0060.9
22026-06-18週四+0.0540.0247.3
32026-06-16週二+0.0510.9746.1
42026-09-16週三+0.0080.0064.1
52026-09-23週三+0.0080.0065.0
62026-06-19週五+0.0060.1135.6
72026-06-20週六+0.0060.0635.4
82026-08-19週三+0.0060.0163.1
92026-09-02週三+0.0060.0063.0
102026-09-30週三+0.0060.0063.5
112026-10-14週三+0.0060.0163.9
122026-06-15週一+0.0040.4134.9
132026-06-21週日+0.0040.1634.4
142026-07-15週三+0.0030.0062.6
152026-08-05週三+0.0030.0062.9

6.2 避開日期(綜合分數末 15 名)

排名日期星期綜合分數S1 預測S2 預測事件
12026-06-29週一-0.2770.3831.9
22026-06-27週六-0.2740.0732.8
32026-06-28週日-0.2740.1432.5
42026-06-26週五-0.2690.1033.7
52026-07-03週五-0.2690.1333.4
62026-07-04週六-0.2690.0733.8
72026-07-06週一-0.2690.3933.1
82026-07-05週日-0.2630.1834.3
92026-08-14週五-0.2540.1437.0
102026-08-15週六-0.2540.0937.7
112026-08-16週日-0.2540.1637.0
122026-06-30週二-0.2330.9442.4
132026-07-07週二-0.2290.9243.2
142026-07-02週四-0.2240.0244.4
152026-06-25週四-0.2190.0045.8

07 · 季節性事件日曆Seasonal Calendar

下列事件日曆係依據 Valve 官方 H1/H2 公告、Steam Next Fest 時間表, 以及相關國際 / 日本文化節慶整理。 每一事件於綜合評分中以固定調整係數參與。

事件名稱期間調整係數影響方向
Spring Sale2026-03-19 至 2026-03-26-0.4利空
Summer Sale2026-06-25 至 2026-07-09-0.5利空
Autumn Sale2026-10-01 至 2026-10-08-0.4利空
Winter Sale2026-12-17 至 2027-01-04-0.5利空
Next Fest Feb2026-02-23 至 2026-03-02+0.3利好
Next Fest Jun2026-06-15 至 2026-06-22+0.3利好
Next Fest Oct2026-10-19 至 2026-10-26+0.3利好
Golden Week2026-04-29 至 2026-05-06-0.2利空
Obon2026-08-13 至 2026-08-16-0.2利空
Comiket Summer2026-08-14 至 2026-08-16-0.3利空
Comiket Winter2026-12-30 至 2026-12-31-0.3利空
Lunar New Year2026-02-16 至 2026-02-22-0.3利空

資料來源:Steam 官方特賣公告頁、Valve 官方新聞稿、 日本各地方政府公告。所有日期已於 memory/valve-2026-schedule.md 登記交叉驗證時間。 超過公告範圍之未來年度(2027 及以後)暫不納入評分。

08 · 模型驗證Model Validation

8.1 子類別 Holdout Backtest(sMAPE)

以歷史末端 4 / 8 / 12 / 26 週作為保留集,各模型分別於前段歷史訓練並預測保留期, 按 Symmetric Mean Absolute Percentage Error(sMAPE)評分; 數值越低代表預測越準確。

Category Model Horizon sMAPE
gameplay_heavy rolling_median 4 33.33
gameplay_heavy timesfm 4 41.11
gameplay_heavy croston 4 51.70
gameplay_heavy seasonal_naive 4 53.33
gameplay_heavy rolling_median 8 40.71
gameplay_heavy timesfm 8 43.62
gameplay_heavy croston 8 53.44
gameplay_heavy seasonal_naive 8 63.21
gameplay_heavy rolling_median 12 38.25
gameplay_heavy croston 12 40.50
gameplay_heavy timesfm 12 42.43
gameplay_heavy seasonal_naive 12 64.37
gameplay_heavy rolling_median 26 41.98
gameplay_heavy timesfm 26 45.01
gameplay_heavy croston 26 51.12
gameplay_heavy seasonal_naive 26 60.22
other rolling_median 4 0.00
other croston 4 9.40
other seasonal_naive 4 25.00
other timesfm 4 35.95
other rolling_median 8 8.33
other seasonal_naive 8 12.50
other croston 8 15.21
other timesfm 8 30.69
other rolling_median 12 5.56
other seasonal_naive 12 32.22
other timesfm 12 38.15
other croston 12 50.17
other rolling_median 26 25.64
other seasonal_naive 26 39.36
other croston 26 48.58
other timesfm 26 50.18
sim_management rolling_median 4 16.67
sim_management timesfm 4 19.98
sim_management seasonal_naive 4 26.67
sim_management croston 4 34.19
sim_management rolling_median 8 16.67
sim_management timesfm 8 18.46
sim_management croston 8 20.80
sim_management seasonal_naive 8 38.33
sim_management rolling_median 12 11.11
sim_management timesfm 12 13.38
sim_management seasonal_naive 12 31.11
sim_management croston 12 43.44
sim_management rolling_median 26 17.95
sim_management seasonal_naive 26 21.03
sim_management timesfm 26 27.46
sim_management croston 26 35.32

方法論提醒: 子類別切分後單一時序資料點稀疏, rolling_median 對多數零值周預測 0 即精確命中, 導致 sMAPE 被人為壓低。此表應視為原始數據之透明揭露, 模型勝負之最終判定請參見下節 pooled 密度 backtest。

8.2 Pooled 密度公平 Backtest

為消除子類別稀疏性造成之評分偏差,此 backtest 改以「密集樣本(全 Steam 快取)」 與「稀疏樣本(僅成人範疇)」分別建立 pooled 時序, 於相同 horizon 與相同 metric 上比較各模型。

密集資料(全 Steam 快取樣本)

每週平均 7.2 筆;歷史 1484 週。

模型4 週8 週12 週26 週
rolling_median116.67200.00200.00111.54
seasonal_naive188.99184.85183.13188.78
croston117.1081.55134.86111.94
timesfm174.90187.01194.12143.59

稀疏資料(僅成人向範疇)

每週平均 0.9 筆;歷史 586 週。

模型4 週8 週12 週26 週
rolling_median66.6783.33200.00200.00
seasonal_naive133.33171.43133.33159.42
croston91.7989.75124.17139.87
timesfm111.18121.17141.61146.92

數值為 sMAPE(Symmetric Mean Absolute Percentage Error),越低越準;表格中每個 horizon 的勝者以綠色標示。

09 · 研究限制Limitations

10 · 附錄Appendix

A. 技術規格

主 Python 環境CPython 3.14(polars / httpx / pytest)
TimesFM 專屬環境CPython 3.11 + PyTorch 2.x(.venv-tfm/
預測模型Google TimesFM 2.5-200m PyTorch(2026-03-31 發布;由 google-research/timesfm source 安裝)
預測權重config/scoring_weights.yaml
分類設定config/adult_classifier.yaml(v2)
事件日曆config/seasonal_events.yaml
Backfill Rate Limit0.67 req/s(符合 Steam 200 req / 5 min 配額)

B. 重現指令

cd D:/Tool/timesfm

# 1. 候選池發現(Steam Store Search 為主)
python -m scripts.run_discovery --skip-steamspy --steam-search-throttle-sec 2.5

# 2. 擷取範圍內作品至工作集(本次:2023–2025)
python -c "import polars as pl; \
  pl.read_parquet('data/raw/app_catalog_full.parquet') \
    .filter(pl.col('release_year').is_in([2023,2024,2025])) \
    .write_parquet('data/raw/app_catalog_core.parquet')"

# 3. Backfill(checkpoint-resumable)
python scripts/run_backfill.py --phase phase1_core --max-pages 50 --max-weeks 260

# 4. 週聚合
python scripts/run_aggregator.py --catalog data/raw/app_catalog_core.parquet

# 5. TimesFM Pooled Forecast
.venv-tfm/Scripts/python.exe scripts/run_pooled_analysis.py \
  --granularity week --horizon 26 --forecaster timesfm --top 26
.venv-tfm/Scripts/python.exe scripts/run_pooled_analysis.py \
  --granularity day --horizon 180 --forecaster timesfm --top 20

# 6. (選用)公平密集 vs 稀疏 Backtest
.venv-tfm/Scripts/python.exe scripts/run_density_backtest.py \
  --out data/forecast/density_backtest.json

# 7. 重建本報告
python scripts/build_report.py

C. 產出檔案清單

data/forecast/pooled_week.parquet26 週逐週預測
data/forecast/pooled_day.parquet180 日逐日預測
data/forecast/forecast_horizons.parquetper-category × 週預測
data/forecast/backtest_matrix.mdper-category sMAPE backtest
data/weekly/s1_releases_by_cat.parquet週上架密度
data/weekly/s2_reviews_by_cat.parquet週評論動能
data/report/index.html本報告(靜態、可離線開啟)