Поле thinking_time_ms сейчас везде равно null (потому что мы его пока не вычисляем), но потенциально оно может быть очень полезным для аналитики.
В сырых данных партий есть объект leftTime (оставшееся время на часах у обоих игроков после каждого полухода). Если мы будем вычислять разницу времени между началом хода и его концом, мы сможем получить реальное время раздумья (thinking_time_ms) для каждого хода.
Что это может дать в будущем:
- Анализ сложности: Узнать, над какими комбинациями костей (или позициями) игроки думают дольше всего.
- Паттерны ошибок: Связать малый
thinking_time_ms(блиц-ходы) с вероятностью зевков. - Тренировка ботов: Использовать время раздумья людей как фичу для ИИ (чтобы бот понимал, где позиция “сложная” для человека).
У нас есть два пути:
- Удалить это поле совсем. Если мы уверены, что анализ времени нам никогда не понадобится, мы можем убрать его из таблиц и моделей, чтобы не занимать лишние байты (сэкономим немного места на диске).
- Научить импортер его вычислять. У нас есть все данные (
leftTimeв начале хода иleftTimeв конце хода). Я могу добавить логику вычисления разницы, и тогда база будет заполняться реальными миллисекундами.
Лично я бы рекомендовал вариант 2 (научить вычислять), так как для аналитической базы данных данные о времени часто оказываются золотой жилой. Что скажешь? Убираем поле или напишем код для его вычисления?