Jak działa MMR checker

Co to MMR w LoL-u? To ukryty rating, którego Riot nigdy nie publikuje, więc każda liczba pokazana przez checker to szacunek. Ta strona dokładnie opisuje, jak LoLValue tworzy swój szacunek, jakie publiczne dane czyta i jak bardzo może się mylić.

Sprawdź swoje MMR w LoL-u · ARAM MMR checker

Aktualizacja: wrzesień 2026 · Autor: Zespół LoLValue

Podsumowanie

MMR checker LoLValue łączy maksymalnie trzy niezależne sygnały z publicznych danych Riotu: twoją rangę i winrate, średni rating lobby, do których cię dobrano, oraz PL, które faktycznie zdobywasz między dwoma sprawdzeniami. Każdy sygnał zamieniamy na liczbę na jednej wspólnej skali MMR, sygnały łączymy z wagami zależnymi od tego, ile danych za nimi stoi, a wynik podajemy z marginesem błędu i poziomem pewności.

Trzy sygnały w skrócie
SygnałŹródłoDostępnośćWaga w połączeniu
A. Ranga i winrateEndpoint league entries: krąg, dywizja, PL, wygrane, porażkiOd razu, dla kolejek rankingowychOd 30% do 100%, zależnie od liczby odczytanych lobby
B. Średnia lobbyLista meczów plus rangi pozostałych dziewięciu graczy w każdej z 10 ostatnich gierPo kilku sekundach analizy w tleDo 70%
C. Obserwowane PLTwoje obecne PL i bilans w porównaniu z ostatnim zapisanym sprawdzeniemOd drugiego sprawdzenia, jeśli rozegrano 3+ gry25% wartości końcowej

Nic na tej stronie nie korzysta z danych prywatnych. Każda liczba pochodzi z endpointów, które może wywołać każdy programista z kluczem Riot API, więc każdy może też odtworzyć szacunek, postępując według kroków poniżej.

Krok 1: jedna skala MMR dla każdej rangi

Rangi zamieniamy na liczby na skali liniowej: Żelazo IV z 0 PL to 0, każdy krąg jest wart 500 punktów, każda dywizja 125, a każdy PL 1,25. Mistrz zaczyna się od 3500, a od tego miejsca skala rośnie już tylko z PL: Mistrz z 400 PL to 4000, a Arcymistrz i Pretendent to po prostu Mistrz z większą liczbą PL.

MMR(rank) = 500 × tier_index + 125 × division_index + 1.25 × PL

tier_index:     Żelazo 0, Brąz 1, Srebro 2, Złoto 3, Platyna 4, Szmaragd 5, Diament 6
division_index: IV 0, III 1, II 2, I 3
apex:           Mistrz, Arcymistrz, Pretendent = 3500 + 1.25 × PL
Punkty odniesienia na skali
RangaMMR
Żelazo IV, 0 PL0
Brąz IV500
Srebro IV1000
Złoto IV1500
Złoto I, 50 PL1938
Platyna IV2000
Szmaragd IV2500
Diament IV3000
Diament I, 100 PL3500
Mistrz, 500 PL4125

Wewnętrzny rating Riotu nie leży na tej skali i nikt spoza Riotu nie zna jego dokładnego zakresu. Skala istnieje po to, żeby dało się porównać wszystkie sygnały i przełożyć wynik z powrotem na rangę, którą znasz. Każda skala liniowa dałaby te same werdykty. Wybraliśmy tę, bo 100 PL odpowiada w niej dokładnie jednej dywizji.

Krok 2: metoda A, ranga i winrate

Metoda A daje natychmiastową odpowiedź. Zaczyna od MMR twojej widocznej rangi i przesuwa je o twój winrate w tej kolejce, zależnie od tego, na ilu grach ten winrate się opiera. Winrate 50% zostawia MMR rangi bez zmian. Winrate wyraźnie powyżej 50% na wielu grach podnosi szacunek ponad rangę, bo system dobierania graczy już ocenia cię wyżej, niż pokazuje ranga.

