Как всё устроено
Здесь весь путь данных: откуда они берутся, что с ними происходит и почему в итоге вы видите именно такое число. Про саму модель — отдельно, на странице «Как работает прогноз».
1. Откуда берутся данные
Источник один — открытые списки поступающих СПбГУ, те самые, что вуз публикует у себя на сайте. Никакого закрытого доступа, никаких договорённостей с университетом: страница открыта всем.
Списки читаются обычными HTTP-запросами, как их читал бы браузер. Мы не обходим защиту и не заходим ни в какие личные кабинеты.
- код поступающего — тот же, что напечатан в списках;
- направление, на которое подана заявка, и приоритет;
- баллы за вступительное испытание и за индивидуальные достижения;
- отметку о согласии на зачисление и статус рассмотрения;
- число мест и число заявок по каждому направлению.
Фамилий в списках нет — только код. Мы не знаем, кто вы, и связать код с человеком не можем.
2. Как часто они обновляются
Сервер сам ходит за свежими списками каждые три часа: скачивает, разбирает, пересчитывает прогноз и складывает результат. Ничего запускать вручную не нужно.
Дата последнего успешного обновления всегда видна — на сайте под полем ввода, в приложении в строке состояния. Если она застряла, значит источник был недоступен: старые данные при этом не затираются, вы просто видите прошлый расклад.
3. Что считается
Шанс нельзя посчитать для одного человека в отрыве от остальных: поступление — это конкурс, и ваш исход зависит от того, как сложится у всех. Поэтому модель разыгрывает приёмную кампанию целиком, десять тысяч раз подряд.
- у кого балл уже известен — он берётся как есть;
- у кого балла ещё нет — он разыгрывается по статистике этого экзамена;
- дальше имитируется распределение по приоритетам, как в вузе;
- часть тех, кто нигде не подал согласие, «уходит» в другие вузы, освобождая места.
Доля сценариев, где вы прошли на конкретное направление, и есть показанный шанс. Проходной балл в каждом сценарии свой — поэтому он показан вилкой, а не одним числом.
4. Как результат попадает к вам
Сайт читает уже посчитанный результат напрямую из базы — поэтому он отвечает мгновенно и ничего не считает в момент запроса.
Приложение работает иначе. Расчёт для всей когорты на ноутбуке не сделать, поэтому оно скачивает готовый слепок базы (несколько мегабайт, сжатый) и держит его у себя. При поиске по коду оно дополнительно запрашивает ваши самые свежие баллы одним запросом к спискам — чтобы цифры были актуальны, даже если слепок чуть устарел.
Если интернета нет, приложение продолжает работать на последнем скачанном слепке и честно об этом пишет.
5. Чего система не знает
Модель видит только то, что опубликовано. Она не знает и не может узнать:
- куда ещё вы подали документы и что решите в итоге;
- заявки других людей в другие вузы;
- кто не придёт на вступительное испытание;
- изменятся ли правила приёма или число мест.
Уход людей в другие вузы модель не знает, а предполагает: она считает, что часть не подавших согласие уйдёт. Это сценарная оценка, а не знание чужих планов.
6. Что мы о вас не собираем
Регистрации нет, почту вводить не нужно, аккаунтов не существует. Единственное, что вы вводите, — код, который и так напечатан в открытых списках.
Никакой профиль на вас не заводится и история запросов не показывается ни вам, ни кому-либо ещё.
7. Кто это сделал
Собрано Sheeshlove. Приложение и сайт никак не аффилированы с Санкт-Петербургским Государственным Университетом. Данные взяты из открытых источников. Для связи с автором пишите на Egorsheeshwork@yandex.ru
Автором оригинальной модели и вдохновителем является @fascinat00r.
Проект открытый — код целиком можно посмотреть здесь: https://github.com/Sheeshlove/masterchance_spbu
Это независимый любительский проект. Университет к нему отношения не имеет, ответов на вопросы о приёме здесь нет — с ними нужно в приёмную комиссию.
Прогноз — вероятностная модель, а не гарантия поступления.