{"id":2556,"date":"2026-07-09T07:00:00","date_gmt":"2026-07-09T06:00:00","guid":{"rendered":"https:\/\/olgamironczuk.pl\/?p=2556"},"modified":"2026-08-04T09:37:47","modified_gmt":"2026-08-04T08:37:47","slug":"droga-do-trofeum-mistrzostwa-swiata-w-pilce-noznej-2026","status":"publish","type":"post","link":"https:\/\/olgamironczuk.pl\/en\/droga-do-trofeum-mistrzostwa-swiata-w-pilce-noznej-2026\/","title":{"rendered":"Droga do Trofeum &#8211; Mistrzostwa \u015awiata w Pi\u0142ce No\u017cnej 2026"},"content":{"rendered":"<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"426\" height=\"240\" src=\"https:\/\/olgamironczuk.pl\/wp-content\/uploads\/2026\/07\/MS2026.gif\" alt=\"\" class=\"wp-image-2575\"\/><\/figure>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<p class=\"has-small-font-size wp-block-paragraph\"><strong>Project:<\/strong> Droga do Trofeum &#8211; Mistrzostwa \u015awiata w Pi\u0142ce No\u017cnej 2026<br><strong>Tools:\u00a0<\/strong>Python, PostgreSQL (Supabase), API-Football, GitHub, JavaScript<br><strong>Description:\u00a0<\/strong>Model codziennie liczy szanse ka\u017cdej reprezentacji na mistrzostwo na podstawie statystyk meczowych i rankingu FIFA, a symulacja Monte Carlo wyznacza prawdopodobie\u0144stwo zdobycia tytu\u0142u.<br><strong>Objective:<\/strong>\u00a0Sprawdzenie, czy prosty, przejrzysty model statystyczny (bez uczenia maszynowego) potrafi sensownie odtworzy\u0107 i prognozowa\u0107 przebieg ca\u0142ego turnieju na podstawie samych statystyk meczowych i rankingu FIFA.<strong><br>Data:\u00a0<\/strong>API-Football oraz FotMob<br><strong>Repository:<\/strong> <img decoding=\"async\" style=\"width:26px; height:auto; vertical-align:middle; position:relative; top:0px; margin:0 6px 0 6px;\" src=\"http:\/\/olgamironczuk.pl\/wp-content\/uploads\/2026\/01\/github-mark.png\" alt=\"GitHub\"> <a href=\"https:\/\/github.com\/Waderlla\/Road_to_the_trophy_2026\" data-type=\"link\" data-id=\"https:\/\/github.com\/Waderlla\/Warkan_-_Cost-Aware_AI_Assistant_for_Blog_Search\" target=\"_blank\" rel=\"noreferrer noopener\">See on GitHub<\/a><\/p>\n<\/div>\n<\/div>\n\n\n\n<!--more Czytaj wi\u0119cej-->\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Introduction<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Strona projektu:<\/strong>&nbsp;<a href=\"https:\/\/waderlla.github.io\/Road_to_the_trophy_2026\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/waderlla.github.io\/Road_to_the_trophy_2026\/<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:15px\"><strong>Droga do Trofeum 2026<\/strong> to interaktywny projekt analityczny pokazuj\u0105cy, jak w trakcie Mistrzostw \u015awiata w Pi\u0142ce No\u017cnej 2026 zmieniaj\u0105 si\u0119 szanse poszczeg\u00f3lnych reprezentacji na zdobycie pucharu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To nie jest klasyczna tabela wynik\u00f3w. Strona nie pokazuje tylko tego, kto wygra\u0142 dany mecz. Jej g\u0142\u00f3wnym celem jest odpowied\u017a na pytanie &#8222;Kto w danym dniu turnieju ma najwi\u0119ksz\u0105 szans\u0119 zosta\u0107 mistrzem \u015bwiata i dlaczego?&#8221;.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Projekt \u0142\u0105czy dane meczowe, statystyki dru\u017cyn, ranking FIFA, terminarz turnieju oraz symulacje komputerowe, aby dzie\u0144 po dniu pokazywa\u0107, jak zmienia si\u0119 uk\u0142ad si\u0142.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Co mo\u017cna zobaczy\u0107 na stronie?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Na stronie mo\u017cna prze\u015bledzi\u0107 ca\u0142y turniej dzie\u0144 po dniu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dla wybranej daty dashboard pokazuje m.in.:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>ranking dru\u017cyn wed\u0142ug szans na mistrzostwo,<\/li>\n\n\n\n<li>lidera aktualnej prognozy,<\/li>\n\n\n\n<li>dru\u017cyny z najwi\u0119kszym wzrostem i spadkiem szans,<\/li>\n\n\n\n<li>wyniki lub zaplanowane mecze danego dnia,<\/li>\n\n\n\n<li>aktualny etap turnieju,<\/li>\n\n\n\n<li>drabink\u0119 pucharow\u0105,<\/li>\n\n\n\n<li>histori\u0119 zmian prawdopodobie\u0144stwa,<\/li>\n\n\n\n<li>szczeg\u00f3\u0142owe dane wybranej reprezentacji.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Po klikni\u0119ciu dru\u017cyny mo\u017cna zobaczy\u0107 jej dodatkowy profil: si\u0142\u0119 zespo\u0142u, najwa\u017cniejsze statystyki, prawdopodobnego rywala, szanse doj\u015bcia do kolejnych etap\u00f3w, selekcjonera, kapitana, \u015bredni wiek kadry i miejsce w rankingu FIFA.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Sk\u0105d bior\u0105 si\u0119 dane?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Dane nie pochodz\u0105 z jednego miejsca. W projekcie u\u017cy\u0142am kilku \u017ar\u00f3de\u0142, bo ka\u017cde z nich daje inny fragment informacji potrzebny do zbudowania prognozy.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pierwszym \u017ar\u00f3d\u0142em jest <strong><a href=\"https:\/\/www.api-football.com\/\" data-type=\"link\" data-id=\"https:\/\/www.api-football.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">API-Football<\/a><\/strong>. Z niego pobierane s\u0105 przede wszystkim mecze, wyniki, statusy spotka\u0144 i podstawowy terminarz. To \u017ar\u00f3d\u0142o jest u\u017cywane w skryptach importuj\u0105cych mecze oraz statystyki meczowe. Z API pochodz\u0105 m.in. gole, status meczu oraz statystyki takie jak strza\u0142y, strza\u0142y celne, posiadanie pi\u0142ki, podania, faule i kartki.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Drugim \u017ar\u00f3d\u0142em jest <strong><a href=\"https:\/\/www.fotmob.com\/pl\" data-type=\"link\" data-id=\"https:\/\/www.fotmob.com\/pl\" target=\"_blank\" rel=\"noreferrer noopener\">FotMob<\/a><\/strong>, ale nie jako automatyczne API, tylko jako zapisane lokalnie strony HTML. Te pliki s\u0105 zapisywane r\u0119cznie z przegl\u0105darki i potem przetwarzane przez skrypty projektu. FotMob jest u\u017cywany w trzech miejscach:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>zapisane strony pojedynczych mecz\u00f3w uzupe\u0142niaj\u0105 lub poprawiaj\u0105 wyniki, statusy i statystyki, szczeg\u00f3lnie wtedy, gdy API nie ma kompletnych danych;<\/li>\n\n\n\n<li>zapisana strona terminarza FotMob daje oficjalne daty i godziny przysz\u0142ych slot\u00f3w drabinki pucharowej, nawet zanim znane s\u0105 dru\u017cyny;<\/li>\n\n\n\n<li>zapisane strony dru\u017cyn FotMob dostarczaj\u0105 ranking FIFA, selekcjoner\u00f3w oraz informacje pomocnicze o kadrach.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Trzecim \u017ar\u00f3d\u0142em pomocniczym jest zapisana strona <strong><a href=\"https:\/\/soccer2026.app\/pl\/schedule\" data-type=\"link\" data-id=\"https:\/\/soccer2026.app\/pl\/schedule\" target=\"_blank\" rel=\"noreferrer noopener\">Soccer2026 \/ Bola 2026<\/a><\/strong>. To z niej mo\u017cna sprawdzi\u0107 pe\u0142ny terminarz 104 mecz\u00f3w oraz uk\u0142ad fazy pucharowej. W projekcie jest ona traktowana jako \u017ar\u00f3d\u0142o kontrolne dla terminarza i drabinki: pomaga potwierdzi\u0107, kt\u00f3re sloty fazy pucharowej istniej\u0105, w jakiej kolejno\u015bci s\u0105 rozgrywane oraz jakie maj\u0105 daty i godziny.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Osobn\u0105 kategori\u0105 s\u0105 <strong>dane wyliczane lokalnie w projekcie<\/strong>. To nie s\u0105 dane pobrane z zewn\u0105trz, tylko warto\u015bci obliczone na podstawie wcze\u015bniejszych informacji. Do tej grupy nale\u017c\u0105 m.in.:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>tabela grupowa,<\/li>\n\n\n\n<li>kolejno\u015b\u0107 dru\u017cyn w grupach,<\/li>\n\n\n\n<li>dru\u017cyny awansuj\u0105ce do fazy pucharowej,<\/li>\n\n\n\n<li>aktualna drabinka,<\/li>\n\n\n\n<li>wyeliminowane zespo\u0142y,<\/li>\n\n\n\n<li>dzienne si\u0142y dru\u017cyn,<\/li>\n\n\n\n<li>prawdopodobie\u0144stwa mistrzostwa po symulacjach.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Wszystkie dane s\u0105 zapisywane w lokalnej bazie projektu. Dzi\u0119ki temu dla ka\u017cdego dnia turnieju mo\u017cna odtworzy\u0107 stan wiedzy z tamtego momentu: jakie mecze by\u0142y ju\u017c rozegrane, jakie statystyki by\u0142y znane, kto by\u0142 jeszcze w turnieju i jak wygl\u0105da\u0142a prognoza na dalsz\u0105 cz\u0119\u015b\u0107 mistrzostw.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Jak liczone s\u0105 szanse?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Projekt najpierw ocenia aktualn\u0105 si\u0142\u0119 ka\u017cdej dru\u017cyny. Dopiero potem na podstawie tej si\u0142y symuluje mo\u017cliwy dalszy przebieg turnieju.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si\u0142a dru\u017cyny nie jest liczona wy\u0142\u0105cznie z wynik\u00f3w. Sam wynik meczu bywa myl\u0105cy. Dru\u017cyna mo\u017ce wygra\u0107 po jednym szcz\u0119\u015bliwym strzale albo przegra\u0107 mimo bardzo dobrej gry.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dlatego model najpierw zamienia surowe statystyki meczowe na sze\u015b\u0107 ocen dru\u017cyny w skali od 0 do 100:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>atak<\/strong> &#8211; gole, strza\u0142y i strza\u0142y celne,<\/li>\n\n\n\n<li><strong>obron\u0119<\/strong> &#8211; stracone gole, strza\u0142y rywala, strza\u0142y celne rywala, xG przeciwnika i czyste konta,<\/li>\n\n\n\n<li><strong>kontrol\u0119 gry<\/strong> &#8211; posiadanie pi\u0142ki, liczb\u0119 poda\u0144 i celno\u015b\u0107 poda\u0144,<\/li>\n\n\n\n<li><strong>skuteczno\u015b\u0107<\/strong> &#8211; gole w stosunku do liczby strza\u0142\u00f3w i strza\u0142\u00f3w celnych,<\/li>\n\n\n\n<li><strong>dyscyplin\u0119<\/strong> &#8211; faule, \u017c\u00f3\u0142te kartki i czerwone kartki,<\/li>\n\n\n\n<li><strong>form\u0119<\/strong> &#8211; wyniki ostatnich mecz\u00f3w, z wi\u0119ksz\u0105 wag\u0105 dla najnowszych spotka\u0144.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ka\u017cdy z tych obszar\u00f3w jest liczony troch\u0119 inaczej.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1410\" height=\"952\" src=\"https:\/\/olgamironczuk.pl\/wp-content\/uploads\/2026\/07\/screen2-e1783584684212.png\" alt=\"\" class=\"wp-image-2583\" style=\"width:840px;height:auto\" srcset=\"https:\/\/olgamironczuk.pl\/wp-content\/uploads\/2026\/07\/screen2-e1783584684212.png 1410w, https:\/\/olgamironczuk.pl\/wp-content\/uploads\/2026\/07\/screen2-e1783584684212-300x203.png 300w, https:\/\/olgamironczuk.pl\/wp-content\/uploads\/2026\/07\/screen2-e1783584684212-1024x691.png 1024w, https:\/\/olgamironczuk.pl\/wp-content\/uploads\/2026\/07\/screen2-e1783584684212-768x519.png 768w, https:\/\/olgamironczuk.pl\/wp-content\/uploads\/2026\/07\/screen2-e1783584684212-18x12.png 18w, https:\/\/olgamironczuk.pl\/wp-content\/uploads\/2026\/07\/screen2-e1783584684212-850x574.png 850w\" sizes=\"auto, (max-width: 1410px) 100vw, 1410px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:51px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Atak<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Atak nie jest oparty tylko na liczbie bramek. Bramki s\u0105 wa\u017cne, ale bywaj\u0105 losowe. Dlatego model patrzy te\u017c na to, czy dru\u017cyna regularnie tworzy sytuacje.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">W ocenie ataku:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>gole odpowiadaj\u0105 za <strong>50%<\/strong> oceny,<\/li>\n\n\n\n<li>wszystkie strza\u0142y za <strong>25%<\/strong>,<\/li>\n\n\n\n<li>strza\u0142y celne za <strong>25%<\/strong>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Je\u015bli dru\u017cyna strzela du\u017co goli i cz\u0119sto dochodzi do sytuacji, jej ocena ataku ro\u015bnie. Je\u015bli wygra\u0142a przypadkowo, oddaj\u0105c bardzo ma\u0142o strza\u0142\u00f3w, model nie podnosi jej si\u0142y a\u017c tak mocno.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Obrona<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Obrona te\u017c nie jest liczona wy\u0142\u0105cznie z liczby straconych goli. Dru\u017cyna mo\u017ce nie straci\u0107 bramki, ale pozwoli\u0107 przeciwnikowi na wiele dobrych okazji.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">W ocenie obrony:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>stracone gole odpowiadaj\u0105 za <strong>35%<\/strong>,<\/li>\n\n\n\n<li>xG przeciwnika za <strong>20%<\/strong>,<\/li>\n\n\n\n<li>strza\u0142y celne przeciwnika za <strong>20%<\/strong>,<\/li>\n\n\n\n<li>wszystkie strza\u0142y przeciwnika za <strong>15%<\/strong>,<\/li>\n\n\n\n<li>czyste konta za <strong>10%<\/strong>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Dzi\u0119ki temu model rozr\u00f3\u017cnia dru\u017cyn\u0119, kt\u00f3ra naprawd\u0119 dobrze broni, od dru\u017cyny, kt\u00f3ra tylko mia\u0142a szcz\u0119\u015bcie w jednym meczu.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Kontrola gry<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Kontrola gry opisuje, czy dru\u017cyna potrafi utrzymywa\u0107 pi\u0142k\u0119 i zarz\u0105dza\u0107 tempem meczu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">W ocenie kontroli:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>posiadanie pi\u0142ki odpowiada za <strong>40%<\/strong>,<\/li>\n\n\n\n<li>celno\u015b\u0107 poda\u0144 za <strong>30%<\/strong>,<\/li>\n\n\n\n<li>liczba poda\u0144 za <strong>30%<\/strong>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ta cz\u0119\u015b\u0107 modelu premiuje dru\u017cyny, kt\u00f3re nie tylko broni\u0105 i kontratakuj\u0105, ale potrafi\u0105 d\u0142u\u017cej prowadzi\u0107 gr\u0119.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Skuteczno\u015b\u0107<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Skuteczno\u015b\u0107 m\u00f3wi, jak dobrze dru\u017cyna zamienia sytuacje na gole.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Model patrzy na:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>gole w stosunku do wszystkich strza\u0142\u00f3w,<\/li>\n\n\n\n<li>gole w stosunku do strza\u0142\u00f3w celnych.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Obie cz\u0119\u015bci maj\u0105 po <strong>50%<\/strong> wagi.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tutaj jest jednak wa\u017cne zabezpieczenie: skuteczno\u015b\u0107 jest <strong>wyg\u0142adzana<\/strong>, czyli model nie ufa w 100% ma\u0142ej pr\u00f3bce danych.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Najpro\u015bciej m\u00f3wi\u0105c: gdy dru\u017cyna odda\u0142a bardzo ma\u0142o strza\u0142\u00f3w, jej skuteczno\u015b\u0107 nie jest liczona wy\u0142\u0105cznie z tych kilku akcji. Model dok\u0142ada do obliczenia pewn\u0105 liczb\u0119 \u201ewirtualnych\u201d strza\u0142\u00f3w o typowej, przeci\u0119tnej skuteczno\u015bci dla pi\u0142ki no\u017cnej.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">W projekcie wygl\u0105da to tak:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>dla skuteczno\u015bci ze wszystkich strza\u0142\u00f3w model zak\u0142ada typow\u0105 skuteczno\u015b\u0107 <strong>11%<\/strong>,<\/li>\n\n\n\n<li>dla skuteczno\u015bci ze strza\u0142\u00f3w celnych model zak\u0142ada typow\u0105 skuteczno\u015b\u0107 <strong>30%<\/strong>,<\/li>\n\n\n\n<li>do obu oblicze\u0144 dok\u0142adane jest <strong>15 wirtualnych strza\u0142\u00f3w<\/strong>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Czyli zamiast liczy\u0107 tylko:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>gole \/ strza\u0142y\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">model liczy:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>(gole + 15 \u00d7 typowa skuteczno\u015b\u0107) \/ (strza\u0142y + 15)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Przyk\u0142ad: je\u015bli dru\u017cyna odda\u0142a 2 strza\u0142y i zdoby\u0142a 2 gole, surowa skuteczno\u015b\u0107 wynios\u0142aby:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>2 \/ 2 = 100%\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ale po wyg\u0142adzeniu dla wszystkich strza\u0142\u00f3w model liczy:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>(2 + 15 \u00d7 0.11) \/ (2 + 15)\n= 3.65 \/ 17\n= oko\u0142o 21.5%\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">To nadal jest bardzo dobra skuteczno\u015b\u0107, ale ju\u017c nie absurdalne 100%. Dzi\u0119ki temu jeden dziwny mecz nie robi z dru\u017cyny automatycznie najbardziej skutecznej reprezentacji turnieju.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Im wi\u0119cej dru\u017cyna oddaje prawdziwych strza\u0142\u00f3w, tym mniejsze znaczenie maj\u0105 te \u201ewirtualne\u201d strza\u0142y. Na pocz\u0105tku turnieju wyg\u0142adzenie mocno stabilizuje ocen\u0119, a p\u00f3\u017aniej realne dane coraz bardziej przejmuj\u0105 kontrol\u0119.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Na ko\u0144cu oba wyg\u0142adzone wska\u017aniki &#8211; skuteczno\u015b\u0107 ze wszystkich strza\u0142\u00f3w i skuteczno\u015b\u0107 ze strza\u0142\u00f3w celnych &#8211; s\u0105 por\u00f3wnywane z wynikami pozosta\u0142ych dru\u017cyn, przeliczane do skali <strong>0\u2013100<\/strong> i \u0142\u0105czone po po\u0142owie.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Dyscyplina<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Dyscyplina ma mniejsz\u0105 wag\u0119, ale nadal wp\u0142ywa na ocen\u0119 dru\u017cyny.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Model bierze pod uwag\u0119:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>faule,<\/li>\n\n\n\n<li>\u017c\u00f3\u0142te kartki,<\/li>\n\n\n\n<li>czerwone kartki.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Czerwona kartka jest traktowana mocniej ni\u017c \u017c\u00f3\u0142ta. Dyscyplina nie decyduje sama o sile dru\u017cyny, ale mo\u017ce lekko obni\u017cy\u0107 ocen\u0119 zespo\u0142u, kt\u00f3ry gra bardzo ostro i ryzykownie.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Forma<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Forma patrzy na ostatnie mecze dru\u017cyny.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Najnowszy mecz wa\u017cy najwi\u0119cej, starsze mniej. Model uwzgl\u0119dnia wynik, r\u00f3\u017cnic\u0119 bramek i jako\u015b\u0107 rywala.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Chodzi o to, \u017ceby zauwa\u017cy\u0107, \u017ce dru\u017cyna mo\u017ce rosn\u0105\u0107 albo s\u0142abn\u0105\u0107 w trakcie turnieju, ale jednocze\u015bnie nie przereagowa\u0107 na jeden przypadkowy wynik.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Jak model por\u00f3wnuje dru\u017cyny?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Surowe statystyki maj\u0105 r\u00f3\u017cne skale. Gole, strza\u0142y, posiadanie i kartki nie daj\u0105 si\u0119 bezpo\u015brednio por\u00f3wna\u0107.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dlatego ka\u017cda statystyka jest przeliczana na skal\u0119 0\u2013100 wzgl\u0119dem pozosta\u0142ych dru\u017cyn w turnieju.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">W praktyce:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>wynik oko\u0142o&nbsp;<strong>50<\/strong>&nbsp;oznacza poziom przeci\u0119tny,<\/li>\n\n\n\n<li>wynik powy\u017cej&nbsp;<strong>50<\/strong>&nbsp;oznacza wynik lepszy od \u015bredniej,<\/li>\n\n\n\n<li>wynik poni\u017cej&nbsp;<strong>50<\/strong>&nbsp;oznacza wynik s\u0142abszy od \u015bredniej.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Model nie u\u017cywa prostego \u201enajlepszy = 100, najgorszy = 0\u201d, bo to mog\u0142oby sztucznie powi\u0119ksza\u0107 ma\u0142e r\u00f3\u017cnice. Zamiast tego bierze pod uwag\u0119, jak bardzo dana dru\u017cyna odbiega od \u015bredniej.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Jak z tych ocen powstaje jedna si\u0142a dru\u017cyny?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Po policzeniu sze\u015bciu obszar\u00f3w model sk\u0142ada je w jedn\u0105 warto\u015b\u0107:&nbsp;<strong>si\u0142\u0119 dru\u017cyny<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wagi s\u0105 nast\u0119puj\u0105ce:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>30% - atak\n30% - obrona\n15% - skuteczno\u015b\u0107\n15% - kontrola gry\n 5% - forma\n 5% - dyscyplina\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Najbardziej licz\u0105 si\u0119 atak i obrona, bo one najbezpo\u015bredniej wp\u0142ywaj\u0105 na wynik meczu. Skuteczno\u015b\u0107 i kontrola gry s\u0105 wa\u017cne, ale pomocnicze. Forma i dyscyplina maj\u0105 mniejsz\u0105 wag\u0119, \u017ceby model nie przesadza\u0142 po jednym nietypowym meczu.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Dlaczego ranking FIFA jest u\u017cywany na pocz\u0105tku?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Na pocz\u0105tku turnieju nie ma jeszcze statystyk z mecz\u00f3w mundialu. Gdyby model niczego nie wiedzia\u0142 o dru\u017cynach, wszystkie reprezentacje zacz\u0119\u0142yby z podobn\u0105 si\u0142\u0105, co by\u0142oby nieprawdziwe.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dlatego przed pierwszymi meczami model u\u017cywa punkt\u00f3w rankingu FIFA jako punktu startowego.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Oznacza to, \u017ce mocniejsze reprezentacje zaczynaj\u0105 troch\u0119 wy\u017cej, a s\u0142absze troch\u0119 ni\u017cej. Ranking FIFA nie jest jednak traktowany jako prawda absolutna. Jest tylko pocz\u0105tkow\u0105 ocen\u0105, kt\u00f3ra z ka\u017cdym kolejnym meczem ma coraz mniejsze znaczenie.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mo\u017cna to rozumie\u0107 tak:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>przed pierwszym meczem model mocniej ufa rankingowi FIFA,<\/li>\n\n\n\n<li>po kilku meczach coraz bardziej ufa realnym wynikom i statystykom z turnieju,<\/li>\n\n\n\n<li>im wi\u0119cej danych z mundialu, tym mniejszy wp\u0142yw ma punkt startowy.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">To zabezpiecza model przed dwoma b\u0142\u0119dami: przed udawaniem, \u017ce wszystkie dru\u017cyny s\u0105 na starcie r\u00f3wne, oraz przed przesadnym reagowaniem na jeden przypadkowy wynik.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Przyj\u0119te parametry modelu<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">W projekcie s\u0105 liczby, kt\u00f3re nie pochodz\u0105 bezpo\u015brednio z API. S\u0105 to&nbsp;<strong>parametry modelu<\/strong>, czyli \u015bwiadomie przyj\u0119te ustawienia. Ka\u017cdy taki parametr ma okre\u015blon\u0105 rol\u0119: stabilizuje obliczenia, ogranicza skrajne wyniki albo m\u00f3wi modelowi, jak mocno ufa\u0107 danej informacji.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dok\u0142adne wyliczenia i uzasadnienie ka\u017cdej z tych liczb na realnych danych projektu znajduj\u0105 si\u0119 w&nbsp;<code><a href=\"https:\/\/github.com\/Waderlla\/Road_to_the_trophy_2026\/blob\/main\/data\/model_parameter_checks.md\" target=\"_blank\" rel=\"noreferrer noopener\">tutaj<\/a><\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To wa\u017cne rozr\u00f3\u017cnienie:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>API dostarcza dane, np. gole, strza\u0142y, kartki, posiadanie pi\u0142ki, ranking FIFA,<\/li>\n\n\n\n<li>model decyduje, jak te dane przeliczy\u0107 na ocen\u0119 dru\u017cyny,<\/li>\n\n\n\n<li>parametry m\u00f3wi\u0105 modelowi, jak ostro albo \u0142agodnie ma reagowa\u0107.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Skala 0\u2013100 i punkt neutralny 50<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Oceny dru\u017cyn s\u0105 pokazywane w skali&nbsp;<strong>0\u2013100<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">W tej skali:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>50<\/strong>&nbsp;oznacza poziom przeci\u0119tny wzgl\u0119dem innych dru\u017cyn,<\/li>\n\n\n\n<li>wynik powy\u017cej&nbsp;<strong>50<\/strong>&nbsp;oznacza wynik lepszy od \u015bredniej,<\/li>\n\n\n\n<li>wynik poni\u017cej&nbsp;<strong>50<\/strong>&nbsp;oznacza wynik s\u0142abszy od \u015bredniej.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">To nie jest ocena szkolna ani procent wykonania zadania. To uproszczona skala por\u00f3wnawcza.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0179r\u00f3d\u0142em metody jest standaryzacja statystyczna, czyli por\u00f3wnywanie wyniku z jego \u015bredni\u0105 i odchyleniem standardowym. Taki wynik nazywa si\u0119&nbsp;<strong>z-score<\/strong>:&nbsp;<a href=\"https:\/\/en.wikipedia.org\/wiki\/Standard_score\" target=\"_blank\" rel=\"noreferrer noopener\">Standard score<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">W projekcie z-score jest potem przeliczany na czytelniejsz\u0105 skal\u0119 0\u2013100. \u015arodek skali ustawiono na 50, bo dzi\u0119ki temu \u0142atwo odczyta\u0107, czy dru\u017cyna jest powy\u017cej, czy poni\u017cej \u015bredniej.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Zakres wp\u0142ywu rankingu FIFA: 35\u201372<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ranking FIFA jest u\u017cywany jako punkt startowy przed pierwszymi meczami.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Model nie pozwala jednak, \u017ceby ranking FIFA da\u0142 dru\u017cynie od razu skrajnie nisk\u0105 albo skrajnie wysok\u0105 ocen\u0119. Dlatego punkt startowy z rankingu FIFA jest ograniczony do zakresu:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>minimum: 35\nmaksimum: 72\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Dlaczego tak?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bo ranking FIFA ma pom\u00f3c ustawi\u0107 rozs\u0105dny start, ale nie mo\u017ce przes\u0105dza\u0107 ca\u0142ego turnieju. Gdyby najlepsze dru\u017cyny zaczyna\u0142y blisko 100, a najs\u0142absze blisko 0, model zbyt mocno ufa\u0142by rankingowi sprzed turnieju. Zakres 35\u201372 zostawia r\u00f3\u017cnic\u0119 mi\u0119dzy mocnymi i s\u0142abszymi reprezentacjami, ale nadal daje ka\u017cdej dru\u017cynie miejsce na zmian\u0119 oceny po realnych meczach.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0179r\u00f3d\u0142em samego u\u017cycia rankingu FIFA jest oficjalna idea rankingu: por\u00f3wnywanie si\u0142y reprezentacji narodowych na podstawie wynik\u00f3w mecz\u00f3w. Opis rankingu i jego obecnego systemu punktowego mo\u017cna znale\u017a\u0107 tutaj:&nbsp;<a href=\"https:\/\/en.wikipedia.org\/wiki\/FIFA_Men%27s_World_Ranking\" target=\"_blank\" rel=\"noreferrer noopener\">FIFA Men\u2019s World Ranking<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Liczby&nbsp;<strong>35<\/strong>&nbsp;i&nbsp;<strong>72<\/strong>&nbsp;s\u0105 parametrami tego projektu. Nie pochodz\u0105 z FIFA. Zosta\u0142y przyj\u0119te po to, \u017ceby ranking by\u0142 punktem startowym, a nie wyrokiem.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Szeroko\u015b\u0107 wp\u0142ywu rankingu FIFA: 8 punkt\u00f3w za jedno odchylenie<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">W projekcie ranking FIFA jest najpierw por\u00f3wnywany ze \u015bredni\u0105 punkt\u00f3w rankingowych wszystkich dru\u017cyn. Potem model sprawdza, jak bardzo dana reprezentacja odbiega od tej \u015bredniej.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Przyj\u0119to, \u017ce jedno odchylenie od \u015bredniej przesuwa ocen\u0119 startow\u0105 o oko\u0142o&nbsp;<strong>8 punkt\u00f3w<\/strong>&nbsp;na skali 0\u2013100.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dlaczego 8?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bo to umiarkowana warto\u015b\u0107. Ranking FIFA wp\u0142ywa na start, ale nie dominuje ca\u0142ej oceny. Mocna dru\u017cyna zaczyna wy\u017cej, ale nie tak wysoko, \u017ceby s\u0142absza dru\u017cyna nie mog\u0142a jej dogoni\u0107 po dobrych meczach.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0179r\u00f3d\u0142em metody jest z-score, czyli mierzenie odleg\u0142o\u015bci od \u015bredniej w odchyleniach standardowych:&nbsp;<a href=\"https:\/\/en.wikipedia.org\/wiki\/Standard_score\">Standard score<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Liczba&nbsp;<strong>8<\/strong>&nbsp;jest parametrem projektu. Oznacza si\u0142\u0119 prze\u0142o\u017cenia rankingu FIFA na skal\u0119 modelu.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Przyci\u0105ganie do punktu startowego: 3 wirtualne mecze<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Na pocz\u0105tku turnieju realnych danych jest ma\u0142o. Po jednym meczu model m\u00f3g\u0142by zbyt gwa\u0142townie zmieni\u0107 ocen\u0119 dru\u017cyny.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dlatego ocena po pierwszych spotkaniach jest przyci\u0105gana do punktu startowego z rankingu FIFA. W kodzie odpowiada za to parametr:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>3 wirtualne mecze\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Mo\u017cna to rozumie\u0107 tak: zanim dru\u017cyna rozegra wi\u0119ksz\u0105 liczb\u0119 mecz\u00f3w, model nadal zachowuje w pami\u0119ci jej ocen\u0119 startow\u0105.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dlaczego 3?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bo faza grupowa sk\u0142ada si\u0119 z trzech mecz\u00f3w. To naturalna jednostka dla turnieju: po jednym meczu model powinien by\u0107 ostro\u017cny, po dw\u00f3ch nadal cz\u0119\u015bciowo ostro\u017cny, a po trzech ma ju\u017c sensown\u0105 porcj\u0119 danych z mundialu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Metodologicznie jest to podobne do wyg\u0142adzania przez pseudoobserwacje, czyli dodawania \u201ewirtualnych\u201d obserwacji do ma\u0142ej pr\u00f3bki danych:&nbsp;<a href=\"https:\/\/en.wikipedia.org\/wiki\/Additive_smoothing\" target=\"_blank\" rel=\"noreferrer noopener\">Additive smoothing<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Liczba&nbsp;<strong>3<\/strong>&nbsp;jest parametrem projektu. Jej zadaniem jest ograniczenie przesadnej reakcji modelu na pojedynczy mecz.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Skuteczno\u015b\u0107 strza\u0142\u00f3w: 11% i 30%<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Skuteczno\u015b\u0107 jest wyg\u0142adzana, \u017ceby ma\u0142a liczba strza\u0142\u00f3w nie dawa\u0142a absurdalnych wynik\u00f3w.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Przyj\u0119to dwa punkty odniesienia:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>11% - bazowa skuteczno\u015b\u0107 wszystkich strza\u0142\u00f3w\n30% - bazowa skuteczno\u015b\u0107 strza\u0142\u00f3w celnych\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Te liczby nie s\u0105 pobierane z API. S\u0105 parametrami modelu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dlaczego takie?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bo s\u0105 konserwatywnym punktem startowym:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>11%<\/strong>&nbsp;oznacza mniej wi\u0119cej 1 gola na 9 strza\u0142\u00f3w,<\/li>\n\n\n\n<li><strong>30%<\/strong>&nbsp;oznacza mniej wi\u0119cej 1 gola na 3 strza\u0142y celne.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Chodzi o to, \u017ceby model mia\u0142 rozs\u0105dny punkt odniesienia, zanim zbierze wi\u0119cej danych z turnieju.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0179r\u00f3d\u0142em idei jest analityka xG, w kt\u00f3rej ka\u017cdy strza\u0142 mo\u017cna traktowa\u0107 jako prawdopodobie\u0144stwo zdobycia gola:&nbsp;<a href=\"https:\/\/en.wikipedia.org\/wiki\/Expected_goals\" target=\"_blank\" rel=\"noreferrer noopener\">Expected goals<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Liczby&nbsp;<strong>11%<\/strong>&nbsp;i&nbsp;<strong>30%<\/strong>&nbsp;s\u0105 parametrami projektu. W razie dalszego rozwoju mo\u017cna je skalibrowa\u0107 na du\u017cym historycznym zbiorze mecz\u00f3w.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Skuteczno\u015b\u0107 strza\u0142\u00f3w: 15 wirtualnych strza\u0142\u00f3w<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Do skuteczno\u015bci model dodaje&nbsp;<strong>15 wirtualnych strza\u0142\u00f3w<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To oznacza, \u017ce dru\u017cyna z bardzo ma\u0142\u0105 liczb\u0105 strza\u0142\u00f3w nie jest oceniana wy\u0142\u0105cznie na podstawie kilku akcji.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dlaczego 15?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bo to umiarkowana si\u0142a wyg\u0142adzenia. Taka liczba wystarcza, \u017ceby jeden mecz nie wywr\u00f3ci\u0142 oceny skuteczno\u015bci, ale nie jest tak du\u017ca, \u017ceby realne strza\u0142y dru\u017cyny przesta\u0142y mie\u0107 znaczenie.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0179r\u00f3d\u0142em metody jest additive smoothing, czyli dodawanie pseudoobserwacji do ma\u0142ej pr\u00f3bki danych:&nbsp;<a href=\"https:\/\/en.wikipedia.org\/wiki\/Additive_smoothing\" target=\"_blank\" rel=\"noreferrer noopener\">Additive smoothing<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Liczba&nbsp;<strong>15<\/strong>&nbsp;jest parametrem projektu. Okre\u015bla, jak mocno model stabilizuje skuteczno\u015b\u0107 na pocz\u0105tku.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Forma: 3 ostatnie mecze i wagi 50% \/ 30% \/ 20%<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Forma dru\u017cyny jest liczona z maksymalnie&nbsp;<strong>3 ostatnich mecz\u00f3w<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ich wagi s\u0105 nast\u0119puj\u0105ce:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>50% - najnowszy mecz\n30% - poprzedni mecz\n20% - trzeci najnowszy mecz\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Dlaczego tak?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bo forma ma pokazywa\u0107 aktualny trend, a nie ca\u0142\u0105 histori\u0119 dru\u017cyny. Najnowszy mecz m\u00f3wi najwi\u0119cej o bie\u017c\u0105cej dyspozycji, ale starsze mecze nadal pomagaj\u0105 odr\u00f3\u017cni\u0107 prawdziwy trend od jednorazowego przypadku.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Liczba&nbsp;<strong>3<\/strong>&nbsp;pasuje te\u017c do struktury turnieju, bo faza grupowa ma trzy mecze. Dzi\u0119ki temu model mo\u017ce oceni\u0107 kr\u00f3tk\u0105, turniejow\u0105 form\u0119 dru\u017cyny, zamiast miesza\u0107 j\u0105 z bardzo star\u0105 histori\u0105.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To jest parametr projektu. Nie pochodzi z zewn\u0119trznej tabeli. Jest decyzj\u0105 metodologiczn\u0105: forma ma by\u0107 kr\u00f3tka, aktualna i ostro\u017cna.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Jako\u015b\u0107 rywala: ograniczenie mno\u017cnika od 0.4 do 2.5<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Model bierze pod uwag\u0119, z kim dru\u017cyna gra\u0142a.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Gol strzelony mocnej obronie jest cenniejszy ni\u017c gol strzelony bardzo s\u0142abej obronie. Podobnie gol stracony przeciwko s\u0142abemu atakowi jest bardziej obci\u0105\u017caj\u0105cy ni\u017c gol stracony przeciwko bardzo mocnemu atakowi.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u017beby ten efekt nie by\u0142 przesadzony, mno\u017cnik jako\u015bci rywala ma ograniczenia:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>minimum: 0.4\nmaksimum: 2.5\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Dlaczego tak?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bo bez ogranicze\u0144 jeden skrajny wynik albo jedna bardzo niska ocena przeciwnika mog\u0142yby sztucznie wykrzywi\u0107 ca\u0142y model. Limity pozwalaj\u0105 uwzgl\u0119dni\u0107 jako\u015b\u0107 rywala, ale chroni\u0105 przed absurdami.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Liczby&nbsp;<strong>0.4<\/strong>&nbsp;i&nbsp;<strong>2.5<\/strong>&nbsp;s\u0105 parametrami projektu. Ich rola jest techniczna: zabezpieczaj\u0105 model przed skrajnymi mno\u017cnikami.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>R\u00f3\u017cnica bramek w formie: podzia\u0142 przez 3<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">W ocenie formy model bierze pod uwag\u0119 nie tylko zwyci\u0119stwo, remis albo pora\u017ck\u0119, ale te\u017c r\u00f3\u017cnic\u0119 bramek.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">R\u00f3\u017cnica bramek jest dzielona przez&nbsp;<strong>3<\/strong>&nbsp;i ograniczana do zakresu od -1 do 1.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dlaczego 3?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bo zwyci\u0119stwo trzema golami jest traktowane jako bardzo mocny sygna\u0142, ale wygrana pi\u0119cioma albo sze\u015bcioma golami nie powinna zwi\u0119ksza\u0107 formy bez ko\u0144ca. Model uznaje wi\u0119c, \u017ce r\u00f3\u017cnica oko\u0142o trzech bramek wystarcza, \u017ceby uzna\u0107 mecz za wyra\u017an\u0105 dominacj\u0119.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Liczba&nbsp;<strong>3<\/strong>&nbsp;jest parametrem projektu. Ogranicza wp\u0142yw bardzo wysokich wynik\u00f3w.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Model bramkowy: rozk\u0142ad Poissona<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Do prognozowania liczby goli w meczu u\u017cywany jest rozk\u0142ad Poissona.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To popularny rozk\u0142ad prawdopodobie\u0144stwa dla liczby zdarze\u0144 w okre\u015blonym czasie, np. liczby goli w meczu. \u0179r\u00f3d\u0142o metody:&nbsp;<a href=\"https:\/\/en.wikipedia.org\/wiki\/Poisson_distribution\" target=\"_blank\" rel=\"noreferrer noopener\">Poisson distribution<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Model najpierw szacuje oczekiwan\u0105 liczb\u0119 goli ka\u017cdej dru\u017cyny, a potem sprawdza prawdopodobie\u0144stwa r\u00f3\u017cnych wynik\u00f3w, np. 0:0, 1:0, 1:1, 2:1.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Maksymalnie 10 goli w modelu meczu<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Przy liczeniu wynik\u00f3w pojedynczego meczu model sprawdza wyniki od 0 do&nbsp;<strong>10<\/strong>&nbsp;goli dla ka\u017cdej dru\u017cyny.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dlaczego 10?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bo wyniki powy\u017cej 10 goli jednej dru\u017cyny s\u0105 w pi\u0142ce no\u017cnej skrajnie rzadkie. Uwzgl\u0119dnianie ich prawie nie zmieni\u0142oby prawdopodobie\u0144stw, a zwi\u0119kszy\u0142oby liczb\u0119 oblicze\u0144.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Liczba&nbsp;<strong>10<\/strong>&nbsp;jest parametrem technicznym projektu. Oznacza praktyczne obci\u0119cie bardzo ma\u0142o prawdopodobnego ogona rozk\u0142adu.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u015arednia bramek: awaryjna warto\u015b\u0107 1.3<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Model u\u017cywa \u015bredniej liczby goli w turnieju jako punktu odniesienia dla prognozy meczu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Je\u015bli w danym momencie nie ma jeszcze wystarczaj\u0105cych danych z turnieju, u\u017cywana jest warto\u015b\u0107 awaryjna:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>1.3 gola na dru\u017cyn\u0119\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Dlaczego 1.3?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bo jest to ostro\u017cny punkt startowy dla pi\u0142ki no\u017cnej: oko\u0142o 2.6 gola \u0142\u0105cznie w meczu. Nie jest to dana z API ani z FIFA. To parametr projektu u\u017cywany tylko wtedy, gdy brakuje jeszcze realnej \u015bredniej z turnieju.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Gdy pojawiaj\u0105 si\u0119 dane z rozegranych mecz\u00f3w, model u\u017cywa ju\u017c \u015bredniej turniejowej.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Liczba symulacji: 10 000<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ca\u0142y turniej jest symulowany&nbsp;<strong>10 000 razy<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dlaczego 10 000?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bo metoda Monte Carlo dzia\u0142a przez wielokrotne losowanie mo\u017cliwych scenariuszy. Im wi\u0119cej symulacji, tym stabilniejszy wynik, ale te\u017c d\u0142u\u017cszy czas oblicze\u0144.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">10 000 to praktyczny kompromis:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>wynik jest du\u017co stabilniejszy ni\u017c przy kilkuset symulacjach,<\/li>\n\n\n\n<li>obliczenia nadal da si\u0119 wykona\u0107 lokalnie,<\/li>\n\n\n\n<li>procenty s\u0105 wystarczaj\u0105co czytelne dla u\u017cytkownika strony.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0179r\u00f3d\u0142em metody jest symulacja Monte Carlo, czyli szacowanie prawdopodobie\u0144stw przez wiele losowych powt\u00f3rze\u0144:&nbsp;<a href=\"https:\/\/en.wikipedia.org\/wiki\/Monte_Carlo_method\" target=\"_blank\" rel=\"noreferrer noopener\">Monte Carlo method<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Liczba&nbsp;<strong>10 000<\/strong>&nbsp;jest parametrem projektu. Okre\u015bla dok\u0142adno\u015b\u0107 i koszt oblicze\u0144.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Dlaczego szanse zmieniaj\u0105 si\u0119 ka\u017cdego dnia?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ka\u017cdy mecz zmienia sytuacj\u0119.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wygrana mo\u017ce zwi\u0119kszy\u0107 szanse dru\u017cyny, ale nie zawsze w oczywisty spos\u00f3b. Liczy si\u0119 tak\u017ce:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>z kim dru\u017cyna zagra\u0142a,<\/li>\n\n\n\n<li>jakim wynikiem zako\u0144czy\u0142 si\u0119 mecz,<\/li>\n\n\n\n<li>jak wygl\u0105da\u0142y statystyki,<\/li>\n\n\n\n<li>czy dru\u017cyna awansowa\u0142a,<\/li>\n\n\n\n<li>na kogo mo\u017ce trafi\u0107 w kolejnej rundzie,<\/li>\n\n\n\n<li>jak zmieni\u0142a si\u0119 drabinka.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Dlatego czasem dru\u017cyna mo\u017ce wygra\u0107 mecz, ale jej szanse na mistrzostwo wzrosn\u0105 tylko nieznacznie. Innym razem wynik innego spotkania mo\u017ce otworzy\u0107 \u0142atwiejsz\u0105 \u015bcie\u017ck\u0119 i poprawi\u0107 sytuacj\u0119 zespo\u0142u, kt\u00f3ry tego dnia wcale nie gra\u0142.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Czym jest symulacja turnieju?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Po przeliczeniu si\u0142y dru\u017cyn projekt symuluje mo\u017cliwy dalszy przebieg mistrzostw.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Komputer rozgrywa reszt\u0119 turnieju tysi\u0105ce razy. W ka\u017cdej symulacji mo\u017cliwe s\u0105 inne wyniki przysz\u0142ych mecz\u00f3w, inne awanse i inna drabinka.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Je\u015bli dana reprezentacja wygrywa mistrzostwo w wielu takich symulacjach, jej szansa na tytu\u0142 jest wysoka. Je\u015bli wygrywa rzadko, jej szansa jest niska.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Przyk\u0142ad:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Je\u017celi dru\u017cyna wygrywa 1900 z 10 000 symulacji, model przypisuje jej oko\u0142o 19% szans na mistrzostwo.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">To oznacza, \u017ce projekt nie pr\u00f3buje wskaza\u0107 jednej pewnej przysz\u0142o\u015bci. Pokazuje raczej, kt\u00f3re scenariusze s\u0105 najbardziej prawdopodobne na podstawie dost\u0119pnych danych.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Jak prognozowane s\u0105 pojedyncze mecze?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Do szacowania wynik\u00f3w pojedynczych spotka\u0144 u\u017cywany jest prosty model bramkowy.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Model por\u00f3wnuje:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>si\u0142\u0119 ataku jednej dru\u017cyny,<\/li>\n\n\n\n<li>jako\u015b\u0107 obrony drugiej dru\u017cyny,<\/li>\n\n\n\n<li>\u015bredni\u0105 liczb\u0119 goli w turnieju.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Na tej podstawie szacuje, ile goli mo\u017ce zdoby\u0107 ka\u017cda ze stron, a nast\u0119pnie wylicza prawdopodobie\u0144stwo wygranej, remisu i pora\u017cki.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dlatego przy zaplanowanych meczach mo\u017cna zobaczy\u0107 prognoz\u0119 w stylu:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Francja 63% \/ remis 20% \/ Kolumbia 17%\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Nie jest to pewnik. To szacowana szansa wyniku po 90 minutach, wynikaj\u0105ca z aktualnej oceny obu dru\u017cyn.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Co oznaczaj\u0105 procenty?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Procenty na stronie oznaczaj\u0105 prawdopodobie\u0144stwo w modelu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Je\u015bli dru\u017cyna ma:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>19% szans na mistrzostwo\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">to znaczy, \u017ce w symulacjach komputerowych wygrywa\u0142a ca\u0142y turniej w oko\u0142o 19% przypadk\u00f3w.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Je\u015bli przy meczu widzimy:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>48% \/ remis 24% \/ 28%\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">to oznacza szacowan\u0105 szans\u0119 wyniku po 90 minutach:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>48% &#8211; wygrana pierwszej dru\u017cyny,<\/li>\n\n\n\n<li>24% &#8211; remis,<\/li>\n\n\n\n<li>28% &#8211; wygrana drugiej dru\u017cyny.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Dlaczego model nie zawsze zgadza si\u0119 z intuicj\u0105?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Model patrzy szerzej ni\u017c tylko na ostatni wynik.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bierze pod uwag\u0119:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>si\u0142\u0119 dru\u017cyny,<\/li>\n\n\n\n<li>jako\u015b\u0107 rywali,<\/li>\n\n\n\n<li>dotychczasowe statystyki,<\/li>\n\n\n\n<li>mo\u017cliw\u0105 \u015bcie\u017ck\u0119 w drabince,<\/li>\n\n\n\n<li>prawdopodobnych przeciwnik\u00f3w w kolejnych rundach.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Dlatego dru\u017cyna z ni\u017csz\u0105 pozycj\u0105 w rankingu mo\u017ce czasem mie\u0107 korzystn\u0105 \u015bcie\u017ck\u0119 i wi\u0119ksze szanse, ni\u017c sugerowa\u0142aby sama \u201esi\u0142a na papierze\u201d. Z kolei bardzo mocna dru\u017cyna mo\u017ce mie\u0107 trudniejsz\u0105 drabink\u0119 i przez to ni\u017csze prawdopodobie\u0144stwo ko\u0144cowego triumfu.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Co pokazuje o\u015b czasu?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">O\u015b czasu pozwala cofn\u0105\u0107 si\u0119 do dowolnego dnia turnieju.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dla dni przesz\u0142ych strona pokazuje stan modelu z tamtego dnia &#8211; tak, jakby\u015bmy wtedy nie znali jeszcze przysz\u0142ych wynik\u00f3w.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dla dni przysz\u0142ych strona pokazuje ostatni\u0105 dost\u0119pn\u0105 prognoz\u0119 oraz terminarz zaplanowanych spotka\u0144. Projekt nie udaje, \u017ce zna przysz\u0142e wyniki.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Czy to jest model bukmacherski?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Nie.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Projekt ma charakter analityczny i edukacyjny. Jego celem jest pokazanie, jak mo\u017cna po\u0142\u0105czy\u0107 dane sportowe, prosty model statystyczny i symulacj\u0119 turnieju w interaktywny dashboard.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Model nie uwzgl\u0119dnia wszystkich czynnik\u00f3w, kt\u00f3re mog\u0142yby mie\u0107 znaczenie w profesjonalnym modelu bukmacherskim, takich jak:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>kontuzje,<\/li>\n\n\n\n<li>przewidywane sk\u0142ady,<\/li>\n\n\n\n<li>zm\u0119czenie zawodnik\u00f3w,<\/li>\n\n\n\n<li>styl konkretnego przeciwnika,<\/li>\n\n\n\n<li>decyzje taktyczne,<\/li>\n\n\n\n<li>informacje z rynku kurs\u00f3w.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Dlatego procenty nale\u017cy traktowa\u0107 jako prognoz\u0119 analityczn\u0105, a nie gwarancj\u0119 wyniku.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Najwa\u017cniejsze ograniczenia<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ka\u017cdy model jest uproszczeniem rzeczywisto\u015bci.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">W tym projekcie najwa\u017cniejsze ograniczenia to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>dane pochodz\u0105 z kilku r\u00f3\u017cnych \u017ar\u00f3de\u0142,<\/li>\n\n\n\n<li>cz\u0119\u015b\u0107 informacji wymaga r\u0119cznego importu,<\/li>\n\n\n\n<li>dogrywki i rzuty karne s\u0105 uproszczone,<\/li>\n\n\n\n<li>ranking FIFA jest tylko punktem startowym, a nie pe\u0142nym opisem si\u0142y dru\u017cyny,<\/li>\n\n\n\n<li>model nie zna kontuzji ani sk\u0142ad\u00f3w meczowych.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Mimo tych ogranicze\u0144 projekt pozwala zobaczy\u0107 co\u015b, czego nie pokazuje zwyk\u0142a tabela wynik\u00f3w: jak ka\u017cdy kolejny mecz wp\u0142ywa na szanse ca\u0142ego turnieju.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Po co powsta\u0142 ten projekt?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Projekt powsta\u0142 jako po\u0142\u0105czenie analizy danych, modelowania statystycznego i wizualizacji sportowej.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Chcia\u0142am pokaza\u0107, \u017ce dane pi\u0142karskie mo\u017cna przedstawi\u0107 nie tylko jako wyniki i tabele, ale jako dynamiczn\u0105 histori\u0119 zmieniaj\u0105cych si\u0119 szans.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">W trakcie turnieju ka\u017cda dru\u017cyna ma swoj\u0105 drog\u0119 do trofeum. Ta strona pokazuje, jak ta droga zmienia si\u0119 dzie\u0144 po dniu.<\/p>\n\n\n\n<div style=\"height:63px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<style data-wp-block-html=\"css\">\n.trophy-embed-wrapper {\n  width: 100%;\n  max-width: 1600px;\n  margin: 0 auto;\n  overflow: hidden;\n  border-radius: 18px;\n  background: #06111f;\n}\n\n#trophy-frame {\n  display: block;\n  width: 100%;\n  min-height: 1200px;\n  border: 0;\n}\n<\/style>\n\n<script data-wp-block-html=\"js\">\nvar lastTrophyFrameHeight = 0;\n\nwindow.addEventListener(\"message\", function (event) {\n  if (event.origin !== \"https:\/\/waderlla.github.io\") return;\n\n  var frame = document.getElementById(\"trophy-frame\");\n  if (!frame) return;\n\n  var data = event.data || {};\n  if (data.source !== \"road-to-the-trophy-2026\") return;\n  if (!data.iframeHeight) return;\n\n  var nextHeight = Math.ceil(data.iframeHeight);\n  if (Math.abs(nextHeight - lastTrophyFrameHeight) < 8) return;\n\n  lastTrophyFrameHeight = nextHeight;\n  frame.style.height = nextHeight + \"px\";\n});\n<\/script>\n\n<div class=\"trophy-embed-wrapper\">\n  <iframe\n    id=\"trophy-frame\"\n    src=\"https:\/\/waderlla.github.io\/Road_to_the_trophy_2026\/?v=7\"\n    width=\"100%\"\n    height=\"1200\"\n    frameborder=\"0\"\n    scrolling=\"no\"\n    loading=\"lazy\"\n    title=\"Droga do Trofeum 2026\"\n  ><\/iframe>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>","protected":false},"excerpt":{"rendered":"<p>Projekt: Droga do Trofeum &#8211; Mistrzostwa \u015awiata w Pi\u0142ce No\u017cnej 2026Narz\u0119dzia:\u00a0Python, PostgreSQL (Supabase), API-Football, GitHub, JavaScriptOpis:\u00a0Model codziennie liczy szanse ka\u017cdej reprezentacji na mistrzostwo na podstawie statystyk meczowych i rankingu FIFA, a symulacja Monte Carlo wyznacza prawdopodobie\u0144stwo zdobycia tytu\u0142u.Cel:\u00a0Sprawdzenie, czy prosty, przejrzysty model statystyczny (bez uczenia maszynowego) potrafi sensownie odtworzy\u0107 i prognozowa\u0107 przebieg ca\u0142ego turnieju na&#8230;<\/p>","protected":false},"author":1,"featured_media":2575,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[38,21,17,32,36],"tags":[],"class_list":["post-2556","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-automatyzacja","category-projekty","category-python","category-rest-api","category-sql"],"_links":{"self":[{"href":"https:\/\/olgamironczuk.pl\/en\/wp-json\/wp\/v2\/posts\/2556","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/olgamironczuk.pl\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/olgamironczuk.pl\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/olgamironczuk.pl\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/olgamironczuk.pl\/en\/wp-json\/wp\/v2\/comments?post=2556"}],"version-history":[{"count":25,"href":"https:\/\/olgamironczuk.pl\/en\/wp-json\/wp\/v2\/posts\/2556\/revisions"}],"predecessor-version":[{"id":2609,"href":"https:\/\/olgamironczuk.pl\/en\/wp-json\/wp\/v2\/posts\/2556\/revisions\/2609"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/olgamironczuk.pl\/en\/wp-json\/wp\/v2\/media\/2575"}],"wp:attachment":[{"href":"https:\/\/olgamironczuk.pl\/en\/wp-json\/wp\/v2\/media?parent=2556"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/olgamironczuk.pl\/en\/wp-json\/wp\/v2\/categories?post=2556"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/olgamironczuk.pl\/en\/wp-json\/wp\/v2\/tags?post=2556"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}