confidence = min(1, games / 50)
adjust     = (winrate − 0.50) × 1500 × confidence
adjust     = clamp(adjust, −250, +250)

MMR_A = MMR(rank) + adjust

Przykład: Złoto II, 40 PL, winrate 58% w 80 grach. MMR(rank) = 1500 + 250 + 50 = 1800. Pewność wynosi 1, bo 80 gier to więcej niż 50. Korekta to (0,58 − 0,50) × 1500 = +120, więc MMR_A = 1920, czyli mniej więcej dwie trzecie dywizji ponad rangą.

Limit ±250 istnieje, bo winrate to tępe narzędzie. Bez niego winrate 70% w 20 grach oznaczałby dwa całe kręgi więcej, choć zwykle stoi za nim smurf na początku wspinaczki. Metody A nigdy nie używamy w kolejkach bez rangi (zwykłe gry, Szybka Gra, ARAM). Od Mistrza w górę nadal działa, a MMR rangi to wtedy 3500 plus 1,25 za każdy PL.

Krok 3: metoda B, średnia lobby

Metoda B to najsilniejszy sygnał. System dobierania graczy buduje każde lobby z graczy, których ukryte MMR jest blisko twojego, więc rangi osób, z którymi cię dobrano, to najbliższy publiczny pomiar twojego własnego ratingu. Checker czyta twoje ostatnie dziesięć gier w wybranej kolejce, sprawdza rangę każdego z pozostałych dziewięciu graczy i zamienia każde lobby w jedną liczbę.

Dla jednego lobby

  • Każdego z dziewięciu pozostałych graczy przeliczamy na MMR według skali powyżej, używając jego rangi w analizowanej kolejce albo, jeśli jej tam nie ma, rangi z drugiej kolejki rankingowej. Graczy bez żadnej rangi pomijamy.
  • Lobby z mniej niż czterema graczami z rangą odrzucamy: to za mało punktów, żeby je opisać.
  • Przy sześciu lub więcej graczach z rangą przed uśrednieniem odrzucamy najwyższą i najniższą wartość (średnia ucinana), więc jeden smurf albo jedno konto po utracie PL za brak aktywności nie przesunie lobby.

Dla wszystkich lobby

weight(game) = 0.92 ^ recency × (ranked_seen / 9)

MMR_B = Σ lobby_mmr × weight / Σ weight

recency: 0 dla ostatniej gry, 1 dla poprzedniej i tak dalej
ranked_seen: liczba graczy spośród pozostałych dziewięciu, którzy mieli rangę

Dzięki ważeniu według świeżości ostatnia gra liczy się mniej więcej dwa razy bardziej niż dziesiąta. Czynnik ranked_seen sprawia, że lobby, w którym wszystkich dziewięciu graczy miało rangę, liczy się bardziej niż takie, w którym miało ją tylko pięciu. Dziesięć gier to domyślna próbka. To kompromis między szybkością a stabilnością, który można zwiększyć na serwerze bez zmiany czegokolwiek innego.

Metoda B ma jedno systematyczne odchylenie, o którym warto wiedzieć: rangi nie nadążają za MMR. W pierwszych tygodniach sezonu ranga każdego gracza jest poniżej jego ratingu, więc średnie lobby wychodzą wszystkim za nisko. Werdykt (powyżej lub poniżej twojej rangi) się nie zmienia, bo twoja własna ranga jest opóźniona tak samo.

Krok 4: metoda C, obserwowane PL

Metoda C wykorzystuje jedyną rzecz, którą Riot faktycznie mówi ci o twoim MMR: ile PL dostajesz za wygraną. Każde sprawdzenie zapisuje migawkę twojej rangi, PL, wygranych i porażek. Jeśli przy kolejnym sprawdzeniu od migawki starszej niż trzydzieści minut rozegrano co najmniej trzy gry, checker oblicza twoje realne PL za wygraną i przelicza je na różnicę między twoim MMR a rangą.

