{
  "season": "2025-26",
  "generated": "2026-08-10T18:04:15.281163+00:00",
  "teams": 18,
  "matches_played": 306,
  "matches_total": 306,
  "matchdays": 34,
  "xg_matches_per_team": 34,
  "champion": "Porto",
  "runner_up": "Sporting CP",
  "relegated": [
    "Tondela",
    "AVS"
  ],
  "table": [
    {
      "team": "Porto",
      "played": 34,
      "won": 28,
      "drawn": 4,
      "lost": 2,
      "gf": 66,
      "ga": 18,
      "gd": 48,
      "points": 88,
      "pos": 1
    },
    {
      "team": "Sporting CP",
      "played": 34,
      "won": 25,
      "drawn": 7,
      "lost": 2,
      "gf": 89,
      "ga": 24,
      "gd": 65,
      "points": 82,
      "pos": 2
    },
    {
      "team": "Benfica",
      "played": 34,
      "won": 23,
      "drawn": 11,
      "lost": 0,
      "gf": 74,
      "ga": 25,
      "gd": 49,
      "points": 80,
      "pos": 3
    },
    {
      "team": "SC Braga",
      "played": 34,
      "won": 16,
      "drawn": 11,
      "lost": 7,
      "gf": 64,
      "ga": 36,
      "gd": 28,
      "points": 59,
      "pos": 4
    },
    {
      "team": "Famalicao",
      "played": 34,
      "won": 15,
      "drawn": 11,
      "lost": 8,
      "gf": 42,
      "ga": 29,
      "gd": 13,
      "points": 56,
      "pos": 5
    },
    {
      "team": "Gil Vicente",
      "played": 34,
      "won": 13,
      "drawn": 11,
      "lost": 10,
      "gf": 47,
      "ga": 38,
      "gd": 9,
      "points": 50,
      "pos": 6
    },
    {
      "team": "Moreirense",
      "played": 34,
      "won": 12,
      "drawn": 7,
      "lost": 15,
      "gf": 37,
      "ga": 49,
      "gd": -12,
      "points": 43,
      "pos": 7
    },
    {
      "team": "Vitoria SC",
      "played": 34,
      "won": 12,
      "drawn": 6,
      "lost": 16,
      "gf": 39,
      "ga": 51,
      "gd": -12,
      "points": 42,
      "pos": 8
    },
    {
      "team": "Arouca",
      "played": 34,
      "won": 12,
      "drawn": 6,
      "lost": 16,
      "gf": 47,
      "ga": 64,
      "gd": -17,
      "points": 42,
      "pos": 9
    },
    {
      "team": "Estoril",
      "played": 34,
      "won": 10,
      "drawn": 9,
      "lost": 15,
      "gf": 54,
      "ga": 57,
      "gd": -3,
      "points": 39,
      "pos": 10
    },
    {
      "team": "Alverca",
      "played": 34,
      "won": 10,
      "drawn": 9,
      "lost": 15,
      "gf": 35,
      "ga": 52,
      "gd": -17,
      "points": 39,
      "pos": 11
    },
    {
      "team": "Santa Clara",
      "played": 34,
      "won": 9,
      "drawn": 9,
      "lost": 16,
      "gf": 32,
      "ga": 41,
      "gd": -9,
      "points": 36,
      "pos": 12
    },
    {
      "team": "Rio Ave",
      "played": 34,
      "won": 8,
      "drawn": 12,
      "lost": 14,
      "gf": 35,
      "ga": 57,
      "gd": -22,
      "points": 36,
      "pos": 13
    },
    {
      "team": "Nacional",
      "played": 34,
      "won": 9,
      "drawn": 7,
      "lost": 18,
      "gf": 37,
      "ga": 45,
      "gd": -8,
      "points": 34,
      "pos": 14
    },
    {
      "team": "Estrela Amadora",
      "played": 34,
      "won": 6,
      "drawn": 12,
      "lost": 16,
      "gf": 38,
      "ga": 56,
      "gd": -18,
      "points": 30,
      "pos": 15
    },
    {
      "team": "Casa Pia",
      "played": 34,
      "won": 6,
      "drawn": 12,
      "lost": 16,
      "gf": 31,
      "ga": 57,
      "gd": -26,
      "points": 30,
      "pos": 16
    },
    {
      "team": "Tondela",
      "played": 34,
      "won": 6,
      "drawn": 10,
      "lost": 18,
      "gf": 27,
      "ga": 55,
      "gd": -28,
      "points": 28,
      "pos": 17
    },
    {
      "team": "AVS",
      "played": 34,
      "won": 3,
      "drawn": 12,
      "lost": 19,
      "gf": 27,
      "ga": 67,
      "gd": -40,
      "points": 21,
      "pos": 18
    }
  ],
  "xpts_table": [
    {
      "team": "Sporting CP",
      "played": 34,
      "xpts": 71.7,
      "xgf": 72.4,
      "xga": 26.3
    },
    {
      "team": "Porto",
      "played": 34,
      "xpts": 70.5,
      "xgf": 62.2,
      "xga": 22.3
    },
    {
      "team": "Benfica",
      "played": 34,
      "xpts": 69.8,
      "xgf": 69.1,
      "xga": 27.8
    },
    {
      "team": "SC Braga",
      "played": 34,
      "xpts": 58.3,
      "xgf": 57.4,
      "xga": 37.5
    },
    {
      "team": "Famalicao",
      "played": 34,
      "xpts": 54.5,
      "xgf": 45.6,
      "xga": 34.5
    },
    {
      "team": "Gil Vicente",
      "played": 34,
      "xpts": 52.3,
      "xgf": 45.7,
      "xga": 36.1
    },
    {
      "team": "Alverca",
      "played": 34,
      "xpts": 45.8,
      "xgf": 40.5,
      "xga": 43.1
    },
    {
      "team": "Santa Clara",
      "played": 34,
      "xpts": 45.7,
      "xgf": 36.8,
      "xga": 35.8
    },
    {
      "team": "Vitoria SC",
      "played": 34,
      "xpts": 44.2,
      "xgf": 40.5,
      "xga": 47.5
    },
    {
      "team": "Tondela",
      "played": 34,
      "xpts": 41.5,
      "xgf": 40.3,
      "xga": 50.2
    },
    {
      "team": "Nacional",
      "played": 34,
      "xpts": 40.5,
      "xgf": 40.3,
      "xga": 52.8
    },
    {
      "team": "Estoril",
      "played": 34,
      "xpts": 39.5,
      "xgf": 42.9,
      "xga": 55.5
    },
    {
      "team": "Arouca",
      "played": 34,
      "xpts": 39.4,
      "xgf": 35.0,
      "xga": 52.1
    },
    {
      "team": "Estrela Amadora",
      "played": 34,
      "xpts": 38.5,
      "xgf": 40.9,
      "xga": 53.6
    },
    {
      "team": "Rio Ave",
      "played": 34,
      "xpts": 36.9,
      "xgf": 36.0,
      "xga": 53.8
    },
    {
      "team": "Moreirense",
      "played": 34,
      "xpts": 35.3,
      "xgf": 32.2,
      "xga": 52.2
    },
    {
      "team": "Casa Pia",
      "played": 34,
      "xpts": 32.0,
      "xgf": 31.3,
      "xga": 56.1
    },
    {
      "team": "AVS",
      "played": 34,
      "xpts": 28.5,
      "xgf": 32.4,
      "xga": 64.3
    }
  ],
  "luck": [
    {
      "team": "Porto",
      "pos": 1,
      "points": 88,
      "xpts": 70.5,
      "delta": 17.5,
      "gf": 66,
      "xgf": 62.2,
      "finishing": 3.8,
      "ga": 18,
      "xga": 22.3,
      "prevention": 4.3,
      "xpts_pos": 2,
      "pos_delta": 1
    },
    {
      "team": "Sporting CP",
      "pos": 2,
      "points": 82,
      "xpts": 71.7,
      "delta": 10.3,
      "gf": 89,
      "xgf": 72.4,
      "finishing": 16.6,
      "ga": 24,
      "xga": 26.3,
      "prevention": 2.3,
      "xpts_pos": 1,
      "pos_delta": -1
    },
    {
      "team": "Benfica",
      "pos": 3,
      "points": 80,
      "xpts": 69.8,
      "delta": 10.2,
      "gf": 74,
      "xgf": 69.1,
      "finishing": 4.9,
      "ga": 25,
      "xga": 27.8,
      "prevention": 2.8,
      "xpts_pos": 3,
      "pos_delta": 0
    },
    {
      "team": "Moreirense",
      "pos": 7,
      "points": 43,
      "xpts": 35.3,
      "delta": 7.7,
      "gf": 37,
      "xgf": 32.2,
      "finishing": 4.8,
      "ga": 49,
      "xga": 52.2,
      "prevention": 3.2,
      "xpts_pos": 16,
      "pos_delta": 9
    },
    {
      "team": "Arouca",
      "pos": 9,
      "points": 42,
      "xpts": 39.4,
      "delta": 2.6,
      "gf": 47,
      "xgf": 35.0,
      "finishing": 12.0,
      "ga": 64,
      "xga": 52.1,
      "prevention": -11.9,
      "xpts_pos": 13,
      "pos_delta": 4
    },
    {
      "team": "Famalicao",
      "pos": 5,
      "points": 56,
      "xpts": 54.5,
      "delta": 1.5,
      "gf": 42,
      "xgf": 45.6,
      "finishing": -3.6,
      "ga": 29,
      "xga": 34.5,
      "prevention": 5.5,
      "xpts_pos": 5,
      "pos_delta": 0
    },
    {
      "team": "SC Braga",
      "pos": 4,
      "points": 59,
      "xpts": 58.3,
      "delta": 0.7,
      "gf": 64,
      "xgf": 57.4,
      "finishing": 6.6,
      "ga": 36,
      "xga": 37.5,
      "prevention": 1.5,
      "xpts_pos": 4,
      "pos_delta": 0
    },
    {
      "team": "Estoril",
      "pos": 10,
      "points": 39,
      "xpts": 39.5,
      "delta": -0.5,
      "gf": 54,
      "xgf": 42.9,
      "finishing": 11.1,
      "ga": 57,
      "xga": 55.5,
      "prevention": -1.5,
      "xpts_pos": 12,
      "pos_delta": 2
    },
    {
      "team": "Rio Ave",
      "pos": 13,
      "points": 36,
      "xpts": 36.9,
      "delta": -0.9,
      "gf": 35,
      "xgf": 36.0,
      "finishing": -1.0,
      "ga": 57,
      "xga": 53.8,
      "prevention": -3.2,
      "xpts_pos": 15,
      "pos_delta": 2
    },
    {
      "team": "Casa Pia",
      "pos": 16,
      "points": 30,
      "xpts": 32.0,
      "delta": -2.0,
      "gf": 31,
      "xgf": 31.3,
      "finishing": -0.3,
      "ga": 57,
      "xga": 56.1,
      "prevention": -0.9,
      "xpts_pos": 17,
      "pos_delta": 1
    },
    {
      "team": "Vitoria SC",
      "pos": 8,
      "points": 42,
      "xpts": 44.2,
      "delta": -2.2,
      "gf": 39,
      "xgf": 40.5,
      "finishing": -1.5,
      "ga": 51,
      "xga": 47.5,
      "prevention": -3.5,
      "xpts_pos": 9,
      "pos_delta": 1
    },
    {
      "team": "Gil Vicente",
      "pos": 6,
      "points": 50,
      "xpts": 52.3,
      "delta": -2.3,
      "gf": 47,
      "xgf": 45.7,
      "finishing": 1.3,
      "ga": 38,
      "xga": 36.1,
      "prevention": -1.9,
      "xpts_pos": 6,
      "pos_delta": 0
    },
    {
      "team": "Nacional",
      "pos": 14,
      "points": 34,
      "xpts": 40.5,
      "delta": -6.5,
      "gf": 37,
      "xgf": 40.3,
      "finishing": -3.3,
      "ga": 45,
      "xga": 52.8,
      "prevention": 7.8,
      "xpts_pos": 11,
      "pos_delta": -3
    },
    {
      "team": "Alverca",
      "pos": 11,
      "points": 39,
      "xpts": 45.8,
      "delta": -6.8,
      "gf": 35,
      "xgf": 40.5,
      "finishing": -5.5,
      "ga": 52,
      "xga": 43.1,
      "prevention": -8.9,
      "xpts_pos": 7,
      "pos_delta": -4
    },
    {
      "team": "AVS",
      "pos": 18,
      "points": 21,
      "xpts": 28.5,
      "delta": -7.5,
      "gf": 27,
      "xgf": 32.4,
      "finishing": -5.4,
      "ga": 67,
      "xga": 64.3,
      "prevention": -2.7,
      "xpts_pos": 18,
      "pos_delta": 0
    },
    {
      "team": "Estrela Amadora",
      "pos": 15,
      "points": 30,
      "xpts": 38.5,
      "delta": -8.5,
      "gf": 38,
      "xgf": 40.9,
      "finishing": -2.9,
      "ga": 56,
      "xga": 53.6,
      "prevention": -2.4,
      "xpts_pos": 14,
      "pos_delta": -1
    },
    {
      "team": "Santa Clara",
      "pos": 12,
      "points": 36,
      "xpts": 45.7,
      "delta": -9.7,
      "gf": 32,
      "xgf": 36.8,
      "finishing": -4.8,
      "ga": 41,
      "xga": 35.8,
      "prevention": -5.2,
      "xpts_pos": 8,
      "pos_delta": -4
    },
    {
      "team": "Tondela",
      "pos": 17,
      "points": 28,
      "xpts": 41.5,
      "delta": -13.5,
      "gf": 27,
      "xgf": 40.3,
      "finishing": -13.3,
      "ga": 55,
      "xga": 50.2,
      "prevention": -4.8,
      "xpts_pos": 10,
      "pos_delta": -7
    }
  ],
  "overperformers": [
    {
      "team": "Porto",
      "pos": 1,
      "points": 88,
      "xpts": 70.5,
      "delta": 17.5,
      "gf": 66,
      "xgf": 62.2,
      "finishing": 3.8,
      "ga": 18,
      "xga": 22.3,
      "prevention": 4.3,
      "xpts_pos": 2,
      "pos_delta": 1
    },
    {
      "team": "Sporting CP",
      "pos": 2,
      "points": 82,
      "xpts": 71.7,
      "delta": 10.3,
      "gf": 89,
      "xgf": 72.4,
      "finishing": 16.6,
      "ga": 24,
      "xga": 26.3,
      "prevention": 2.3,
      "xpts_pos": 1,
      "pos_delta": -1
    },
    {
      "team": "Benfica",
      "pos": 3,
      "points": 80,
      "xpts": 69.8,
      "delta": 10.2,
      "gf": 74,
      "xgf": 69.1,
      "finishing": 4.9,
      "ga": 25,
      "xga": 27.8,
      "prevention": 2.8,
      "xpts_pos": 3,
      "pos_delta": 0
    }
  ],
  "underperformers": [
    {
      "team": "Tondela",
      "pos": 17,
      "points": 28,
      "xpts": 41.5,
      "delta": -13.5,
      "gf": 27,
      "xgf": 40.3,
      "finishing": -13.3,
      "ga": 55,
      "xga": 50.2,
      "prevention": -4.8,
      "xpts_pos": 10,
      "pos_delta": -7
    },
    {
      "team": "Santa Clara",
      "pos": 12,
      "points": 36,
      "xpts": 45.7,
      "delta": -9.7,
      "gf": 32,
      "xgf": 36.8,
      "finishing": -4.8,
      "ga": 41,
      "xga": 35.8,
      "prevention": -5.2,
      "xpts_pos": 8,
      "pos_delta": -4
    },
    {
      "team": "Estrela Amadora",
      "pos": 15,
      "points": 30,
      "xpts": 38.5,
      "delta": -8.5,
      "gf": 38,
      "xgf": 40.9,
      "finishing": -2.9,
      "ga": 56,
      "xga": 53.6,
      "prevention": -2.4,
      "xpts_pos": 14,
      "pos_delta": -1
    }
  ],
  "forecast_matchdays": [
    4,
    6,
    8,
    10,
    12,
    14,
    16,
    18,
    20,
    22,
    23,
    24,
    25,
    26,
    27,
    28,
    29,
    30,
    31
  ],
  "title_race": {
    "matchdays": [
      4,
      6,
      8,
      10,
      12,
      14,
      16,
      18,
      20,
      22,
      23,
      24,
      25,
      26,
      27,
      28,
      29,
      30,
      31
    ],
    "series": [
      {
        "team": "Porto",
        "values": [
          0.6596,
          0.6351,
          0.6592,
          0.6774,
          0.7389,
          0.7954,
          0.8321,
          0.8485,
          0.7074,
          0.7313,
          0.6593,
          0.6661,
          0.7279,
          0.7697,
          0.8553,
          0.7242,
          0.7819,
          0.9531,
          0.9978
        ],
        "peak": 0.9978
      },
      {
        "team": "Sporting CP",
        "values": [
          0.2495,
          0.3413,
          0.3045,
          0.2848,
          0.2464,
          0.1929,
          0.1564,
          0.1413,
          0.2817,
          0.2538,
          0.3252,
          0.3166,
          0.2619,
          0.2238,
          0.1418,
          0.2719,
          0.2177,
          0.0462,
          0.0019
        ],
        "peak": 0.3413
      },
      {
        "team": "Benfica",
        "values": [
          0.0874,
          0.0232,
          0.036,
          0.0375,
          0.0147,
          0.0117,
          0.0115,
          0.0101,
          0.0109,
          0.0149,
          0.0155,
          0.0173,
          0.0102,
          0.0065,
          0.003,
          0.0039,
          0.0003,
          0.0007,
          0.0002
        ],
        "peak": 0.0874
      }
    ]
  },
  "relegation_race": {
    "matchdays": [
      4,
      6,
      8,
      10,
      12,
      14,
      16,
      18,
      20,
      22,
      23,
      24,
      25,
      26,
      27,
      28,
      29,
      30,
      31
    ],
    "series": [
      {
        "team": "AVS",
        "values": [
          0.6125,
          0.7533,
          0.9455,
          0.9306,
          0.9561,
          0.9873,
          0.9875,
          0.9976,
          0.9993,
          0.9984,
          0.9989,
          0.9995,
          0.9995,
          0.9999,
          0.9999,
          1.0,
          1.0,
          1.0,
          1.0
        ],
        "peak": 1.0
      },
      {
        "team": "Tondela",
        "values": [
          0.3119,
          0.2966,
          0.3104,
          0.3875,
          0.2328,
          0.3004,
          0.4582,
          0.4212,
          0.5255,
          0.528,
          0.3508,
          0.3559,
          0.3624,
          0.5544,
          0.6913,
          0.81,
          0.8244,
          0.8641,
          0.935
        ],
        "peak": 0.935
      },
      {
        "team": "Arouca",
        "values": [
          0.1804,
          0.1808,
          0.1707,
          0.2583,
          0.4069,
          0.3632,
          0.3273,
          0.2716,
          0.1083,
          0.0767,
          0.0291,
          0.028,
          0.0367,
          0.0315,
          0.0052,
          0.0037,
          0.0002,
          0.0,
          0.0
        ],
        "peak": 0.4069
      },
      {
        "team": "Estrela Amadora",
        "values": [
          0.0867,
          0.2045,
          0.2351,
          0.1104,
          0.1478,
          0.0732,
          0.0344,
          0.0603,
          0.08,
          0.0504,
          0.1222,
          0.1323,
          0.1214,
          0.1741,
          0.0428,
          0.0386,
          0.0297,
          0.0326,
          0.0077
        ],
        "peak": 0.2351
      },
      {
        "team": "Casa Pia",
        "values": [
          0.1264,
          0.0394,
          0.0803,
          0.1697,
          0.172,
          0.1834,
          0.1062,
          0.1784,
          0.1311,
          0.0627,
          0.1188,
          0.1201,
          0.1023,
          0.0952,
          0.1375,
          0.1053,
          0.1024,
          0.0952,
          0.0573
        ],
        "peak": 0.1834
      },
      {
        "team": "Estoril",
        "values": [
          0.1827,
          0.1507,
          0.1013,
          0.0188,
          0.0124,
          0.0451,
          0.0058,
          0.0007,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0
        ],
        "peak": 0.1827
      },
      {
        "team": "Santa Clara",
        "values": [
          0.0274,
          0.0055,
          0.0338,
          0.0082,
          0.0109,
          0.0043,
          0.006,
          0.0146,
          0.0696,
          0.1223,
          0.1763,
          0.1707,
          0.1795,
          0.0347,
          0.0065,
          0.0041,
          0.0079,
          0.0032,
          0.0
        ],
        "peak": 0.1795
      },
      {
        "team": "Rio Ave",
        "values": [
          0.1562,
          0.1272,
          0.0379,
          0.0326,
          0.0226,
          0.0203,
          0.0287,
          0.0121,
          0.0652,
          0.1366,
          0.1456,
          0.1297,
          0.1347,
          0.0111,
          0.0006,
          0.0009,
          0.0,
          0.0,
          0.0
        ],
        "peak": 0.1562
      },
      {
        "team": "Nacional",
        "values": [
          0.1252,
          0.1028,
          0.0251,
          0.0121,
          0.0209,
          0.0137,
          0.0272,
          0.0417,
          0.0162,
          0.0206,
          0.0526,
          0.0603,
          0.0582,
          0.0966,
          0.1132,
          0.0374,
          0.0355,
          0.0049,
          0.0
        ],
        "peak": 0.1252
      },
      {
        "team": "Vitoria SC",
        "values": [
          0.1137,
          0.0289,
          0.0244,
          0.0388,
          0.0062,
          0.0011,
          0.0003,
          0.0003,
          0.0003,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0,
          0.0001,
          0.0,
          0.0,
          0.0,
          0.0
        ],
        "peak": 0.1137
      },
      {
        "team": "Alverca",
        "values": [
          0.0597,
          0.1012,
          0.0248,
          0.0316,
          0.0099,
          0.0058,
          0.0168,
          0.0014,
          0.0045,
          0.0043,
          0.0056,
          0.0033,
          0.0053,
          0.0025,
          0.0029,
          0.0,
          0.0,
          0.0,
          0.0
        ],
        "peak": 0.1012
      }
    ]
  },
  "report_card": {
    "champion": "Porto",
    "relegated": [
      "AVS",
      "Tondela"
    ],
    "checkpoints": [
      {
        "matchday": 4,
        "points_mae": 3.42,
        "favourite": "Porto",
        "favourite_p": 0.6596,
        "champion_p": 0.6596,
        "champion_predicted_pts": 88.8,
        "favourite_correct": true,
        "relegated_hits": 2
      },
      {
        "matchday": 6,
        "points_mae": 3.48,
        "favourite": "Porto",
        "favourite_p": 0.6351,
        "champion_p": 0.6351,
        "champion_predicted_pts": 88.3,
        "favourite_correct": true,
        "relegated_hits": 2
      },
      {
        "matchday": 8,
        "points_mae": 3.41,
        "favourite": "Porto",
        "favourite_p": 0.6592,
        "champion_p": 0.6592,
        "champion_predicted_pts": 86.6,
        "favourite_correct": true,
        "relegated_hits": 2
      },
      {
        "matchday": 10,
        "points_mae": 3.48,
        "favourite": "Porto",
        "favourite_p": 0.6774,
        "champion_p": 0.6774,
        "champion_predicted_pts": 87.9,
        "favourite_correct": true,
        "relegated_hits": 2
      },
      {
        "matchday": 12,
        "points_mae": 3.14,
        "favourite": "Porto",
        "favourite_p": 0.7389,
        "champion_p": 0.7389,
        "champion_predicted_pts": 89.3,
        "favourite_correct": true,
        "relegated_hits": 1
      },
      {
        "matchday": 14,
        "points_mae": 3.59,
        "favourite": "Porto",
        "favourite_p": 0.7954,
        "champion_p": 0.7954,
        "champion_predicted_pts": 90.1,
        "favourite_correct": true,
        "relegated_hits": 1
      },
      {
        "matchday": 16,
        "points_mae": 3.23,
        "favourite": "Porto",
        "favourite_p": 0.8321,
        "champion_p": 0.8321,
        "champion_predicted_pts": 90.1,
        "favourite_correct": true,
        "relegated_hits": 2
      },
      {
        "matchday": 18,
        "points_mae": 3.36,
        "favourite": "Porto",
        "favourite_p": 0.8485,
        "champion_p": 0.8485,
        "champion_predicted_pts": 90.9,
        "favourite_correct": true,
        "relegated_hits": 2
      },
      {
        "matchday": 20,
        "points_mae": 3.77,
        "favourite": "Porto",
        "favourite_p": 0.7074,
        "champion_p": 0.7074,
        "champion_predicted_pts": 88.1,
        "favourite_correct": true,
        "relegated_hits": 2
      },
      {
        "matchday": 22,
        "points_mae": 3.69,
        "favourite": "Porto",
        "favourite_p": 0.7313,
        "champion_p": 0.7313,
        "champion_predicted_pts": 88.2,
        "favourite_correct": true,
        "relegated_hits": 2
      },
      {
        "matchday": 23,
        "points_mae": 3.36,
        "favourite": "Porto",
        "favourite_p": 0.6593,
        "champion_p": 0.6593,
        "champion_predicted_pts": 87.9,
        "favourite_correct": true,
        "relegated_hits": 2
      },
      {
        "matchday": 24,
        "points_mae": 3.27,
        "favourite": "Porto",
        "favourite_p": 0.6661,
        "champion_p": 0.6661,
        "champion_predicted_pts": 88.2,
        "favourite_correct": true,
        "relegated_hits": 2
      },
      {
        "matchday": 25,
        "points_mae": 3.17,
        "favourite": "Porto",
        "favourite_p": 0.7279,
        "champion_p": 0.7279,
        "champion_predicted_pts": 88.0,
        "favourite_correct": true,
        "relegated_hits": 2
      },
      {
        "matchday": 26,
        "points_mae": 2.72,
        "favourite": "Porto",
        "favourite_p": 0.7697,
        "champion_p": 0.7697,
        "champion_predicted_pts": 88.4,
        "favourite_correct": true,
        "relegated_hits": 2
      },
      {
        "matchday": 27,
        "points_mae": 2.45,
        "favourite": "Porto",
        "favourite_p": 0.8553,
        "champion_p": 0.8553,
        "champion_predicted_pts": 89.8,
        "favourite_correct": true,
        "relegated_hits": 2
      },
      {
        "matchday": 28,
        "points_mae": 2.23,
        "favourite": "Porto",
        "favourite_p": 0.7242,
        "champion_p": 0.7242,
        "champion_predicted_pts": 88.5,
        "favourite_correct": true,
        "relegated_hits": 2
      },
      {
        "matchday": 29,
        "points_mae": 2.44,
        "favourite": "Porto",
        "favourite_p": 0.7819,
        "champion_p": 0.7819,
        "champion_predicted_pts": 89.1,
        "favourite_correct": true,
        "relegated_hits": 2
      },
      {
        "matchday": 30,
        "points_mae": 1.93,
        "favourite": "Porto",
        "favourite_p": 0.9531,
        "champion_p": 0.9531,
        "champion_predicted_pts": 89.3,
        "favourite_correct": true,
        "relegated_hits": 2
      },
      {
        "matchday": 31,
        "points_mae": 1.71,
        "favourite": "Porto",
        "favourite_p": 0.9978,
        "champion_p": 0.9978,
        "champion_predicted_pts": 89.8,
        "favourite_correct": true,
        "relegated_hits": 2
      }
    ],
    "favourite_correct_from": 4,
    "relegation_correct_from": 16,
    "n_forecasts": 19
  }
}