2025年6月、loto-optimizer でロト6/7 予想プロジェクトを集約した。2023年の loto6-predictany-loto → 2025年の loto-picker と続いてきた「計画的娯楽」シリーズの、現時点での集大成。

当てるためではなく、データ分析を楽しむためのもの。ギャンブルではなく趣味のデータサイエンス、というスタンスは README にもしつこく書いた。

構成

今回は Python を捨てて、Next.js(TypeScript)に全部寄せた。データ取得から分析 API、フロントの可視化までを1リポに。

  • ロト6(2000年〜・2000回以上)/ ロト7(2013年〜・600回以上)の全履歴を CSV で収録
  • スクレイパは Python から TypeScript に移植(axios + cheerio + csv-writer)
  • 分析は Next.js の API Route として実装

数学的アプローチを並べてみた

せっかくなので、当て方を1つに絞らず、いろんな「数学的アプローチ」を別々の API として並べた。

  • /api/number-theory/... — 数論・暗号理論アプローチ
  • /api/stats/... — 統計分析・確率論
  • /api/ml/train /api/ml/predict — 機械学習(TensorFlow.js)
  • /api/game-theory/strategy /api/game-theory/risk — ゲーム理論・経済学アプローチ
  • /api/wheel/... — ホイールシステム

それぞれにフロント UI とテスト(Vitest)を付けて、「アプローチごとに出方がどう違うか」を眺められるようにした。当然どれも当たらないけど、手法を横並びにすると、各手法が「ランダム性に対して何を仮定しているか」が見えてくるのが面白い。

学び

with test 方針で、各アプローチをロジック単位でテストしながら足していったのが効いた。アプローチが増えても、API とテストが1セットになっていると壊れに気づける。

数論・統計・ML・ゲーム理論を1つの題材(ロト)で実装し分けると、それぞれの考え方の輪郭がはっきりする、という意味では、勉強教材としてかなり良い遊びだった。

おわり

4年かけた private リポ群の総まとめ。「当たらないと分かっているものに、どれだけ真面目な手法を当てられるか」という遊びとしては、これで一区切り。次やるなら、可視化をもっと厚くして「手法ごとの偏りの見える化」に振りたい。