ladder(rank) = łączne PL od Żelaza IV 0 PL (100 na dywizję)
gain_per_win = (Δladder + Δlosses × 42) / (Δwins + Δlosses)

ważne, gdy rozegrano 3+ gry i 8 ≤ gain_per_win ≤ 40

gap_C = (gain_per_win − 21) × 18

Liczba 42 w pierwszym wzorze to zakładana suma jednej wygranej i jednej porażki w PL (21 + 21). Dzięki niej wzór może oddzielić zyski od strat, choć widzi tylko zmianę netto. Drugi wzór to odwrotność prognozy PL opisanej niżej: przy zerowej różnicy oczekiwany zysk to 21 PL, a każde 18 MMR różnicy przesuwa go o 1 PL.

Przykład: między dwoma sprawdzeniami gracz przeszedł ze Złota II 40 PL do Złota I 20 PL (+80 PL na drabince), z 6 wygranymi i 3 porażkami. gain_per_win = (80 + 3 × 42) / 9 = 22,9 PL. gap_C = (22,9 − 21) × 18 = +34 MMR, więc jego MMR jest lekko powyżej rangi. Sygnału używamy tylko w kolejkach rankingowych poniżej Mistrza (najwyższe kręgi nie mają dywizji, które dałoby się sprowadzić do jednej drabinki PL) i odrzucamy go, gdy liczby nie mają sensu, na przykład po ochronie przed degradacją albo po utracie PL za brak aktywności.

Krok 5: łączenie sygnałów

Trzy liczby łączymy z wagami, które rosną razem z ilością danych stojących za każdą z nich. Średnia lobby zajmuje do 70% połączenia, gdy odczytamy dziesięć lobby. Przy mniejszej liczbie lobby jej udział maleje, a resztę wypełnia metoda A. Obserwowane PL, gdy są dostępne, przyciągają potem wynik o jedną czwartą drogi w stronę wartości, którą wskazują.

w_B    = min(0.70, lobbies_read / 12 × 0.70)
MMR_AB = MMR_B × w_B + MMR_A × (1 − w_B)

jeśli obserwowane PL są dostępne:
    MMR    = MMR_AB × 0.75 + (MMR(rank) + gap_C) × 0.25
w przeciwnym razie:
    MMR    = MMR_AB
Wagi w zależności od sytuacji
SytuacjaMetoda AMetoda BMetoda C
Natychmiastowa odpowiedź, jeszcze bez odczytanych lobby100%0%0%
5 odczytanych lobby71%29%0%
10 odczytanych lobby42%58%0%
12+ odczytanych lobby30%70%0%
10 odczytanych lobby, drugie sprawdzenie z 3+ grami31%44%25%
ARAM, zwykłe gry, Szybka Gra lub gracz bez rangi0%100%0%

Dlatego liczba na stronie wyniku zmienia się w pierwszych sekundach: natychmiastowa odpowiedź to sama metoda A, a z każdym odczytanym lobby połączenie przesuwa się w stronę metody B. Dopóki analiza się nie skończy, strona pokazuje tymczasowy werdykt, żeby chwilowa zmiana nie została odczytana jako ostateczna odpowiedź.

Krok 6: margines błędu i pewność

Każdy szacunek pokazujemy jako wartość plus minus margines. Margines nie jest statystycznym przedziałem ufności. To skalibrowany zapas, który maleje, gdy do połączenia trafia więcej niezależnych danych.

margin = 170                          tylko z metodą A
margin = 150 − 8 × min(12, lobbies)   gdy odczytano lobby
margin = margin − 10                  gdy dostępne są obserwowane PL
margin = max(margin, 45)

