Рейтинг гравця: чому ми взяли TrueSkill, а не ELO
Як працює рейтинг гравця в паделі: чим TrueSkill (μ і σ) кращий за шаховий ELO для гри 2 на 2, чому новачки калібруються швидше і що означає твоє число.

Зміст статті
Будь-який застосунок із рейтингом має відповісти на одне питання: наскільки ти хороший, числом. Звучить просто, поки не згадаєш, що падел це 2 на 2, партнери міняються щогри, а вчорашній новачок сьогодні рознесе половину клубу. Ми перебрали варіанти й зупинились на TrueSkill, системі, яку Microsoft зробила для матчмейкінгу в Xbox Live. Ось як вона працює, чим відрізняється від шахового ELO і чому для падела — це єдино логічно.
Новачок. Нова людина — система ще не впевнена в її рівні: широка смуга навколо числа.
Спершу ELO, бо з нього все почалося
ELO придумав фізик Арпад Ело для шахів. Логіка геніально проста: у кожного одне число, після партії переможець забирає очки в переможеного, а скільки саме, залежить від різниці рейтингів. Обіграв сильнішого, забереш багато; того, кого й мав обіграти, копійки. Працює бездоганно... для дуелі двох людей.
Проблеми починаються, щойно гравців на корті стає четверо.
Чому ELO ламається в паделі
Три діри, яких у дуелі не видно, а в паделі вони критичні:
- Падел — це команда, а не дуель. Щоб запхати 2 на 2 в ELO, доводиться усереднювати рейтинг пари. І тут зникає головне: пара «майстер + новачок» на папері виглядає так само, як двоє міцних середняків. «Слабку ланку» система не бачить, а саме вона часто вирішує матч.
- Партнери міняються. В americano чи mexicano ти щораунду граєш із новим напарником. ELO не вміє відповісти на питання «хто з пари витягнув матч», а для чесного рейтингу — це і є суть.
- Один K-фактор на всіх. Силу оновлення в ELO задає фіксований коефіцієнт K. Поставиш великий, і рейтинг ветеранів стрибає від кожної випадкової поразки. Малий, і новачок місяцями повзе до свого реального рівня. Золотої середини немає.
Усереднений ELO для падела працює приблизно як молоток, яким забивають шуруп: заходить, але криво.
Що таке TrueSkill: два числа замість одного
Головна ідея: твій рівень — це не точка, а діапазон. TrueSkill тримає про кожного гравця два числа:
- μ (мю) це наша оцінка твоєї сили. Те, що ти інтуїтивно називаєш «рейтингом».
- σ (сигма) це наскільки ми в цій оцінці ще не впевнені. Велика σ означає «ми тебе майже не бачили», мала «ми вже добре знаємо, на що ти здатен».
Формально — це нормальний розподіл N(μ, σ²): дзвоник на графіку, де μ його центр, а σ ширина. Новачок заходить із широким дзвоником (у нас μ = 25, σ ≈ 8,3) і з кожним матчем його звужує.
Звідки береться твоє число
Показувати гравцю сирі μ і σ погана ідея. Тому на екран виходить одне число, і відповідає воно за твою майстерність — ту саму μ. Що більше й що сильніших суперників ти обіграв, то вище воно стоїть. Невпевненість (σ) у саме число ми не зашиваємо — вона працює під капотом і робить дві видимі речі:
- Поки система тебе ще не роздивилась (перші матчі, менше десяти), поряд із числом висить смуга похибки «±»: мовляв, ще придивляємось.
- Вона ж керує тим, як різко число реагує на кожен матч — про це нижче.
Чому σ не в самому числі, хоч спершу ми так і робили? Бо виходило нечесно: невпевненість падає з кожною грою, байдуже виграв ти чи програв, тож число тихо повзло вгору просто за участь — гравець з одним-єдиним програним матчем міг отримати чималу надбавку з повітря. Тепер число росте за силу, а не за відвідуваність.
У застосунку воно лягає в один із семи тірів, від Бронзи до Еліти — а як ці тіри лягають на звичну шкалу рівнів від D до A, розбираємо в рівнях гравців.
Чому новачки калібруються швидко, а ветерани стабільні
Ось де TrueSkill кладе ELO на лопатки. Згадай σ, невпевненість. Сила оновлення рейтингу прямо залежить від неї:
- Перші ігри σ велика → кожен матч сильно рухає μ. Систему буквально несе до твого реального рівня за 5–10 ігор.
- Що більше граєш, то менша σ і то менше важить один матч. Щоб зрушити калібрований рейтинг, треба стабільно обігравати сильніших.
Це і є той самий «K-фактор», але динамічний і свій для кожного: великий, поки ти новий, маленький, коли вже відомий. ELO так не вміє в принципі. А поки зіграно менше 10 матчів, ми чесно показуємо поряд із числом смугу похибки ±, мовляв, ще придивляємось.
Дрібниці, які роблять рейтинг чеснішим
- Рахунок матчу має вагу. Розгром 6:0 6:0 рухає рейтинг майже вдвічі сильніше за виграш 7:6 7:6 на тай-брейках. Множник від 0,5 (ледь дотиснув) до 1,0 (рознесли вщент). Для ELO перемога є перемога, без нюансів.
- Командний результат → особистий внесок. Виграв зі слабшим партнером проти сильної пари, піднімешся більше, ніж якби тебе «вивіз» майстер. Система рахує силу суперників і партнера, а не лише факт перемоги.
- Хімія пар. Принагідно ми ведемо статистику, з ким ти виграєш найчастіше, корисно, коли збираєш четвірку на турнір.
То чому саме TrueSkill для падела
Бо падел — це рівно той випадок, під який ELO ніколи не проєктували. Командна гра зі змінними партнерами, де треба швидко оцінити новачка, не обваливши рейтинг ветеранів, врахувати силу суперників і не загубити «слабку ланку». TrueSkill робить усе це з коробки, бо моделює не результат, а гравця, з його силою і нашою невпевненістю в ній.
Чесний мінус: система складніша за ELO, і сирі μ/σ гравцю не покажеш. Тому ми й ховаємо математику за одним числом і тіром: усередині рахунок баєсівський, а на екрані просто «Золото, 1180».
Коротко
ELO для шахової дуелі 1 на 1: одне число, фіксований K, нуль уявлення про невпевненість. Падел завжди 2 на 2 зі змінними партнерами, тому ми взяли TrueSkill: μ (сила) плюс σ (невпевненість). На екран виходить майстерність одним числом і тіром, а σ сидить під капотом і керує швидкістю калібрації — новачка несе до реального рівня за 5–10 ігор, ветерана зрушити важко. Плюс вага рахунку матчу й особистий внесок із командного результату. До речі, рейтинг і рахунок у самому матчі — різні речі: гейми рахуються по-своєму. Хочеш побачити своє число в дії, збери четвірку і зіграй americano. Новачкам спершу що таке падел.
Часті питання
Це оцінка твоєї майстерності (μ у моделі TrueSkill), зведена в одне число й тір від Бронзи до Еліти. Що більше й що сильніших суперників ти обіграв, то воно вище. Невпевненість системи (σ) у саме число не зашита — поки зіграно менше десяти матчів, вона показується поряд смугою похибки «±», а далі керує тим, як швидко число реагує на матчі.
Через σ, нашу невпевненість. Перші ігри σ велика, тож кожен матч сильно рухає число (швидка калібрація). З досвідом σ падає, і рейтинг стабілізується: щоб його зрушити, треба обігравати сильніших. Це автоматичний «динамічний K-фактор», якого в ELO немає.
ELO рахує дуелі 1 на 1 одним числом. Падел завжди 2 на 2, а партнери змінюються. TrueSkill моделює кожного гравця окремо (μ і σ) і витягує особистий внесок із командного результату, не губить «слабку ланку» пари, як усереднений ELO. Плюс рахує невпевненість і чесно калібрує новачків.
Так. Розгром 6:0 6:0 рухає рейтинг майже вдвічі сильніше, ніж 7:6 7:6 на тай-брейках. Множник рахунку від 0,5 (ледь дотиснув) до 1,0 (рознесли вщент). Класичний ELO цього не вміє: для нього перемога є перемога.


