# 163 本番 — ev_new 処理の持ち込みと再計算

**データ移行ではなく「処理（コード＋バッチ）」を 163 で動かす手順。**

仕様: [`session-handoff-ev-new-20260526.md`](session-handoff-ev-new-20260526.md)

---

## 何を 163 でやるか

```
predictions（モデルスコア）＋ odds_lines（単勝）
  → win_prob_ev_new.py（softmax → 期待値 New）
  → ◎〜△ を期待値順に付与
  → all_race_ai_profile_compare（profile_key=ev_new）
  → 画面 all_race_compare_profiles_new.html
```

133 の DB をコピーする必要は**ない**。163 の本番 DB（レース・オッズ・払戻）に対して**ゼロから再計算**する。

---

## 持っていくファイル（処理一式）

| パス | 役割 |
|------|------|
| `ai/win_prob_ev_new.py` | 勝率(New)・期待値(New)・◎付け |
| `scripts/import_all_race_ev_new_compare.py` | 全レース取込バッチ |
| `scripts/repredict_ev_new.sh` | 163 用ワンコマンド再計算 |
| `public/all_race_compare_profiles_new.html` | 予想結果（New）画面 |
| `public/api/all_race_compare_profiles.php` | 集計 API |
| `public/api/all_race_compare_profile_years.php` | 年フィルタ API |

依存（163 に既にある想定）:

- `ai/stage1_screening.py` / `ai/prediction_profiles.py` … predictions が無いレース用
- `ai/models/stage1_lgbm_enhanced.txt` + `.meta.json`
- `collectors/db_util.py` / `config/db_local.php`

---

## STEP 1 — コードを 163 へ送る

### A. Windows cmd（推奨・133 から）

```bat
scp root@133.130.90.66:/var/www/html/ai-horse-race.maspis.com/ai/win_prob_ev_new.py root@163.44.117.9:/var/www/html/tools.kachiumaai.com/ai/

scp root@133.130.90.66:/var/www/html/ai-horse-race.maspis.com/scripts/import_all_race_ev_new_compare.py root@163.44.117.9:/var/www/html/tools.kachiumaai.com/scripts/

scp root@133.130.90.66:/var/www/html/ai-horse-race.maspis.com/scripts/repredict_ev_new.sh root@163.44.117.9:/var/www/html/tools.kachiumaai.com/scripts/

scp root@133.130.90.66:/var/www/html/ai-horse-race.maspis.com/public/all_race_compare_profiles_new.html root@163.44.117.9:/var/www/html/tools.kachiumaai.com/public/

scp root@133.130.90.66:/var/www/html/ai-horse-race.maspis.com/public/api/all_race_compare_profiles.php root@163.44.117.9:/var/www/html/tools.kachiumaai.com/public/api/

scp root@133.130.90.66:/var/www/html/ai-horse-race.maspis.com/public/api/all_race_compare_profile_years.php root@163.44.117.9:/var/www/html/tools.kachiumaai.com/public/api/
```

### B. 163 に SSH できたら

```bash
cd /var/www/html/tools.kachiumaai.com
chmod +x scripts/repredict_ev_new.sh scripts/sync_ev_new_code_to_163.sh
# 133 から一括（鍵がある場合）
# DEST=root@133.130.90.66 DEST_ROOT=/var/www/html/ai-horse-race.maspis.com は逆方向なので手動 scp 推奨
```

---

## STEP 2 — 163 で再計算（本番 DB）

```bash
cd /var/www/html/tools.kachiumaai.com
chmod +x scripts/repredict_ev_new.sh
./scripts/repredict_ev_new.sh
```

中身:

- `--all-finished-races` … 1着確定の **全 JRA レース**（163 は約 2 万レース想定）
- `--write-predictions` … predictions が無いレースは stage1 を実行して材料を作る
- 日付: 既定 `2020-01-01` 〜 `2026-12-31`（環境変数で変更可）

```bash
tail -f logs/import_ev_new_*.log
```

**成功:** 末尾 `done ok=22000前後 err=0`（オッズ・predictions が揃ったレース数による）

**途中だけ追加分:**

```bash
ONLY_MISSING=1 ./scripts/repredict_ev_new.sh
```

---

## STEP 3 — 確認

```bash
mysql keiba_ai -e "
SELECT COUNT(*) c, MIN(race_date), MAX(race_date)
FROM all_race_ai_profile_compare
WHERE profile_key='ev_new' AND status='ok';
"
```

画面:

```text
http://163.44.117.9/public/all_race_compare_profiles_new.html
```

2026年で ◎1着率が **12%台**・3点合計回収が **300%前後** なら 133 と同系統。

PHP 反映:

```bash
sudo systemctl reload php-fpm
```

---

## やってはいけないこと

- 133 の DB を 163 にリストア（本番データが減る）
- `ev_forecast` / `prob_odds` のバッチと混同
- 133 で再計算して終わる（本番は 163）

---

## 別 Window 用プロンプト

```text
@docs/session-handoff-ev-new-163-deploy.md を読んで、163 で ev_new を再計算して。
データ移行はしない。コード同期 → repredict_ev_new.sh → 画面確認。1 STEP ずつ。
```

---

最終更新: 2026-06-02