confidence: wysoka, gdy margin ≤ 70, średnia, gdy ≤ 110, w innym przypadku niska
Typowe marginesy
Dane za szacunkiemMarginesPewność
Tylko ranga i winrate±170 MMR (około 1,4 dywizji)Niska
5 lobby±110 MMRŚrednia
10 lobby±70 MMR (około pół dywizji)Wysoka
10 lobby plus obserwowane PL±60 MMRWysoka
12 lobby plus obserwowane PL±45 MMRWysoka

Gdy porównamy margines z różnicą między twoim szacunkiem a rangą, wynika z tego werdykt: różnica co najmniej +60 MMR to „powyżej twojej rangi”, co najwyżej −60 to „poniżej”, a wszystko pomiędzy to „zgodne”. Sześćdziesiąt MMR to pół dywizji, czyli najmniejsza różnica, która zmienia zyski PL bardziej niż szum między dwiema grami.

Krok 7: prognoza zysków PL i liczby gier do awansu

Prognoza PL zamienia różnicę między szacowanym MMR a twoją rangą na oczekiwane PL za wygraną i za porażkę. Przy zerowej różnicy checker zakłada symetryczne 21 PL. Każde 18 MMR dodatniej różnicy dodaje 1 PL do wygranych i odejmuje 1 PL od porażek, w przedziale od 10 do 35 PL.

shift    = gap / 18
LP_win   = clamp(round(21 + shift), 10, 35)
LP_loss  = clamp(round(21 − shift), 10, 35)

games_to_next_division(winrate) = najmniejsze n, dla którego
    PL + n × (winrate × LP_win − (1 − winrate) × LP_loss) ≥ 100

wins_in_a_row = ceil((100 − PL) / LP_win)

Przykład: szacunek 1920 przy randze Złoto II na poziomie 1750 daje różnicę +170. shift = 9,4, więc LP_win = 30, a LP_loss = 12. Od 40 PL, przy winrate 55%, każda gra jest średnio warta 0,55 × 30 − 0,45 × 12 = 11,1 PL, więc do Złota I zostaje około sześciu gier. Dwie wygrane z rzędu też by wystarczyły.

Stałe 21 i 18 dopasowaliśmy do zysków PL zgłaszanych przez graczy od Złota do Diamentu w obecnym sezonie. To część modelu, która najpewniej się zmieni: gdy Riot zmienia zyski PL, dopasowujemy te dwie liczby na nowo i aktualizujemy tę stronę o nowe wartości.

Krok 8: percentyl

Percentyl odpowiada na pytanie „jaki odsetek graczy rankingowych jest poniżej tego MMR”. Pochodzi z naszego własnego codziennego liczenia wszystkich graczy w kolejce solo/duet we wszystkich regionach, czyli z tych samych danych, które pokazuje strona LoL rank distribution.

  • Każda dywizja od Żelaza IV do Diamentu I staje się jednym punktem: jej dolną granicą na skali MMR i odsetkiem graczy poniżej niej.
  • Mistrz zaczyna się od 3500. Arcymistrz i Pretendent zaczynają się od 3500 plus 1,25 MMR za każdy PL najsłabszego danego dnia gracza z Arcymistrza i z Pretendenta, więc ich dolne granice podążają za prawdziwymi progami.
  • Między dwoma punktami percentyl jest interpolowany liniowo.

Tabelę budujemy od nowa za każdym razem, gdy zapisujemy nowe dzienne liczenie. Wpływa ona tylko na linię z percentylem w wyniku. Szacunek MMR, werdykt i prognoza PL od niej nie zależą. Zanim pojawi się pierwsze liczenie, checker korzysta z przybliżonej tabeli.

Znane ograniczenia i odchylenia

Uczciwy checker mówi, gdzie się myli. Oto przypadki, w których szacunek LoLValue jest najmniej wiarygodny.

