Посчитал еще. Немного переменил свою точку зрения.
Рейтинг нужен, чтобы 1) расставлять участников на старте и 2) чтобы было чем померяться. Соответственно, к нему выдвигаются следующие требования:
— расстановка участников на старте должна минимизировать количество обгонов;
— должен восприниматься как справедливый (а не «выиграл мелкую местную гонку, получил 98%»);
— должен мотивировать в правильном направлении (а не «лучше я туда не поеду, вдруг эффективность просядет»).
Математически посчитать, конечно, можно только первое. :−) Количество обгонов, которое необходимо совершить, чтобы из стартового протокола получить финишный, называется тау-метрикой Кендалла (далее — KT). Я нормализовал ее от 0 до 100% по количеству обгонов от максимального: 0% означает, что как стартовали, так и приехали, 100% — что пришлось совершить 100% от максимального количества обгонов, т. е. приехали в порядке, противоположном стартовому. Если расставлять всех в случайном порядке, будет около 50%.
Я сравнил эффективность и свой самодельный рейтинг, который учитывает также и рейтинг остальных участников гонки. Оба показателя рассчитывались по гонкам 2013 года, а затем проверялось, насколько точно они предсказывали итоги гонок в 2014-м (вычислялся средний KT). Учитывались все гонки 2013-го и предшествующие гонки 2014-го; эффективность считалась по всем предшествующим гонкам, без сброса в начале года. Малочисленные категории исключались из подсчета.
Получилось:
— Рейтинг: KT = 20%;
— Эффективность: KT = 23%.
Отсюда вывод, что вряд ли получится сделать что-то намного лучшее, чем эффективность. Думаю, у нас слишком непредсказуемые спортсмены, чтобы можно было бы расставить их по какому бы то ни было рейтингу и надеяться, что они так и приедут. :−) Рейтинг-то работает хорошо. Для любых двух участников он дает вероятность того, что первый обгонит второго; если взять пару участников примерно одинаковой силы (таких, что каждый обгонял другого хотя бы раз) и сказать, сколько раз они участвовали в гонках, с вероятностью около 50% оценка, сколько раз победил первый и сколько второй, окажется точной (а если брать участников неравной силы, то рейтингу будет только проще :−). Но когда на старт выходит 50–100 человек, складывается слишком много случайных величин, чтобы можно было давать сколько-нибудь точные предсказания.
Поэтому я решил, что такой рейтинг, со всеми его сложными формулами (взятыми
с Топкодера, вдруг кому интересно) не нужен. Лучше придумать что-то простое, но лишенное недостатков нынешнего показателя эффективности.
У эффективности две проблемы: она может взлететь до небес после первого старта в году, и может просесть при неудаче на гонке. Вряд ли многие принимают решение не ехать на гонку только потому, что участники там сильные и эффективность наверняка упадет, но всё равно это неприятная особенность.
Я поэкспериментировал с разными простыми рейтингами и предлагаю вот такой:
— за каждую гонку первая половина участников получает очки от максимума до 0 (линейно), вторая не получает ничего;
— рейтинг участника — сумма очков за последние 365 дней.
Преимущества:
— мотивирует ехать на гонки, потому что от этого рейтинг только растет;
— не мотивирует не ехать на гонки, потому что никакими своими действиями рейтинг не обрушить;
— максимум очков можно менять в зависимости от категории, что будет иметь намного больше смысла, чем в случае эффективности;
— легко считать;
— KT = 22%.
Очки раздаются только первой половине финишировавших, потому что она намного более предсказуемая, чем вторая, и потому, что два 40-х места не стоят 1-го (я предполагал, что должна быть выпуклая функция, но нет, линейная дает лучший KT). Можно немного раздавать и второй половине, чтобы не уходили с нулями: например, первой половине от 1000 очков до 50, а второй — от 50 до 1. Можно всем линейно, тогда KT ухудшается до 25%.
Из фиксированного количества очков первой десятке ничего хорошего не получается. Это работает для крупных юсиайных гонок, потому что у них большое и предсказуемое количество участников, но не для нашего любительского разнообразия.
Сюда хорошо вписываются категории не только участников, но и гонок. Размышления о них в следующем сообщении.