{
  "season": "2026-27",
  "model": "soccer_factor_model_contribution",
  "outcome": "contrib",
  "metric": "contrib_sar",
  "metric_label": "Contribution Above Replacement (winsorized goals+assists per 90)",
  "interval_mass": 0.9,
  "current_squads_only": true,
  "generated_from": {
    "n_players": 722,
    "n_observations": 29812,
    "min_minutes": 600,
    "seasons": [
      "2023-24",
      "2024-25",
      "2025-26",
      "2026-27"
    ],
    "outcome": "contrib",
    "time_variation": "season_re",
    "include_own_att": false,
    "ratings_source": "joint_sot",
    "cell_counts": {
      "0": 26167,
      "1": 3185,
      "2": 395,
      "3+": 65
    },
    "cutpoint_prior_mu": [
      1.971,
      4.156,
      6.126
    ],
    "max_rhat": 1.02,
    "min_ess_bulk": 308.0,
    "divergences": 0,
    "draws": 2000,
    "chains": 4,
    "compared_against": "player_skill.parquet (goals-only SAR)"
  },
  "players": [
    {
      "rank": 1,
      "player": "Pedro Gonçalves",
      "team": "Sporting CP",
      "position": "F",
      "minutes": 5467,
      "matches": 73,
      "goals": 29,
      "assists": 24,
      "contributions": 53,
      "contrib_per_90": 0.873,
      "contrib_sar": 0.5672,
      "contrib_sar_lo": 0.418,
      "contrib_sar_hi": 0.7166,
      "contrib_sar_vs_position": 0.4736,
      "contrib_skill_per_90": 0.7111,
      "p_above_replacement": 1.0,
      "sar_goals_only": 0.3547,
      "rank_goals_only": 4,
      "rank_change_vs_goals_only": 2,
      "last_season": "2025-26"
    },
    {
      "rank": 2,
      "player": "Vangelis Pavlidis",
      "team": "Benfica",
      "position": "F",
      "minutes": 5171,
      "matches": 70,
      "goals": 46,
      "assists": 12,
      "contributions": 58,
      "contrib_per_90": 1.009,
      "contrib_sar": 0.5285,
      "contrib_sar_lo": 0.3804,
      "contrib_sar_hi": 0.6786,
      "contrib_sar_vs_position": 0.4349,
      "contrib_skill_per_90": 0.6724,
      "p_above_replacement": 1.0,
      "sar_goals_only": 0.4286,
      "rank_goals_only": 3,
      "rank_change_vs_goals_only": 0,
      "last_season": "2026-27"
    },
    {
      "rank": 3,
      "player": "Samu Aghehowa",
      "team": "Porto",
      "position": "F",
      "minutes": 3677,
      "matches": 50,
      "goals": 32,
      "assists": 4,
      "contributions": 36,
      "contrib_per_90": 0.881,
      "contrib_sar": 0.4818,
      "contrib_sar_lo": 0.3216,
      "contrib_sar_hi": 0.6448,
      "contrib_sar_vs_position": 0.3882,
      "contrib_skill_per_90": 0.6257,
      "p_above_replacement": 1.0,
      "sar_goals_only": 0.4466,
      "rank_goals_only": 2,
      "rank_change_vs_goals_only": -2,
      "last_season": "2025-26"
    },
    {
      "rank": 4,
      "player": "Bruma",
      "team": "Benfica",
      "position": "F",
      "minutes": 3484,
      "matches": 56,
      "goals": 14,
      "assists": 9,
      "contributions": 23,
      "contrib_per_90": 0.594,
      "contrib_sar": 0.3334,
      "contrib_sar_lo": 0.1906,
      "contrib_sar_hi": 0.4926,
      "contrib_sar_vs_position": 0.2398,
      "contrib_skill_per_90": 0.4773,
      "p_above_replacement": 1.0,
      "sar_goals_only": 0.2224,
      "rank_goals_only": 21,
      "rank_change_vs_goals_only": 13,
      "last_season": "2025-26"
    },
    {
      "rank": 5,
      "player": "Rafa Silva",
      "team": "Benfica",
      "position": "M",
      "minutes": 3622,
      "matches": 49,
      "goals": 20,
      "assists": 12,
      "contributions": 32,
      "contrib_per_90": 0.795,
      "contrib_sar": 0.3327,
      "contrib_sar_lo": 0.1901,
      "contrib_sar_hi": 0.4834,
      "contrib_sar_vs_position": 0.3318,
      "contrib_skill_per_90": 0.4766,
      "p_above_replacement": 0.9999,
      "sar_goals_only": 0.2282,
      "rank_goals_only": 20,
      "rank_change_vs_goals_only": 11,
      "last_season": "2026-27"
    },
    {
      "rank": 6,
      "player": "Yanis Begraoui",
      "team": "Estoril",
      "position": "F",
      "minutes": 5016,
      "matches": 72,
      "goals": 33,
      "assists": 4,
      "contributions": 37,
      "contrib_per_90": 0.664,
      "contrib_sar": 0.3282,
      "contrib_sar_lo": 0.2032,
      "contrib_sar_hi": 0.46,
      "contrib_sar_vs_position": 0.2347,
      "contrib_skill_per_90": 0.4721,
      "p_above_replacement": 1.0,
      "sar_goals_only": 0.2958,
      "rank_goals_only": 8,
      "rank_change_vs_goals_only": -2,
      "last_season": "2026-27"
    },
    {
      "rank": 7,
      "player": "Andreas Schjelderup",
      "team": "Benfica",
      "position": "F",
      "minutes": 2344,
      "matches": 51,
      "goals": 8,
      "assists": 8,
      "contributions": 16,
      "contrib_per_90": 0.614,
      "contrib_sar": 0.3235,
      "contrib_sar_lo": 0.1718,
      "contrib_sar_hi": 0.484,
      "contrib_sar_vs_position": 0.23,
      "contrib_skill_per_90": 0.4674,
      "p_above_replacement": 1.0,
      "sar_goals_only": 0.2095,
      "rank_goals_only": 27,
      "rank_change_vs_goals_only": 16,
      "last_season": "2026-27"
    },
    {
      "rank": 8,
      "player": "Rodrigo Zalazar",
      "team": "Sporting CP",
      "position": "M",
      "minutes": 5516,
      "matches": 83,
      "goals": 27,
      "assists": 17,
      "contributions": 44,
      "contrib_per_90": 0.718,
      "contrib_sar": 0.3127,
      "contrib_sar_lo": 0.1966,
      "contrib_sar_hi": 0.4316,
      "contrib_sar_vs_position": 0.3119,
      "contrib_skill_per_90": 0.4566,
      "p_above_replacement": 1.0,
      "sar_goals_only": 0.1557,
      "rank_goals_only": 42,
      "rank_change_vs_goals_only": 28,
      "last_season": "2026-27"
    },
    {
      "rank": 9,
      "player": "Jalen Blesa",
      "team": "Rio Ave",
      "position": "F",
      "minutes": 1425,
      "matches": 17,
      "goals": 8,
      "assists": 1,
      "contributions": 9,
      "contrib_per_90": 0.568,
      "contrib_sar": 0.2992,
      "contrib_sar_lo": 0.1149,
      "contrib_sar_hi": 0.5094,
      "contrib_sar_vs_position": 0.2057,
      "contrib_skill_per_90": 0.4431,
      "p_above_replacement": 0.9992,
      "sar_goals_only": 0.307,
      "rank_goals_only": 6,
      "rank_change_vs_goals_only": -11,
      "last_season": "2026-27"
    },
    {
      "rank": 10,
      "player": "Gonçalo Paciência",
      "team": "Santa Clara",
      "position": "F",
      "minutes": 805,
      "matches": 16,
      "goals": 7,
      "assists": 0,
      "contributions": 7,
      "contrib_per_90": 0.783,
      "contrib_sar": 0.2979,
      "contrib_sar_lo": 0.1097,
      "contrib_sar_hi": 0.5191,
      "contrib_sar_vs_position": 0.2043,
      "contrib_skill_per_90": 0.4418,
      "p_above_replacement": 0.9988,
      "sar_goals_only": 0.3027,
      "rank_goals_only": 7,
      "rank_change_vs_goals_only": -11,
      "last_season": "2026-27"
    },
    {
      "rank": 11,
      "player": "Héctor Hernández",
      "team": "Gil Vicente",
      "position": "F",
      "minutes": 3135,
      "matches": 44,
      "goals": 18,
      "assists": 3,
      "contributions": 21,
      "contrib_per_90": 0.603,
      "contrib_sar": 0.2951,
      "contrib_sar_lo": 0.155,
      "contrib_sar_hi": 0.4517,
      "contrib_sar_vs_position": 0.2015,
      "contrib_skill_per_90": 0.439,
      "p_above_replacement": 1.0,
      "sar_goals_only": 0.2729,
      "rank_goals_only": 12,
      "rank_change_vs_goals_only": -7,
      "last_season": "2026-27"
    },
    {
      "rank": 12,
      "player": "Gustavo Silva",
      "team": "Vitoria SC",
      "position": "F",
      "minutes": 2665,
      "matches": 48,
      "goals": 13,
      "assists": 2,
      "contributions": 15,
      "contrib_per_90": 0.507,
      "contrib_sar": 0.2926,
      "contrib_sar_lo": 0.1513,
      "contrib_sar_hi": 0.4456,
      "contrib_sar_vs_position": 0.199,
      "contrib_skill_per_90": 0.4365,
      "p_above_replacement": 0.9999,
      "sar_goals_only": 0.2909,
      "rank_goals_only": 10,
      "rank_change_vs_goals_only": -10,
      "last_season": "2026-27"
    },
    {
      "rank": 13,
      "player": "Fotis Ioannidis",
      "team": "Sporting CP",
      "position": "F",
      "minutes": 625,
      "matches": 16,
      "goals": 5,
      "assists": 2,
      "contributions": 7,
      "contrib_per_90": 1.008,
      "contrib_sar": 0.2862,
      "contrib_sar_lo": 0.0918,
      "contrib_sar_hi": 0.5136,
      "contrib_sar_vs_position": 0.1926,
      "contrib_skill_per_90": 0.4301,
      "p_above_replacement": 0.998,
      "sar_goals_only": 0.2692,
      "rank_goals_only": 13,
      "rank_change_vs_goals_only": -8,
      "last_season": "2026-27"
    },
    {
      "rank": 14,
      "player": "Ivan Barbero",
      "team": "Arouca",
      "position": "F",
      "minutes": 2168,
      "matches": 35,
      "goals": 11,
      "assists": 2,
      "contributions": 13,
      "contrib_per_90": 0.54,
      "contrib_sar": 0.2771,
      "contrib_sar_lo": 0.1278,
      "contrib_sar_hi": 0.4447,
      "contrib_sar_vs_position": 0.1835,
      "contrib_skill_per_90": 0.421,
      "p_above_replacement": 0.9999,
      "sar_goals_only": 0.2584,
      "rank_goals_only": 16,
      "rank_change_vs_goals_only": -6,
      "last_season": "2026-27"
    },
    {
      "rank": 15,
      "player": "William Gomes",
      "team": "Porto",
      "position": "F",
      "minutes": 1664,
      "matches": 41,
      "goals": 10,
      "assists": 3,
      "contributions": 13,
      "contrib_per_90": 0.703,
      "contrib_sar": 0.2709,
      "contrib_sar_lo": 0.1264,
      "contrib_sar_hi": 0.4327,
      "contrib_sar_vs_position": 0.1773,
      "contrib_skill_per_90": 0.4148,
      "p_above_replacement": 0.9996,
      "sar_goals_only": 0.2542,
      "rank_goals_only": 17,
      "rank_change_vs_goals_only": -7,
      "last_season": "2026-27"
    },
    {
      "rank": 16,
      "player": "Tiago Gouveia",
      "team": "Benfica",
      "position": "F",
      "minutes": 646,
      "matches": 18,
      "goals": 3,
      "assists": 4,
      "contributions": 7,
      "contrib_per_90": 0.975,
      "contrib_sar": 0.2686,
      "contrib_sar_lo": 0.0725,
      "contrib_sar_hi": 0.494,
      "contrib_sar_vs_position": 0.175,
      "contrib_skill_per_90": 0.4125,
      "p_above_replacement": 0.9944,
      "sar_goals_only": 0.1916,
      "rank_goals_only": 31,
      "rank_change_vs_goals_only": 6,
      "last_season": "2025-26"
    },
    {
      "rank": 17,
      "player": "Pau Víctor",
      "team": "SC Braga",
      "position": "F",
      "minutes": 2367,
      "matches": 34,
      "goals": 11,
      "assists": 4,
      "contributions": 15,
      "contrib_per_90": 0.57,
      "contrib_sar": 0.2648,
      "contrib_sar_lo": 0.1159,
      "contrib_sar_hi": 0.4308,
      "contrib_sar_vs_position": 0.1712,
      "contrib_skill_per_90": 0.4087,
      "p_above_replacement": 0.9996,
      "sar_goals_only": 0.2222,
      "rank_goals_only": 23,
      "rank_change_vs_goals_only": -3,
      "last_season": "2026-27"
    },
    {
      "rank": 18,
      "player": "Gabri Veiga",
      "team": "Porto",
      "position": "M",
      "minutes": 1998,
      "matches": 36,
      "goals": 6,
      "assists": 10,
      "contributions": 16,
      "contrib_per_90": 0.721,
      "contrib_sar": 0.2484,
      "contrib_sar_lo": 0.1024,
      "contrib_sar_hi": 0.4112,
      "contrib_sar_vs_position": 0.2475,
      "contrib_skill_per_90": 0.3923,
      "p_above_replacement": 0.9985,
      "sar_goals_only": 0.0719,
      "rank_goals_only": 89,
      "rank_change_vs_goals_only": 59,
      "last_season": "2026-27"
    },
    {
      "rank": 19,
      "player": "Daniel Bragança",
      "team": "Sporting CP",
      "position": "M",
      "minutes": 2678,
      "matches": 60,
      "goals": 12,
      "assists": 6,
      "contributions": 18,
      "contrib_per_90": 0.605,
      "contrib_sar": 0.2417,
      "contrib_sar_lo": 0.116,
      "contrib_sar_hi": 0.3791,
      "contrib_sar_vs_position": 0.2409,
      "contrib_skill_per_90": 0.3856,
      "p_above_replacement": 1.0,
      "sar_goals_only": 0.155,
      "rank_goals_only": 43,
      "rank_change_vs_goals_only": 11,
      "last_season": "2025-26"
    },
    {
      "rank": 20,
      "player": "Ricardo Horta",
      "team": "SC Braga",
      "position": "M",
      "minutes": 7393,
      "matches": 91,
      "goals": 33,
      "assists": 14,
      "contributions": 47,
      "contrib_per_90": 0.572,
      "contrib_sar": 0.2182,
      "contrib_sar_lo": 0.122,
      "contrib_sar_hi": 0.3231,
      "contrib_sar_vs_position": 0.2174,
      "contrib_skill_per_90": 0.3621,
      "p_above_replacement": 0.9999,
      "sar_goals_only": 0.1419,
      "rank_goals_only": 48,
      "rank_change_vs_goals_only": 14,
      "last_season": "2026-27"
    },
    {
      "rank": 21,
      "player": "João Carvalho",
      "team": "Estoril",
      "position": "F",
      "minutes": 5474,
      "matches": 65,
      "goals": 12,
      "assists": 14,
      "contributions": 26,
      "contrib_per_90": 0.427,
      "contrib_sar": 0.2164,
      "contrib_sar_lo": 0.1038,
      "contrib_sar_hi": 0.339,
      "contrib_sar_vs_position": 0.1228,
      "contrib_skill_per_90": 0.3603,
      "p_above_replacement": 0.9996,
      "sar_goals_only": 0.1106,
      "rank_goals_only": 66,
      "rank_change_vs_goals_only": 30,
      "last_season": "2026-27"
    },
    {
      "rank": 22,
      "player": "Abraham Marcus",
      "team": "Estrela Amadora",
      "position": "F",
      "minutes": 2842,
      "matches": 34,
      "goals": 7,
      "assists": 5,
      "contributions": 12,
      "contrib_per_90": 0.38,
      "contrib_sar": 0.2154,
      "contrib_sar_lo": 0.0759,
      "contrib_sar_hi": 0.3754,
      "contrib_sar_vs_position": 0.1219,
      "contrib_skill_per_90": 0.3593,
      "p_above_replacement": 0.9976,
      "sar_goals_only": 0.16,
      "rank_goals_only": 39,
      "rank_change_vs_goals_only": 2,
      "last_season": "2026-27"
    },
    {
      "rank": 23,
      "player": "Oskar Pietuszewski",
      "team": "Porto",
      "position": "F",
      "minutes": 819,
      "matches": 16,
      "goals": 3,
      "assists": 2,
      "contributions": 5,
      "contrib_per_90": 0.549,
      "contrib_sar": 0.2139,
      "contrib_sar_lo": 0.0488,
      "contrib_sar_hi": 0.4111,
      "contrib_sar_vs_position": 0.1203,
      "contrib_skill_per_90": 0.3578,
      "p_above_replacement": 0.99,
      "sar_goals_only": 0.1382,
      "rank_goals_only": 50,
      "rank_change_vs_goals_only": 12,
      "last_season": "2025-26"
    },
    {
      "rank": 24,
      "player": "Cassiano",
      "team": "Casa Pia",
      "position": "F",
      "minutes": 5551,
      "matches": 88,
      "goals": 23,
      "assists": 5,
      "contributions": 28,
      "contrib_per_90": 0.454,
      "contrib_sar": 0.212,
      "contrib_sar_lo": 0.1132,
      "contrib_sar_hi": 0.3223,
      "contrib_sar_vs_position": 0.1184,
      "contrib_skill_per_90": 0.3559,
      "p_above_replacement": 1.0,
      "sar_goals_only": 0.2027,
      "rank_goals_only": 29,
      "rank_change_vs_goals_only": -11,
      "last_season": "2026-27"
    },
    {
      "rank": 25,
      "player": "Óscar Aranda",
      "team": "Famalicao",
      "position": "F",
      "minutes": 3484,
      "matches": 59,
      "goals": 10,
      "assists": 4,
      "contributions": 14,
      "contrib_per_90": 0.362,
      "contrib_sar": 0.2114,
      "contrib_sar_lo": 0.091,
      "contrib_sar_hi": 0.3422,
      "contrib_sar_vs_position": 0.1178,
      "contrib_skill_per_90": 0.3553,
      "p_above_replacement": 0.9989,
      "sar_goals_only": 0.1772,
      "rank_goals_only": 35,
      "rank_change_vs_goals_only": -6,
      "last_season": "2026-27"
    },
    {
      "rank": 26,
      "player": "André Lacximicant",
      "team": "Estoril",
      "position": "F",
      "minutes": 2719,
      "matches": 66,
      "goals": 9,
      "assists": 6,
      "contributions": 15,
      "contrib_per_90": 0.497,
      "contrib_sar": 0.2067,
      "contrib_sar_lo": 0.0856,
      "contrib_sar_hi": 0.341,
      "contrib_sar_vs_position": 0.1131,
      "contrib_skill_per_90": 0.3506,
      "p_above_replacement": 0.9984,
      "sar_goals_only": 0.1241,
      "rank_goals_only": 55,
      "rank_change_vs_goals_only": 13,
      "last_season": "2026-27"
    },
    {
      "rank": 27,
      "player": "Borja Sainz",
      "team": "Porto",
      "position": "F",
      "minutes": 1718,
      "matches": 35,
      "goals": 7,
      "assists": 3,
      "contributions": 10,
      "contrib_per_90": 0.524,
      "contrib_sar": 0.2067,
      "contrib_sar_lo": 0.0637,
      "contrib_sar_hi": 0.3713,
      "contrib_sar_vs_position": 0.1131,
      "contrib_skill_per_90": 0.3506,
      "p_above_replacement": 0.9965,
      "sar_goals_only": 0.1383,
      "rank_goals_only": 49,
      "rank_change_vs_goals_only": 6,
      "last_season": "2026-27"
    },
    {
      "rank": 28,
      "player": "Fran Navarro",
      "team": "SC Braga",
      "position": "F",
      "minutes": 2347,
      "matches": 51,
      "goals": 11,
      "assists": 1,
      "contributions": 12,
      "contrib_per_90": 0.46,
      "contrib_sar": 0.2025,
      "contrib_sar_lo": 0.0759,
      "contrib_sar_hi": 0.3451,
      "contrib_sar_vs_position": 0.1089,
      "contrib_skill_per_90": 0.3464,
      "p_above_replacement": 0.9982,
      "sar_goals_only": 0.206,
      "rank_goals_only": 28,
      "rank_change_vs_goals_only": -16,
      "last_season": "2026-27"
    },
    {
      "rank": 29,
      "player": "Jérémy Livolant",
      "team": "Casa Pia",
      "position": "F",
      "minutes": 4601,
      "matches": 59,
      "goals": 7,
      "assists": 12,
      "contributions": 19,
      "contrib_per_90": 0.372,
      "contrib_sar": 0.1922,
      "contrib_sar_lo": 0.0805,
      "contrib_sar_hi": 0.3157,
      "contrib_sar_vs_position": 0.0986,
      "contrib_skill_per_90": 0.3361,
      "p_above_replacement": 0.9986,
      "sar_goals_only": 0.0571,
      "rank_goals_only": 100,
      "rank_change_vs_goals_only": 52,
      "last_season": "2025-26"
    },
    {
      "rank": 30,
      "player": "Leandro Antonetti",
      "team": "Estrela Amadora",
      "position": "F",
      "minutes": 602,
      "matches": 15,
      "goals": 3,
      "assists": 0,
      "contributions": 3,
      "contrib_per_90": 0.449,
      "contrib_sar": 0.1907,
      "contrib_sar_lo": 0.0242,
      "contrib_sar_hi": 0.3937,
      "contrib_sar_vs_position": 0.0972,
      "contrib_skill_per_90": 0.3346,
      "p_above_replacement": 0.9762,
      "sar_goals_only": 0.1898,
      "rank_goals_only": 32,
      "rank_change_vs_goals_only": -17,
      "last_season": "2026-27"
    },
    {
      "rank": 31,
      "player": "Murilo",
      "team": "Gil Vicente",
      "position": "M",
      "minutes": 4651,
      "matches": 65,
      "goals": 15,
      "assists": 9,
      "contributions": 24,
      "contrib_per_90": 0.464,
      "contrib_sar": 0.1881,
      "contrib_sar_lo": 0.0852,
      "contrib_sar_hi": 0.3002,
      "contrib_sar_vs_position": 0.1873,
      "contrib_skill_per_90": 0.332,
      "p_above_replacement": 0.9998,
      "sar_goals_only": 0.0835,
      "rank_goals_only": 78,
      "rank_change_vs_goals_only": 27,
      "last_season": "2026-27"
    },
    {
      "rank": 32,
      "player": "Chiquinho",
      "team": "Alverca",
      "position": "F",
      "minutes": 3409,
      "matches": 49,
      "goals": 7,
      "assists": 6,
      "contributions": 13,
      "contrib_per_90": 0.343,
      "contrib_sar": 0.1866,
      "contrib_sar_lo": 0.0646,
      "contrib_sar_hi": 0.327,
      "contrib_sar_vs_position": 0.093,
      "contrib_skill_per_90": 0.3305,
      "p_above_replacement": 0.9974,
      "sar_goals_only": 0.1271,
      "rank_goals_only": 53,
      "rank_change_vs_goals_only": 1,
      "last_season": "2026-27"
    },
    {
      "rank": 33,
      "player": "Dylan Nandín",
      "team": "Arouca",
      "position": "F",
      "minutes": 1691,
      "matches": 40,
      "goals": 5,
      "assists": 3,
      "contributions": 8,
      "contrib_per_90": 0.426,
      "contrib_sar": 0.1859,
      "contrib_sar_lo": 0.0544,
      "contrib_sar_hi": 0.3363,
      "contrib_sar_vs_position": 0.0924,
      "contrib_skill_per_90": 0.3298,
      "p_above_replacement": 0.9942,
      "sar_goals_only": 0.1217,
      "rank_goals_only": 58,
      "rank_change_vs_goals_only": 5,
      "last_season": "2026-27"
    },
    {
      "rank": 34,
      "player": "Vinícius Lopes",
      "team": "Santa Clara",
      "position": "F",
      "minutes": 4073,
      "matches": 65,
      "goals": 14,
      "assists": 2,
      "contributions": 16,
      "contrib_per_90": 0.354,
      "contrib_sar": 0.1842,
      "contrib_sar_lo": 0.075,
      "contrib_sar_hi": 0.3049,
      "contrib_sar_vs_position": 0.0906,
      "contrib_skill_per_90": 0.328,
      "p_above_replacement": 0.9994,
      "sar_goals_only": 0.1872,
      "rank_goals_only": 33,
      "rank_change_vs_goals_only": -22,
      "last_season": "2026-27"
    },
    {
      "rank": 35,
      "player": "Yan Maranhão",
      "team": "Moreirense",
      "position": "F",
      "minutes": 1031,
      "matches": 31,
      "goals": 4,
      "assists": 1,
      "contributions": 5,
      "contrib_per_90": 0.436,
      "contrib_sar": 0.1826,
      "contrib_sar_lo": 0.0363,
      "contrib_sar_hi": 0.3581,
      "contrib_sar_vs_position": 0.089,
      "contrib_skill_per_90": 0.3265,
      "p_above_replacement": 0.9869,
      "sar_goals_only": 0.1586,
      "rank_goals_only": 41,
      "rank_change_vs_goals_only": -15,
      "last_season": "2026-27"
    },
    {
      "rank": 36,
      "player": "Rafik Guitane",
      "team": "Estoril",
      "position": "F",
      "minutes": 5662,
      "matches": 89,
      "goals": 8,
      "assists": 12,
      "contributions": 20,
      "contrib_per_90": 0.318,
      "contrib_sar": 0.1725,
      "contrib_sar_lo": 0.0741,
      "contrib_sar_hi": 0.281,
      "contrib_sar_vs_position": 0.0789,
      "contrib_skill_per_90": 0.3164,
      "p_above_replacement": 0.9992,
      "sar_goals_only": 0.0552,
      "rank_goals_only": 101,
      "rank_change_vs_goals_only": 42,
      "last_season": "2026-27"
    },
    {
      "rank": 37,
      "player": "Dodi Lukebakio",
      "team": "Benfica",
      "position": "F",
      "minutes": 781,
      "matches": 20,
      "goals": 0,
      "assists": 3,
      "contributions": 3,
      "contrib_per_90": 0.346,
      "contrib_sar": 0.1711,
      "contrib_sar_lo": 0.0137,
      "contrib_sar_hi": 0.3683,
      "contrib_sar_vs_position": 0.0775,
      "contrib_skill_per_90": 0.3149,
      "p_above_replacement": 0.9661,
      "sar_goals_only": 0.0538,
      "rank_goals_only": 105,
      "rank_change_vs_goals_only": 45,
      "last_season": "2026-27"
    },
    {
      "rank": 38,
      "player": "Figueiredo",
      "team": "Alverca",
      "position": "F",
      "minutes": 2235,
      "matches": 31,
      "goals": 7,
      "assists": 2,
      "contributions": 9,
      "contrib_per_90": 0.362,
      "contrib_sar": 0.1652,
      "contrib_sar_lo": 0.0349,
      "contrib_sar_hi": 0.3192,
      "contrib_sar_vs_position": 0.0716,
      "contrib_skill_per_90": 0.309,
      "p_above_replacement": 0.9882,
      "sar_goals_only": 0.1488,
      "rank_goals_only": 46,
      "rank_change_vs_goals_only": -17,
      "last_season": "2026-27"
    },
    {
      "rank": 39,
      "player": "Pepê",
      "team": "Porto",
      "position": "F",
      "minutes": 7520,
      "matches": 100,
      "goals": 10,
      "assists": 15,
      "contributions": 25,
      "contrib_per_90": 0.299,
      "contrib_sar": 0.1638,
      "contrib_sar_lo": 0.0776,
      "contrib_sar_hi": 0.262,
      "contrib_sar_vs_position": 0.0702,
      "contrib_skill_per_90": 0.3077,
      "p_above_replacement": 0.9992,
      "sar_goals_only": 0.0616,
      "rank_goals_only": 97,
      "rank_change_vs_goals_only": 33,
      "last_season": "2026-27"
    },
    {
      "rank": 40,
      "player": "Ianis Stoica",
      "team": "Estrela Amadora",
      "position": "F",
      "minutes": 1890,
      "matches": 36,
      "goals": 4,
      "assists": 3,
      "contributions": 7,
      "contrib_per_90": 0.333,
      "contrib_sar": 0.1574,
      "contrib_sar_lo": 0.0257,
      "contrib_sar_hi": 0.3114,
      "contrib_sar_vs_position": 0.0638,
      "contrib_skill_per_90": 0.3013,
      "p_above_replacement": 0.9842,
      "sar_goals_only": 0.1148,
      "rank_goals_only": 64,
      "rank_change_vs_goals_only": -1,
      "last_season": "2026-27"
    }
  ],
  "movers_vs_goals_only": [
    {
      "player": "Gabri Veiga",
      "team": "Porto",
      "position": "M",
      "rank_contrib": 30,
      "rank_goals_only": 89,
      "rank_change": 59,
      "goals": 6,
      "assists": 10,
      "contrib_sar": 0.2484,
      "sar_goals_only": 0.0719
    },
    {
      "player": "Fabrício Garcia",
      "team": "Estoril",
      "position": "F",
      "rank_contrib": 142,
      "rank_goals_only": 85,
      "rank_change": -57,
      "goals": 3,
      "assists": 0,
      "contrib_sar": 0.0511,
      "sar_goals_only": 0.0744
    },
    {
      "player": "Jérémy Livolant",
      "team": "Casa Pia",
      "position": "F",
      "rank_contrib": 48,
      "rank_goals_only": 100,
      "rank_change": 52,
      "goals": 7,
      "assists": 12,
      "contrib_sar": 0.1922,
      "sar_goals_only": 0.0571
    },
    {
      "player": "Luís Guilherme",
      "team": "Sporting CP",
      "position": "F",
      "rank_contrib": 119,
      "rank_goals_only": 70,
      "rank_change": -49,
      "goals": 1,
      "assists": 0,
      "contrib_sar": 0.0858,
      "sar_goals_only": 0.0943
    },
    {
      "player": "Sergio Bermejo",
      "team": "Gil Vicente",
      "position": "F",
      "rank_contrib": 121,
      "rank_goals_only": 74,
      "rank_change": -47,
      "goals": 1,
      "assists": 0,
      "contrib_sar": 0.0779,
      "sar_goals_only": 0.0892
    },
    {
      "player": "Welinton Torrao",
      "team": "Santa Clara",
      "position": "F",
      "rank_contrib": 66,
      "rank_goals_only": 112,
      "rank_change": 46,
      "goals": 0,
      "assists": 3,
      "contrib_sar": 0.1567,
      "sar_goals_only": 0.0456
    },
    {
      "player": "Cédric Nuozzi",
      "team": "Alverca",
      "position": "F",
      "rank_contrib": 138,
      "rank_goals_only": 93,
      "rank_change": -45,
      "goals": 1,
      "assists": 0,
      "contrib_sar": 0.0562,
      "sar_goals_only": 0.067
    },
    {
      "player": "Dodi Lukebakio",
      "team": "Benfica",
      "position": "F",
      "rank_contrib": 60,
      "rank_goals_only": 105,
      "rank_change": 45,
      "goals": 0,
      "assists": 3,
      "contrib_sar": 0.1711,
      "sar_goals_only": 0.0538
    }
  ],
  "positional_distribution": [
    {
      "position": "F",
      "n": 178,
      "median": 0.1565,
      "min": 0.0225,
      "max": 0.8398,
      "range": 0.8173,
      "iqr": 0.1271,
      "n_distinct_3dp": 148
    },
    {
      "position": "M",
      "n": 251,
      "median": 0.0186,
      "min": -0.0855,
      "max": 0.3476,
      "range": 0.4331,
      "iqr": 0.0811,
      "n_distinct_3dp": 151
    },
    {
      "position": "D",
      "n": 240,
      "median": -0.0727,
      "min": -0.106,
      "max": 0.0295,
      "range": 0.1356,
      "iqr": 0.024,
      "n_distinct_3dp": 84
    },
    {
      "position": "G",
      "n": 53,
      "median": -0.1414,
      "min": -0.1416,
      "max": -0.1402,
      "range": 0.0014,
      "iqr": 0.0001,
      "n_distinct_3dp": 3
    }
  ],
  "caveats": [
    "Ranks and intervals are posterior summaries from a hierarchical model with shrinkage: low-minute players are pulled toward the replacement level, so a high raw goals+assists total does not guarantee a high rating.",
    "The interval is a 90% posterior interval on the metric, not a confidence interval on a count. Two players whose intervals overlap are not separated by this model.",
    "Goalkeepers are not measured by this metric. It counts attacking contribution, and 49 of 53 goalkeepers in the sample have zero goals and zero assists, so they sit at the floor by construction. Shot-stopping needs its own model (ADR-019).",
    "Defenders are only partially measured: the metric captures their attacking output (set-piece goals, assists) and says nothing about defending.",
    "This is a full-sample fit and is descriptive, not predictive. Any predictive use must go through the walk-forward panel (contrib_skill_walkforward.parquet), per ADR-017.",
    "Goals+assists counts penalties and assists as recorded by SofaScore; secondary assists are not counted.",
    "positional_distribution covers the whole fitted universe (2023-24 onwards, all players over the minutes cut), while the players list is the current-squad subset — the two are not the same population."
  ]
}