глоссарий

NDCG

NDCG

NDCG (Normalized Discounted Cumulative Gain) — это метрика, которая оценивает, насколько качественно алгоритм упорядочивает результаты поиска или рекомендации. Если коротко, она измеряет, насколько «правильно» полезные объекты оказались в начале списка, и наказывает алгоритм за то, что важное спрятано глубоко внизу.

Зачем это нужно? В реальной жизни пользователь почти никогда не листает всю выдачу. Он смотрит первую страницу, реже — вторую. Поэтому для поисковой системы или рекомендательного сервиса критично не просто найти релевантные материалы, а поставить самые нужные на первые позиции. NDCG — стандартный инструмент, который позволяет разработчикам сравнивать разные алгоритмы ранжирования и понимать, какой из них лучше отвечает на запросы людей.

Как работает метрика на интуитивном уровне? Представьте, что вы ищете рецепт шарлотки. Алгоритм выдал пять ссылок: одна — точный рецепт, две — статьи про яблоки, ещё две — вообще про пироги с капустой. Идеальная выдача — рецепт шарлотки первым. NDCG сравнивает реальный порядок с идеальным: если рецепт оказался на четвёртом месте, метрика снижается. Причём падение тем сильнее, чем дальше вниз ушёл нужный результат. «Скидка» (discount) за позицию растёт: десятое место штрафуется заметно больше, чем третье. Итоговое значение нормируется от 0 до 1, где 1 — безупречная сортировка.

Прикладной пример: интернет-магазин. Пользователь вводит «беспроводные наушники». Алгоритм должен поставить наверх модели, подходящие по цене и характеристикам, а не случайные аксессуары. Если метрика NDCG на тестовой выборке выросла с 0,6 до 0,8 после обновления модели, это означает: товары стали попадать в поле зрения покупателя гораздо чаще, а значит, выросла вероятность покупки и удовольствие от поиска.

Итог: NDCG — это простой и наглядный способ понять, хорошо ли алгоритм понимает, что для человека «самое важное». Она связывает качество ранжирования с реальным поведением людей и помогает делать цифровые продукты удобнее, точнее и полезнее.