Gdzie szacunek jest najsłabszy
PrzypadekSkutekCo robi checker
Początek sezonuWszystkie rangi nie nadążają za MMR, średnie lobby wychodzą za niskoWerdykt pozostaje ważny, bo twoja ranga też jest opóźniona. Sama liczba przez kilka tygodni wychodzi za nisko
Nowe konto lub smurfSkrajny winrate, lobby szybko idą w góręMetoda A ma limit ±250. Metoda B nadrabia w ciągu 10 gier
Gry w duecie lub w umówionej grupieLobby odzwierciedlają grupę, a nie pojedynczego graczaBrak korekty. Sprawdź po grach solo, żeby mieć czystszą próbkę
Lobby pełne graczy bez rangiMało punktów do odczytania w każdej grzeGry z mniej niż 4 graczami z rangą są pomijane, margines rośnie
Mistrz i wyżejMała pula graczy, duży rozrzut MMR w lobbyObserwowane PL nie są używane, tylko ranga, winrate i średnia lobby
Utrata PL za brak aktywności, ochrona przed degradacją, uniknięcia gry (dodge)Zmiany PL, które nie są wygranymi ani porażkamiObserwowane PL są odrzucane, gdy wyliczony zysk wypada poza przedziałem 8-40 PL

Rating, którego używa Riot, nie jest publiczny, więc nie ma prawdziwej wartości, z którą można by porównać wynik. Najlepszym dostępnym testem jest spójność: to samo konto sprawdzone tego samego dnia różnymi narzędziami opartymi na lobby mieści się w granicach około jednej dywizji, a sygnał z obserwowanych PL, czyli własna informacja zwrotna Riotu, zgadza się z połączonym szacunkiem w zdecydowanej większości drugich sprawdzeń.

Dane, cache i limity zapytań

Checker czyta wyłącznie publiczne dane z Riot API: konto przypisane do Riot ID, wpisy rankingowe tego konta, listę ostatnich meczów i uczestników każdego meczu. Nie musisz się logować i nie są używane żadne hasła, adresy e-mail ani dane z klienta.

  • Ranga każdego gracza widzianego w lobby jest przechowywana w cache przez sześć godzin, więc współgracze popularnego gracza nie są pobierani od nowa przy każdym sprawdzeniu.
  • Gotowy wynik jest przechowywany w cache przez pięć minut. Jeśli sprawdzisz to samo konto dwa razy w tym czasie, od razu dostaniesz tę samą odpowiedź.
  • Migawki (ranga, PL, wygrane, porażki i szacunek z chwili sprawdzenia) są zapisywane, żeby metoda obserwowanych PL działała przy kolejnym sprawdzeniu i żeby strona mogła pokazać historię twojego MMR.
  • Z jednego adresu IP można wykonać dwanaście sprawdzeń na minutę, a serwer analizuje jednocześnie cztery konta, dzięki czemu narzędzie mieści się w limitach Riot API dla wszystkich.
  • Raz dziennie serwer liczy też graczy w każdym kręgu i każdej dywizji rankingu solo/duet w każdym regionie. Z tych danych powstaje percentyl i strona z rozkładem rang.

Jeśli chcesz odtworzyć szacunek, wystarczą kroki z tej strony: każdy programista z kluczem Riot API może wywołać te same endpointy i zastosować te same wzory. Właśnie po to je publikujemy.

Historia zmian

  • Wrzesień 2026. Percentyl przeszedł z przybliżonej tabeli na nasze codzienne liczenie wszystkich graczy w kolejce solo/duet (zobacz rozkład rang).
  • Wrzesień 2026. Publikacja metodologii. Połączenie trzech sygnałów, tymczasowy werdykt w trakcie analizy, ARAM checker na osobnej stronie.

Zmiany wzorów zapisujemy tutaj z datą wejścia w życie, więc wynik sprzed zmiany można odczytać według zasad, które go wyliczyły.

FAQ: metodologia

Jak liczone jest MMR w League of Legends?

