Публичный трек-рекорд

Прогнозы, запечатанные
до выхода данных.

Каждый месяц Банк России публикует опрос инФОМ о потребительских настроениях (n≈2000). Мы фиксируем прогноз нашей синтетической панели по этим же вопросам до публикации, печатаем его хэш здесь — а после выхода данных вскрываем прогноз и сверяем с реальностью. Расхождение попадает в таблицу навсегда: и удачное, и нет.

Протокол

Пре-регистрация в три шага.

01

Запечатываем

Панель отвечает на вопросы будущей волны. Прогноз сохраняется в файл, его sha256-хэш публикуется на этой странице — содержимое остаётся скрытым.

02

Выходят данные

Банк России публикует очередную волну опроса инФОМ — реальные распределения ответов, по стране и по демографическим группам.

03

Вскрываем и сверяем

Прогноз публикуется целиком, хэш сходится с запечатанным, расхождение с реальностью считается в коде и остаётся в таблице.

Сейчас запечатано

Прогнозы, ждущие выхода данных.

Загружаем…

Сверенные волны

Прогноз против реальности, волна за волной.

Расхождение L1: 0 — распределения идентичны, 2 — не пересекаются. Для ориентира: L1 ≤ 0.30 мы называем сильным совпадением, ≤ 0.60 — умеренным.

ВолнаЗапечатанСвёренL1 (нац.)L1 (ячейки)ранг ρОценкаФайл
Загружаем…

Пропущенные волны показываются как пропущенные — честность важнее ровной линии. Движок развивается между волнами; конфигурация каждого прогноза зафиксирована в его запечатанном файле.

Как проверить

Проверьте печать сами.

После сверки полный файл прогноза открыт по ссылке из таблицы. Уберите из него поле content_sha256, посчитайте sha256 канонического JSON — и сравните с хэшем, который был опубликован здесь до выхода данных.

python3 - <<'EOF'
import json, hashlib, urllib.request
wave = "26-08"  # волна из таблицы
url = f"https://lab-40.ru/api/public/track-record/prediction/{wave}"
p = json.load(urllib.request.urlopen(url))
sealed = p.pop("content_sha256")
body = json.dumps(p, sort_keys=True, ensure_ascii=False, separators=(",", ":")).encode()
print("sealed:", sealed)
print("actual:", hashlib.sha256(body).hexdigest())
EOF

Что доказывает хэш: содержимое прогноза не менялось после публикации печати. Что он не доказывает сам по себе — дату публикации; для этого страница с хэшем архивируется (web.archive.org) в день запечатывания.

Тот же протокол — для вашего кейса

Сверьте панель со своим прошлым исследованием.

Загрузите анкету исследования, результат которого уже знаете, — панель ответит вслепую, а отчёт покажет совпадение по каждому вопросу.