Собираем выборку
Берём верхние позиции AniList, Kitsu, MyAnimeList и Shikimori. Записи связываются по проверенным внешним идентификаторам, поэтому разные сезоны не склеиваются.
У разных сообществ отличаются аудитория, шкала и привычка ставить оценки. Поэтому рейтинг сравнивает позиции внутри каждого источника, а не складывает сырые баллы.
Берём верхние позиции AniList, Kitsu, MyAnimeList и Shikimori. Записи связываются по проверенным внешним идентификаторам, поэтому разные сезоны не склеиваются.
Место в списке даёт 70% компонента источника, перцентиль оценки — 30%. Это уменьшает влияние разницы шкал и локальных перекосов.
AniList и MyAnimeList получают по 30%, Kitsu и Shikimori — по 20%. Совпадение всех четырёх источников даёт максимальную уверенность.
consensus = 100 × weighted_source_percentiles × coverage_factorКандидатов задаёт актуальный trend-список AniList. Позиции Kitsu и Shikimori подтверждают интерес, а рейтинг MyAnimeList служит независимым индикатором качества. Все сигналы нормализуются в диапазон от 0 до 1.
trend = 80% × activity_consensus × coverage + 20% × MAL_quality«Сейчас выходит» считается отдельно и сортируется по рейтингу. Совпадения с ним занимают не больше трети трендовой выдачи. Точные дельты аудитории за семь дней появятся после подключения хранения ежедневных снимков. Если оценки MyAnimeList ещё нет, используется нейтральное значение, и тайтл не исключается из выдачи.