Własne MMR Riotu to ukryty rating, który zmienia się po każdej grze zależnie od wyniku i tego, jak prawdopodobny był ten wynik. Riot nie publikuje ani wzoru, ani liczby. Checkery takie jak ten szacują je z publicznych danych: z twojej rangi i winrate'u, rang graczy, z którymi cię dobiera, i PL, które dostajesz za wygraną.

Który sygnał jest najważniejszy?

Średnia lobby. System dobierania łączy cię z graczami o podobnym MMR, więc rangi twoich ostatnich lobby opisują twój rating lepiej niż twoja ranga. Gdy odczytamy dziesięć gier, średnia lobby zajmuje do 70% połączenia.

Dlaczego moja liczba zmieniała się podczas ładowania strony?

Pierwsza odpowiedź korzysta tylko z rangi i winrate'u. Z każdą odczytaną grą coraz większą rolę przejmuje średnia lobby, więc liczba się przesuwa, a werdykt może się odwrócić. Dopóki analiza trwa, strona pokazuje oznaczenie „tymczasowy”.

Dlaczego różne strony z MMR pokazują różne liczby?

Każda strona ma własną skalę i własny zestaw sygnałów. Dwa narzędzia oparte na lobby zwykle różnią się najwyżej o jedną dywizję. Strona, która czyta tylko rangę i winrate, może być dalej od prawdy. Porównuj rangę, której odpowiada liczba, a nie samą liczbę.

Czy margines to prawdziwy przedział ufności?

Nie. To skalibrowany zapas, który maleje wraz z ilością odczytanych danych: ±170 MMR przy samej randze i winrate, około ±70 przy dziesięciu lobby, w najlepszym razie ±45. Traktuj go jako „prawdziwa wartość najpewniej mieści się w tym przedziale”, a nie jako formalną statystykę.

Skąd checker zna moje zyski PL?

Przewiduje je z różnicy między szacowanym MMR a twoją rangą: 21 PL przy zerowej różnicy plus 1 PL na każde 18 MMR różnicy, w przedziale od 10 do 35. Od drugiego sprawdzenia odczytuje też PL, które faktycznie zdobywasz, i uwzględnia je w szacunku.

Dlaczego ARAM pokazuje rangę rankingową?

ARAM nie ma własnej rangi, więc jedyny publiczny sposób na opisanie lobby w ARAM to rangi z kolejki solo/duet lub elastycznej graczy, którzy w nim są. Wynik ARAM to rankingowy odpowiednik poziomu twoich lobby.

Czy checker korzysta z danych prywatnych albo z klienta?

Nie. Wszystko pochodzi z publicznych endpointów Riot API: wyszukiwania konta, wpisów rankingowych, list meczów i uczestników meczów. Nie ma logowania.

Czy mogę samodzielnie odtworzyć szacunek?

Tak. Skala, trzy metody, wagi i zasady marginesu są na tej stronie. Z kluczem deweloperskim Riot i tymi samymi endpointami dostaniesz tę samą liczbę.

Jak często aktualizujecie wzory?

Za każdym razem, gdy Riot zmienia zyski PL albo strukturę rankingu. Wtedy dopasowujemy stałe PL na nowo, a zmianę zapisujemy z datą w historii zmian na tej stronie.

LoL MMR checker · ARAM MMR checker · Jak działa szacowanie MMR · Rozkład rang w LoL-u · Rangi w LoL-u po kolei · Darmowa rotacja bohaterów LoL · Kalkulator wartości konta LoL · Wasted on LoL: twój czas w LoL-u · Skórki LoL

Serwis LoLValue nie jest wspierany przez Riot Games i nie odzwierciedla poglądów ani opinii Riot Games, ani żadnej osoby oficjalnie zaangażowanej w tworzenie lub zarządzanie markami Riot Games. Wartości MMR na tej stronie to szacunki oparte na publicznych danych z meczów.