что такое винрейт в играх
Что такое «винрейт»?
Давайте выясним, что такое винрейт в ставках на спорт, как его посчитать и для чего необходимо знать его уровень. Термин «винрейт» англоязычный, в дословном переводе «winrate» означает процент/показатель побед. Это понятие используется также и в покере, но там у него немного иное значение (показатель прибыльности для кэш-игр за определенное количество рук, выражающийся в больших блайндах, долларах в час или процентах).
Что касается ставок на спорт, то в Рунете всецело обитает «проходимость прогнозов» или «процент угадывания». Если использовать данные «термины» в качестве синонимов winrate, то ничего страшного. Но на деле выходит, что «проходимостью прогнозов» пользуются или от некомпетентности, что не так критично или в мошеннических целях.
Дело в том, что не называется средний коэффициент для той или иной «проходимости», а если он и озвучивается, то «каппер» никак не может подтвердить свои заявления, ведь кроме «статистики» в группе «ВКонтакте» никакими верификаторами прогнозов на спорт не пользуется по понятным причинам. Вот и получается замкнутый круг, в который часто попадают любители красивых цифр и обещаний.
Начнем с простого и ответим на вопрос как посчитать винрейт (winrate)?
Для этого необходимо просто разделить количество выигрышных прогнозов за определенный промежуток времени на общее количество прогнозов за этот же промежуток времени, а затем умножить получившееся число на 100%. Причем в выигрышные прогнозы не включают возвраты по ставкам.
Ниже я приведу для Вас значение точек безубыточности при игре флетом для различного уровня коэффициентов, т.е. какую минимальную «проходимость» по своим/чужим прогнозам нужно иметь, чтобы играть хотя бы в ноль на тех или иных котировках букмекерских контор.
Я не думаю, что вдумчивому читателю стоит объяснять цифры в этом произвольном перечне. Необходимые выводы эта группа любителей ставок на спорт сделает сама. «Некрасивый» winrate, например, в 55%, но при среднем коэффициенте 2.00, несравним с «проходимостью» аж в 80% при коэффициенте 1.25 и т.д. Остальным, которые ещё носят «розовые очки» по поводу «проходимости прогнозов в 75-80-90-95%», стоит подумать, на каком уровне коэффициентов можно добиться этих цифр и реально ли вообще это сделать? Ответ — однозначно, нет!
Удачных ставок и думайте головой!)
Винрейт в покере
Винрейт – это все деньги, которые за определенный отрезок времени или на протяжении какого-либо количества раздач, выигрывает покерист. Чаще всего этот показатель равен числу блайндов, полученных за 100 раздач. Винрейт в покере полностью зависит от уровня подготовки игрока.
Для определения рассматриваемого показателя существуют специальные программы, такие, как Holdem Manager 2. При отсутствии приложения можно рассчитать винрейт самостоятельно. Для этого профит делят на число раздач и на показатель большого блайнда, а затем умножают на 100. В турнирных соревнованиях вместо оговариваемого параметра используется коэффициент окупаемости вложений (ROI в покере).
Как определить винрейт в покере?
Любой показатель, превышающий ноль, уже считается неплохим. Это число дает возможность покерист не проиграть свои деньги и постепенно увеличивать банкролл. Такой параметр характерен для большей части игроков в покер. Так что на вопрос, какой винрейт в покере считается хорошим, можно ответить – любой положительный показатель.
Если же винрейт превышает цифру пять, то это можно считать прекрасным результатом. С таким показателем на солидной дистанции вполне вероятно побить лимит. Добиться винрейта, большего десяти, можно только при малой выборке, и обычно такой показатель – результат апстрика.
Какой должна быть дистанция, чтобы винрейт приближался к реальному показателю?
Дисперсия в покере – вещь непредсказуемая и серьезная. Именно из-за нее сегодня винрейт в покере может равняться 8, а завтра игрок уйдет в минус. В связи с этим рассматриваемый показатель начнет приближаться к реальному лишь спустя сотни тысяч раздач. Такой вывод сделали теоретики азартной игры.
Из этого следует, что пройдя 50 тыс. раздач, рано оценивать винрейт в покере. Все изменится еще ни один раз.
Играя в лимитные разновидности карточного соревнования, чтобы высчитать интересующий нас показатель, используют следующую формулу: bigbet/100. В этом случае размер большой ставки будет равен 2-ум большим блайндам.
Профессиональные игроки немало внимания уделяют соотношению выигранных финансовых средств к временным показателям. Количество денег, полученных за час, зависит от профита, числа столов, задействованных в турнире, и скорости карточного состязания.
Также винрейт в покере может рассматриваться как число больших блайндов, выигранных за час, или как денежная сумма, полученная за сто рук.
Что определяет винрейт в покере?
Интересные моменты
Уже говорилось о том, что с увеличением задействованных столов винрейт будет снижаться. Однако в этой ситуации есть свои особенности.
Допустим, участник играет на четырех столах с лимитом NL5, имея при этом винрейт, равный 15. При увеличении числа столов до десяти, оговариваемый показатель снижается до 6. В таком случае сумма прибыли, полученной за определенный промежуток времени, остается неизменной. Но необходимо учитывать очки игрока, начисляемые с каждой новой рукой, с который взимается рейк. За 10 столов картежник зарабатывает в 2,5 раза больше очков постоянного участника, за которые после можно приобрести турнирный билет или перевести их в турнирные деньги при выигрыше сателлитов. Можно сделать вывод, что в таком случае игра за большим количеством столов является более прибыльной, так как она дает возможность получить дополнительные бонусы.
Что поможет увеличить рассматриваемый показатель?
Многих интересует вопрос, как увеличить винрейт в покере? Чем выше уровень подготовки, тем лучше качество игры, а, следовательно, и выше интересующий нас показатель. Новичкам рекомендуется разыгрывать как можно большее количество рук. Чем большее число раздач будет сыграно, тем вероятнее обрести победу в нескольких из них.
Отличным помощником покериста является блеф в покере. Однако для получения желаемого результата он должен быть максимально правдоподобным.
Чтобы увеличить винрейт на микролимитах, специалисты рекомендуют снизить число столов. Считается, что это поможет уделить больше внимания таким вопросам, как выбор игры и принятие правильных, хорошо обдуманных решений.
Немаловажную роль для покериста играет его позиция за игральным столом. Особо удачным является так называемое «место Иисуса», которое находится по левую руку от рекреационного игрока. Заняв эту позицию, покерист получает возможность увеличить винрейт.
Специалисты не советуют новичкам слишком заострять внимание на рассматриваемом показателе. Первое, чем стоит заняться «зеленому» игроку – постараться усовершенствовать свою игру, и тогда винрейт увеличится сам собой.
Этот параметр вы можете найти в Holdem Manager. Если под рукой таких программ нет, то рассчитать винрейт на играемом лимите несложно. Нужно лишь разделить профит на количество раздач и размер большого блайнда и умножить полученный результат на сто.
В следующей статье мы ответим на популярный среди новичков вопрос : что такое рейкбек?
World of Tanks: от чего же зависит винрейт танков?
Сегодня мы поговорим об использовании Wargaming API, построим много графиков и проанализируем, от чего же зависит винрейт танков. Сразу хочу отметить, что я не гуру World of Tanks, и если я где-то ошибся, то напишите пожалуйста в комментариях. Все графики кликабельны.
На гистограмме винрейта по всем танкам видно, что общее распределение нормальное, но есть хвост справа. Попробуем разобраться.
В игре World of Tanks многие игроки уделяют большое внимание статистике своего аккаунта, а именно винрейту (процент побед), личному рейтингу, WN8 и т.д. Для этих параметров есть формулы, которые учитывают множество характеристик. В основном на винрейт игрока влияет средний урон за бой, выживаемость, средний уровень боёв и еще нескольких параметров. Но от чего же зависит винрейт отдельного танка? Самый очевидный вариант – от игроков, которые на нём больше играют. Но сегодня я хочу провести анализ параметров танков, не включая средний урон на танке по серверу и подобные характеристики, которые мы не можем увидеть из ангара.
И так если взять отдельный бой, то в каждой команде по 15 человек, следовательно, каждый игрок в среднем влияет на исход боя на 6.66%. Если бы в команде было меньше игроков, то их бы стало сложнее балансить, а так влияние каждого сглаживается. Команды формируются матчмейкером на основе веса каждого танка так, чтобы суммарная разница весов команд была минимальна. Вес танка зависит от его уровня боёв и его класса – тяжелый, средний, лёгкий, пт или пт-сау. Общепринятое мнение в игре, что все результаты боёв сводятся к усреднённым 49% побед, столько же поражений и 2% ничьих.
Понятно, что чем больше урона игрок будет наносить и чем меньше получать, тем больше шансов выиграть, а значит повысить свой винрейт. Это в большей степени зависит от самого игрока и его опыта, так как даже самый крутой танк в «не тех руках» не принесёт пользы команде.
Получение данных
Чтобы получить данные можно воспользоваться публичным Wargaming API, который предоставляет довольно много различных сведений об игроках и технике. С помощью GET запроса с полем account_id по адресу https://api.worldoftanks.ru/wot/account/tanks/ можно получить информацию о технике игрока, а именно общее количество боёв и побед на каждом танке в json формате. Я делал в лоб: в цикле от 0 до 40кк пытался получить данные по всем account_id. Отрывок кода на python:
Конечно можно было воспользоваться модулем для многопоточности или для асинхронности, что несомненно бы ускорило загрузку. На моём компьютере скрипт работал 2 дня и скачал данные о 26млн пользователей. Так как я уезжал на выходные, то 2 дня загрузки были не критичны.
Далее мы можем посчитать винрейт для каждого танка (всего 450), а также получить подробные характеристики по всей технике. Характеристики можно получить запросом на https://api.worldoftanks.ru/wot/encyclopedia/vehicles/, но API не говорит нам, какие модули являются топовыми для данного танка. В ответе этого метода есть поле “modules_tree”, в котором содержится дерево исследования модулей танка, поэтому пройдя по нему можно выбрать топовые модули. По определению — это модуль наибольшего уровня, а если таких несколько, то наиболее дорогой для исследования. Теперь можно сделать запрос на https://api.worldoftanks.ru/wot/encyclopedia/vehicleprofile/ передав id нужных модулей. В итоге получаем подробные данные по 450 танкам.
Работа с признаками
Для анализа данных я использовал питоновскую библиотеку pandas. Загрузим все данные в pandas.DataFrame, получили 450 строк и 40 колонок. Список всех признаков:
Все фичи должны быть интуитивно понятны, кроме ap_damage, apcr_damage, he_damge, hc_damage и такие же с _penetration. Это урон и бронепробитие разными типами снарядов. API возвращает информацию об орудии в виде массива объектов, которые содержат данные о уроне и бронепробитие для конкретного типа снарядов. Их есть 4 типа:
API не говорит какой из снарядов основной, а какой покупается за золото, что усложняет анализ.
Создание и отбор признаков
На основе исходных данных можно получить более информативные признаки:
Методом проб и ошибок (random forest) я отобрал самые значимые признаки (но далее мы также рассмотрим еще два интересных признака):
Для тех, кто не играл в WOT, здесь отображены: уровень танка (от 1 до 10), премиумный танк или нет, количество очков прочности, мощность (лошадей/тонну), скорострельность(выстрелов/минуту), скорость сведения орудия(сек), разброс орудия(метры), скорость вперёд(км/ч), максимальный урон(хп), максимальное бронепробитие(мм), урон в минуту(хп/мин), броня(мм).
Нормализация признаков
Перед тем как приступить к анализу нужно нормализовать некоторые фичи. Мы хотим получить значения, не зависящие от уровня танка, поэтому для каждого уровня будем нормализовывать отдельно. Другими словами, сделаем так, чтобы среднее значение признаков по уровню было равно 0. Такую нормализацию я провёл для максимального урона, максимального бронепробития, урона в минуту, брони, прочности и мощности.
Анализ данных
Зависит ли винрейт от нации техники? Логично предположить, что нет, так как разработчики пытаются максимально сбалансировать это. Давайте построим график. Для построения графиков я использовал библиотеку seaborn:
В глаза сразу бросаются чешские танки – среднее значение винрейта 51%, но и разброс самый большой. Это объяснятся тем, что ветка относительно новая и многие игроки, которые уже выкачали всё, что только можно, бросились выкачивать и эту ветку. Понятно, что такие игроки довольно скиловые, поэтому и процент побед выше среднего. Также еще не все, кто играют против чехов, знают их слабые места и зоны пробития. Но со временем значение винрейта скорее всего выровняется (а если нет, то WG понерфит многие танки в ветке).
А как обстоят дела с классом техники, какой класс «нагибает»? Построим похожий график:
Видно, что самый большой шанс победить на среднем танке, а самый маленький на лёгких танках и артиллерии. То, что на лёгких танках такое значение — понятно. Многие игроки на этом классе, несутся сломя голову вперёд, сразу после начала боя, и естественно сливаются, не принося особой пользы команде. Арта это вообще отдельная тема, которую не будем здесь обсуждать.
Далее мы не будем говорить об этих двух признаках, так как они не вносят особой пользы в модель на основе random forest.
Посмотрим на корреляцию выбранных раннее признаков и процента побед:
Выделяется сильная корреляция is_premium с winrate. Неужели премиумные танки намного лучше обычных? Не совсем так. Такая сильная зависимость скорее всего объясняется тем, что на премиумной технике играют опытные игроки, чтобы фармить серебро, так как у многих танков, покупаемых за золото, льготный уровень боёв, больше серебра за бой, возможность быстрой прокачки экипажа. Можно построить график и посмотреть, как распределён винрейт на премиумной и обычной технике:
Видно, что плотность распределения побед на обычной технике — это Гаусовское нормальное распределение со средним значением 49%. Плотность распределения побед на премиумной технике вытянута в сторону большего винрейта, среднее значение 52%, а дисперсия намного больше чем у обычной техники.
В игре всего 114 премиумных танка, а это 25% от общего количества. На гистограмме всех танков по проценту побед мы видели хвост справа. Давайте посмотрим, какие танки попали в него:
Получается 93% танков из хвоста — премиумные. Что интересно остальные 7% (2 из 31) это чешские танки.
Также из таблицы корреляции видно, что винрейт прямо пропорционален уровню танка. Рассмотрим подробнее на графике:
Легко объяснить такую картину. На первых двух уровнях техники такой маленький винрейт из-за того, что все начинающие игроки портят статистику танкам из-за отсутствия опыта. Также на первых уровнях больше шансов оказаться внизу списка. На 10 уровне наоборот, ты всегда в топе. Также на 9-10 уровне играть без премиум аккаунта убыточно, поэтому большинство людей там, играют с премиумом.
Из оставшихся признаков прямо пропорциональны винрейту: прочность, скорость вперёд, урон в минуту и броня. Обратно пропорциональны: скорость сведения, разброс орудия. Пока всё очевидно, но дальше видно, что максимальный урон и бронепробитие обратно пропорциональны проценту побед.
Это странно, ведь чем больше танк наносит урона, тем лучше. Так и есть. Если еще раз взглянуть на то, как я получал значения для максимального урона, можно догадаться в чем подвох. Я просто брал максимальные значения урона и бронепробития из всех возможных снарядов для топового орудия. Но ведь чаще всего самый большой урон у фугасов (при самом маленьком бронепробитие), а фугасы далеко не самые часто используемые снаряды у обычных танков, получаем неточность. Также разовый урон может быть большой, а урон в минуту маленький из-за долгой перезарядки. Более того, отрицательное значение корреляции возможно связано с тем, что у артиллерии обычно самый большой урон и самый маленький винрейт – отсюда и обратная пропорциональность.
Важность признаков
Теперь можно построить random forest на этих данных и посмотреть на результат. Random forest это один из самых распространённых алгоритмов машинного обучения, основанный на усреднении результатов множества разных деревьев решений. Этот алгоритм хорошо подходит для того чтобы узнать важность отдельных признаков:
Я пробовал разные параметры и признаки, но сильно уменьшить ошибку мне не удалось. Видно, что алгоритм в среднем ошибается в предсказаниях на 1.3% процента. А теперь посмотрим на важность признаков для этого леса:
Получилось, что для этой модели наиболее важным параметром оказалось – премиумный танк или нет, важность этого признака в два раза больше чем следующего по убыванию за ним. Следующие четыре по важности признака – это характеристики орудия, что тоже предсказуемо. Можно заметить, что я также добавил фичу принадлежности к чешской нации, так как это немного уменьшило ошибку. А вот добавление всех остальных фичей с нациями и классами техники не улучшало работу алгоритма.
Что будет, если мы уберем из выборки премиумные танки и обучим random forest с такими же параметрами? Результаты удобно представить на boxplot:
Алгоритму сразу стало намного легче угадывать процент побед и в среднем ошибка на кросс валидации уменьшилась до 0.9%, разброс ошибки также стал существенно меньше.
Заключение
Мы посмотрели, как работать с WG API. Узнали, как винрейт зависит от нации — на данный момент на чехах он самый нестабильный, от класса техники — на средних танках самый большой, а на арте самый маленький. Также увидели прямолинейную зависимость от уровня. Проанализировали, какие признаки у танка сильнее всего влияют на победу в бою — премиумный танк или нет, а также параметры орудия. Еще мы построили простую модель, которая относительно точно по характеристикам танка может предсказать его процент побед.
Upd: saw_tooth навёл на мысль построить график по винрейту от уровня техники и типа отдельно (кликабельно):
P.S.: Если вы тоже хотите поработать с этим датасетом, но не хотите загружать данные через API то пишите мне.
Принудительный винрейт в 50% — миф. Разработчик Dota 2 поделился подробностями о матчмейкинге
Матчмейкинг «Доты» всегда становился предметом ожесточённых споров и жалоб. Многие стримеры и профессиональные игроки после потери драгоценных очков MMR часто сетовали на «скрытый пул» и на то, как система специально сводит игроков к винрейту в 50%.
Так и формировались в сообществе конспирологические теории, ведь вслед за ними это подхватывали начинающие дотеры, которым тоже хотелось найти виноватого в своих поражениях — разумеется, без аргументов. Вот и пост на реддите под названием «Система 50%-го винрейта Valve» мог бы стать очередным гаданием на кофейной гуще, если бы в комментарии не заглянул разработчик Valve.
Ещё одна конспирологическая теория
Пользователь /u/Extract изучил известный материал про систему матчмейкинга EA, с помощью которой корпорация хочет максимизировать вовлечённость юзеров и увеличить их вложения в игры. Вдохновлённый прочитанным, он решил применить свои детективные способности на благо сообщества и в сотый раз раскрыть, как же на самом деле работает система в «Доте». Его доказательствами стали «собственные ощущения» после 1500 матчей за 9 месяцев, посты других конспирологов и некие слова Никиты «Daxak» Кузьмина о том, что в HoN у него было несколько аккаунтов в топ-100 с 90% винрейтом, а в «Доте» же он «наглядно видит систему 50%-го винрейта».
Теория пользователя была такова: система матчмейкинга «Доты», как и EA, подбирает игроков не на основе скилла, а для того, чтобы удержать их в игре [в общем смысле, не в конкретном матче] как можно дольше. Разработчики якобы рассчитали, что позитивные эмоции от длинных винстриков перевешивают негативные от кучи поражений. Поэтому теперь система пытается выстраивать матчи так, чтобы каждый игрок проходил через череду побед и поражений, в итоге оставаясь на том же рейтинге, что и начал. Мало того, она ещё и «награждает» за сложные матчи, планируя лёгкую победу в будущем после разгромного поражения, и наоборот.
Для достижения этих целей алгоритм рассчитывает вероятный исход матча и то, как разные комбинации игроков повлияют на их скорость оттока. Исходя из этих факторов, он формирует команды так, чтобы минимизировать количество пользователей, которые хотят на время или насовсем перестать играть в «Доту». При этом Extract отметил, что система вряд ли грубо приводит игроков к винрейту в 50%. Скорее, она делает это событие «статистически более вероятным».
Комментаторы справедливо заметили, что никаких доказательств автор не предоставил, на что тот ответил, что если бы ему заплатили за исследование, он бы сумел выдать более «релевантные» данные. А пока же читателям придётся полагаться на его ощущения и знания о том, как работают системы матчмейкинга и алгоритмы машинного обучения. После чего он вступил с критиками в обычную интернет-перепалку с оскорблениями и полным отсутствием новых аргументов. К счастью, от скатывания в болото тред спас разработчик Valve Джефф Хилл, который часто появляется на реддите.
Что рассказал разработчик
Хилл раскрыл несколько деталей о том, как работает система. Во-первых, финансовые показатели в духе потраченных сумм на «Доту» или стоимости инвентаря не играют никакой роли в матчмейкинге. Если бы система была направлена на удержание пользователей, это, скорее всего, играло бы роль. Ведь «Дота» — условно-бесплатная игра, а значит, разработчики должны быть наиболее заинтересованы в платёжеспособных игроках.
Во-вторых, он развеял миф о том, что, кроме публичного MMR, есть ещё и секретный показатель «настоящего скилла», который влияет на подбор в ранкеде. Алгоритм оценивает умения пользователя только через публичный ранг. В системе есть скрытый показатель, но он используется только для того, чтобы подбирать игроков в нерейтинговых матчах. Всё для того, чтобы сделать их более честными.
В-третьих, Джефф Хилл подтвердил, что матчмейкинг учитывает много других факторов, кроме чистого скилла игроков. Но эти факторы, скорее, можно назвать социальными: порядочность, предпочтительный язык, географическое положение, количество сыгранных матчей на аккаунте и прочее. При этом чем уже возможный пул игроков, тем меньшую роль играют эти побочные факторы. Иначе поиск на очень высоком рейтинге занимал бы ещё больше времени.
Valve не пытается «оптимизировать скорость оттока пользователей» или «максимизировать вовлечённость». Разработчики убеждены, что для удержания игроков нужно просто делать матчи как можно более честными и интересными. Поэтому алгоритм подбирает участников по двум общим критериям: чисто математический баланс сторон (и та, и другая должны иметь равный изначальный шанс на победу) и более абстрактный фактор того, насколько этот матч должен «понравиться игрокам».
Хилл объяснил, что в системе, которая стремится честно подбирать матчи на основании скилла, винрейт большинства игроков на дистанции в любом случае будет стремиться к 50%. Если пользователь много выигрывает, то он начинает попадать в игры с более высоким средним MMR, победить в которых становится всё сложнее. Поэтому если его скилл не растёт или растёт слишком медленно относительно того, сколько он играет, то поражения рано или поздно настигнут его. Винрейт в 50% не является целью или ограничением алгоритма — скорее, он возникает из-за того, что пользователи играют много матчей в системе, которая пытается дать всем равный шанс на победу.
В качестве примера разработчик предложил представить, что у одного игрока на большой дистанции винрейт составлял бы 70%. То есть в честной системе его команды имели в совокупности 70% шанс на победу, что противоречит главному требованию алгоритма о честных матчах. В таком случае можно прийти к выводу, что алгоритм ошибся, и уровень скилла игрока в системе обновлялся недостаточно быстро, как это может происходить со смурфами или бустерами, которые портят шансы для остальных.
Матчмейкинг Dota 2 далеко не идеален. Но даже в системе без проблем большинство игроков были бы близки к винрейту в 50%, ведь в этом и смысл подбора пользователей по скиллу. Поэтому если хочется выигрывать больше, нужно научиться лучше играть. К такому же выводу изначально пришёл и автор поста — хоть в чём-то он оказался прав. А вот признать свою неправоту в остальном он так и не смог, продолжив спорить даже после раскрытия подробностей.
И это наглядный пример того, что даже объяснения разработчика Dota 2, к сожалению, не избавят комьюнити от конспирологов. Ведь куда проще обвинить в поражениях Valve, матчмейкинг, плохих тиммейтов, бустеров, плохой пинг, инопланетян — кого угодно, только не себя любимого.