{"id": 605089, "h2h": {"draws": 2, "away_wins": 2, "home_wins": 4, "away_goals": 8, "home_goals": 17, "away_win_rate": 0.25, "home_win_rate": 0.5, "total_matches": 8, "recent_matches": [{"away": "Yverdon-Sport FC", "date": "2025-05-14T18:30:00+00:00", "home": "Grasshopper Club Zürich", "score": "5-0", "event_id": 308103, "away_score": 0, "home_score": 5, "away_team_id": 1367, "home_team_id": 249}, {"away": "Grasshopper Club Zürich", "date": "2025-04-12T16:00:00+00:00", "home": "Yverdon-Sport FC", "score": "1-2", "event_id": 308076, "away_score": 2, "home_score": 1, "away_team_id": 249, "home_team_id": 1367}, {"away": "Yverdon-Sport FC", "date": "2024-12-07T17:00:00+00:00", "home": "Grasshopper Club Zürich", "score": "1-1", "event_id": 307985, "away_score": 1, "home_score": 1, "away_team_id": 1367, "home_team_id": 249}, {"away": "Grasshopper Club Zürich", "date": "2024-08-31T16:00:00+00:00", "home": "Yverdon-Sport FC", "score": "2-1", "event_id": 307919, "away_score": 1, "home_score": 2, "away_team_id": 249, "home_team_id": 1367}, {"away": "Yverdon-Sport FC", "date": "2024-05-14T18:30:00+00:00", "home": "Grasshopper Club Zürich", "score": "2-0", "event_id": 313606, "away_score": 0, "home_score": 2, "away_team_id": 1367, "home_team_id": 249}, {"away": "Grasshopper Club Zürich", "date": "2024-04-07T14:30:00+00:00", "home": "Yverdon-Sport FC", "score": "3-2", "event_id": 313580, "away_score": 2, "home_score": 3, "away_team_id": 249, "home_team_id": 1367}, {"away": "Yverdon-Sport FC", "date": "2023-12-16T19:30:00+00:00", "home": "Grasshopper Club Zürich", "score": "1-1", "event_id": 313498, "away_score": 1, "home_score": 1, "away_team_id": 1367, "home_team_id": 249}, {"away": "Grasshopper Club Zürich", "date": "2023-10-07T16:00:00+00:00", "home": "Yverdon-Sport FC", "score": "0-3", "event_id": 313447, "away_score": 3, "home_score": 0, "away_team_id": 249, "home_team_id": 1367}], "avg_total_goals": 3.125}, "away": "Yverdon-Sport FC", "form": {"away": {"ppg": 1.67, "record": "3-1-2", "streak": "none", "matches": 6, "sequence": "WWDWLL", "goals_for": 1.67, "venue_ppg": 1.75, "clean_sheets": 3, "goals_against": 1.33}, "home": {"ppg": 1.67, "record": "3-1-2", "streak": "none", "matches": 6, "sequence": "WDWLLW", "goals_for": 2, "venue_ppg": 1.75, "clean_sheets": 2, "goals_against": 2.17}}, "home": "Grasshopper Club Zürich", "pass": "Passing on Grasshopper Club Zürich v Yverdon-Sport FC. No bookmaker is pricing it yet.", "rank": 9, "read": null, "flags": [{"id": "availability.rotation_risk", "note": "Nobody has named a side yet, so this eleven is a projection.", "section": "§3.1"}], "score": null, "venue": null, "colors": {"away": "#0a763c", "home": "#0b578b"}, "extras": {"split": {"away": null, "home": null}, "teams": {"away": 1367, "home": 249}, "best_xi": [], "players": {}, "referee": null, "managers": {"away": {"id": 2167, "vs": null, "name": "Martin Andermatt"}, "home": {"id": 275, "vs": null, "name": "Peter Zeidler"}}}, "lambda": [1.79, 1.64], "league": "Club Friendlies", "ledger": [{"id": "availability.home.absences", "note": "Grasshopper Club Zürich are without 1 player, none of them central to how the side plays.", "tier": 1, "moves": [{"pct": -0.8, "side": "home", "channel": "goals"}, {"pct": -0.4, "side": "home", "channel": "corners"}], "state": "COMPUTED", "section": "§2.4", "evidence": {"count": 1, "players": [{"role": "ATT", "player": "Luke Plange", "reason": "Illness", "doubtful": false, "measured": true, "goal_share": 0, "importance": 0.076, "cover_at_position": 8}], "measured": 1, "combined_goal_share": 0, "combined_importance": 0.076}, "strength": 0.19}, {"id": "availability.away.full_strength", "note": "Yverdon-Sport FC report no absentees.", "tier": 1, "moves": [], "state": "COMPUTED", "section": "§2.4", "evidence": {"absences": 0}, "strength": 0.2}, {"id": "availability.rotation_risk", "note": "Nobody has named a side yet, so this eleven is a projection.", "tier": 1, "moves": [], "state": "COMPUTED", "section": "§3.1", "evidence": {"cup_tie": false, "confidence": 0.214, "lineup_status": "predicted"}, "strength": 0.786}, {"id": "stakes.table", "note": "A cup or a group stage, so there is no league table to read what either side is playing for.", "tier": 2, "moves": [], "state": "UNAVAILABLE", "section": "§5.1", "evidence": {}, "strength": 0}, {"id": "fixture.derby", "note": "Not a local derby.", "tier": 2, "moves": [], "state": "COMPUTED", "section": "§5.2", "evidence": {"derby": false}, "strength": 0}, {"id": "fixture.revenge", "note": "The reverse fixture finished 1-2, too close to carry a revenge motive.", "tier": 2, "moves": [], "state": "COMPUTED", "section": "§5.3", "evidence": {"reverse_margin": 1}, "strength": 0}, {"id": "manager.home.established", "note": "Peter Zeidler has 19 matches in charge at Grasshopper Club Zürich, long enough that the side plays the way he wants it to.", "tier": 3, "moves": [], "state": "COMPUTED", "section": "§1.1", "evidence": {"ppm": 1.42, "manager": "Peter Zeidler", "tenure_days": 144, "matches_in_charge": 19, "appointment_effect": {"delta": null, "after_ppm": 1.7, "before_ppm": 0.6}}, "strength": 0.1}, {"id": "manager.away.bounce", "note": "Martin Andermatt is 2 games into the job at Yverdon-Sport FC. The new-manager bounce window is live but reverts by around game six.", "tier": 3, "moves": [{"pct": 2.8, "side": "away", "channel": "goals"}], "state": "COMPUTED", "section": "§1.1", "evidence": {"ppm": 0, "manager": "Martin Andermatt", "tenure_days": 83, "matches_in_charge": 2, "appointment_effect": {"delta": null, "after_ppm": 0, "before_ppm": 1.3}}, "strength": 0.467}, {"id": "fatigue.home", "note": "Grasshopper Club Zürich come in on 8 days' rest, with nothing unusual in the schedule behind them.", "tier": 4, "moves": [], "state": "COMPUTED", "section": "§2.8", "evidence": {"daysRest": 8.145833333333334, "days_rest": 8.1, "matchesIn7": 0, "matchesIn14": 2}, "strength": 0.1}, {"id": "fatigue.away", "note": "Yverdon-Sport FC have no prior fixture on record in the window, so days of rest cannot be computed.", "tier": 4, "moves": [], "state": "THIN", "section": "§2.8", "evidence": {"daysRest": null, "matchesIn7": 0, "matchesIn14": 0}, "strength": 0}, {"id": "style.opponent_adjustment", "note": "Team strength is estimated against the actual quality of opponents faced, so a soft run of fixtures does not read as form. — though 2.52742760233665 games is too few to read much into, so it is left out of the call.", "tier": 5, "moves": [], "state": "THIN", "section": "§4.1", "evidence": {"away": {"attack": -0.076, "shrunk": 0.76, "defence": 0.06, "effective_matches": 2.5}, "home": {"attack": 0.141, "shrunk": 0.68, "defence": -0.048, "effective_matches": 3.8}, "sample": 2.52742760233665, "required": 6}, "strength": 0}, {"id": "style.matchup", "note": "Yverdon-Sport FC average 12 points more possession than Grasshopper Club Zürich, so this should be one side with the ball and one without it.", "tier": 5, "moves": [{"pct": 2.5, "side": "away", "channel": "corners"}, {"pct": -2.5, "side": "home", "channel": "corners"}], "state": "COMPUTED", "section": "§4.2", "evidence": {"away": {"shots": null, "corners": 4.5, "matches": 12, "possession": 56, "xg_per_shot": null, "finishing_vs_xg": -0.01, "corners_per_shot": null}, "home": {"shots": 15.4, "corners": 5.3, "matches": 12, "possession": 44.1, "xg_per_shot": 0.129, "finishing_vs_xg": -0.49, "corners_per_shot": 0.345}, "possession_gap": -11.9}, "strength": 0.476}, {"id": "style.press_matchup", "note": "Pressing intensity and defensive line height are not in the ingested stats, so the press matchup is not assessed. Possession is not a substitute for PPDA and is not used as one.", "tier": 5, "moves": [], "state": "UNAVAILABLE", "section": "§4.2", "evidence": {"requires": ["ppda", "defensive_line_height"]}, "strength": 0}, {"id": "style.finishing.home", "note": "Grasshopper Club Zürich have scored 6 fewer than the chances they made over 12 games, a gap that usually closes rather than holds.", "tier": 5, "moves": [], "state": "COMPUTED", "section": "§2.1", "evidence": {"matches": 12, "goals_minus_xg_per_match": -0.49}, "strength": 0.25}, {"id": "style.finishing.away", "note": "Yverdon-Sport FC are scoring about what their chances are worth.", "tier": 5, "moves": [], "state": "COMPUTED", "section": "§2.1", "evidence": {"matches": 12, "goals_minus_xg_per_match": -0.01}, "strength": 0.1}, {"id": "referee.tendency", "note": "No referee appointed or recorded for this fixture yet.", "tier": 5, "moves": [], "state": "UNAVAILABLE", "section": "§13", "evidence": {}, "strength": 0}, {"id": "fatigue.travel", "note": "No travel distance reported for this fixture.", "tier": 6, "moves": [], "state": "UNAVAILABLE", "section": "§6.4", "evidence": {}, "strength": 0}, {"id": "environment.weather", "note": "No weather reported for this fixture.", "tier": 6, "moves": [], "state": "UNAVAILABLE", "section": "§6.2", "evidence": {}, "strength": 0}, {"id": "environment.pitch", "note": "No pitch condition reported for this fixture.", "tier": 6, "moves": [], "state": "UNAVAILABLE", "section": "§6.3", "evidence": {}, "strength": 0}, {"id": "environment.venue", "note": "Attendance is only published after kickoff, so crowd size cannot be assessed in advance. Home advantage is carried by the fitted rating rather than estimated here.", "tier": 6, "moves": [], "state": "UNAVAILABLE", "section": "§6.1", "evidence": {"home_adv": 0.011236153310433}, "strength": 0}], "locked": false, "people": [{"id": 27448, "name": "Marvin Hübel", "side": "home"}, {"id": 7188, "name": "Simone Stroscio", "side": "home"}, {"id": 13809, "name": "Bujar Pllana", "side": "home"}, {"id": 7827, "name": "Yannick Bettkober", "side": "home"}, {"id": 7210, "name": "Nico Rissi", "side": "home"}, {"id": 7193, "name": "Tim Meyer", "side": "home"}, {"id": 7835, "name": "Amir Abrashi", "side": "home"}, {"id": 86457, "name": "Manex Gibelalde Mújika", "side": "home"}, {"id": 7190, "name": "Samuel Krasniqi", "side": "home"}, {"id": 7204, "name": "Nikolas Muci", "side": "home"}, {"id": 7196, "name": "Óscar Clemente", "side": "home"}, {"id": 8622, "name": "Luka Mikulic", "side": "home"}, {"id": 7185, "name": "Justin Hammel", "side": "home"}, {"id": 7836, "name": "Samuele Bengondo", "side": "home"}, {"id": 7840, "name": "Young-Jun Lee", "side": "home"}, {"id": 7664, "name": "Abdoulaye Diaby", "side": "home"}, {"id": 7607, "name": "Giotto Morandi", "side": "home"}, {"id": 46778, "name": "Denis Sahin", "side": "home"}, {"id": 7665, "name": "Hassane Imourane", "side": "home"}, {"id": 7721, "name": "Allan Arigoni", "side": "home"}, {"id": 3104, "name": "Kenzo Goudmijn", "side": "home"}, {"id": 7820, "name": "Dorian Paloschi", "side": "home"}, {"id": 7694, "name": "Samuel Marques", "side": "home"}, {"id": 7209, "name": "Pantaleo Creti", "side": "home"}, {"id": 98942, "name": "John Hilton", "side": "home"}, {"id": 7197, "name": "Luke Plange", "side": "home"}, {"id": 146736, "name": "Diego Ferrazza", "side": "home"}, {"id": 216051, "name": "Diego Ferruzza", "side": "home"}, {"id": 52289, "name": "Demis Fiechter", "side": "home"}, {"id": 7333, "name": "Julian Von Moos", "side": "home"}, {"id": 7202, "name": "Matteo Mantini", "side": "home"}, {"id": 7194, "name": "Maximilian Ullmann", "side": "home"}, {"id": 46777, "name": "Dominik Papic", "side": "home"}, {"id": 30092, "name": "Maxime Rouiller", "side": "away"}, {"id": 30085, "name": "Vegard Kongsro", "side": "away"}, {"id": 30084, "name": "Jason Gnakpa", "side": "away"}, {"id": 30086, "name": "Lucas Pos", "side": "away"}, {"id": 30088, "name": "Anthony Sauthier", "side": "away"}, {"id": 7264, "name": "Ousmane Doumbia", "side": "away"}, {"id": 7867, "name": "Bastien Toma", "side": "away"}, {"id": 30078, "name": "Helios Sessolo", "side": "away"}, {"id": 30074, "name": "Mahamadou Kanoute", "side": "away"}, {"id": 27431, "name": "Valon Fazliu", "side": "away"}, {"id": 30072, "name": "Varol Tasar", "side": "away"}, {"id": 30070, "name": "Elias Pasche", "side": "away"}, {"id": 30090, "name": "Simon Enzler", "side": "away"}, {"id": 64589, "name": "Loan Guignard", "side": "away"}, {"id": 7367, "name": "Anthony Baron", "side": "away"}, {"id": 7315, "name": "Lorenzo Bittarelli", "side": "away"}, {"id": 63966, "name": "Gilles Richard", "side": "away"}, {"id": 28583, "name": "Shkelqim Demhasaj", "side": "away"}, {"id": 64588, "name": "Jhonatan Mayorga", "side": "away"}, {"id": 66067, "name": "Jean-Kévin Augustin", "side": "away"}, {"id": 30073, "name": "Robin Golliard", "side": "away"}, {"id": 9999, "name": "Jonathan Okita", "side": "away"}, {"id": 30082, "name": "Aurelien Chappuis", "side": "away"}, {"id": 53359, "name": "Mayka Okuka", "side": "away"}, {"id": 8857, "name": "Ethan Bruchez", "side": "away"}], "status": "notstarted", "away_id": 1367, "home_id": 249, "kickoff": 1790944200, "lineups": {"away": {"players": [{"id": 30092, "name": "Maxime Rouiller", "ai_score": 0.01, "position": "G", "starting": true}, {"id": 30085, "name": "Vegard Kongsro", "ai_score": 0.447, "position": "D", "starting": true}, {"id": 30084, "name": "Jason Gnakpa", "ai_score": 0.157, "position": "D", "starting": true}, {"id": 30086, "name": "Lucas Pos", "ai_score": 0.01, "position": "D", "starting": true}, {"id": 30088, "name": "Anthony Sauthier", "ai_score": 0.497, "position": "D", "starting": true}, {"id": 7264, "name": "Ousmane Doumbia", "ai_score": 0.01, "position": "M", "starting": true}, {"id": 7867, "name": "Bastien Toma", "ai_score": 0.212, "position": "F", "starting": true}, {"id": 30078, "name": "Helios Sessolo", "ai_score": 0.01, "position": "M", "starting": true}, {"id": 30074, "name": "Mahamadou Kanoute", "ai_score": 0.01, "position": "F", "starting": true}, {"id": 27431, "name": "Valon Fazliu", "ai_score": 0.01, "position": "F", "starting": true}, {"id": 30072, "name": "Varol Tasar", "ai_score": 0.281, "position": "F", "starting": true}, {"id": 30070, "name": "Elias Pasche", "ai_score": 0.005, "position": "F", "starting": false}, {"id": 30090, "name": "Simon Enzler", "ai_score": 0.005, "position": "G", "starting": false}], "formation": "4-3-3", "confidence": 0.214}, "home": {"players": [{"id": 27448, "name": "Marvin Hübel", "ai_score": 0.584, "position": "G", "starting": true}, {"id": 7188, "name": "Simone Stroscio", "ai_score": 0.805, "position": "D", "starting": true}, {"id": 13809, "name": "Bujar Pllana", "ai_score": 0.628, "position": "D", "starting": true}, {"id": 7827, "name": "Yannick Bettkober", "ai_score": 0.611, "position": "D", "starting": true}, {"id": 7210, "name": "Nico Rissi", "ai_score": 0.725, "position": "D", "starting": true}, {"id": 7193, "name": "Tim Meyer", "ai_score": 0.406, "position": "M", "starting": true}, {"id": 7835, "name": "Amir Abrashi", "ai_score": 0.645, "position": "M", "starting": true}, {"id": 86457, "name": "Manex Gibelalde Mújika", "ai_score": 0.581, "position": "M", "starting": true}, {"id": 7190, "name": "Samuel Krasniqi", "ai_score": 0.814, "position": "M", "starting": true}, {"id": 7204, "name": "Nikolas Muci", "ai_score": 0.491, "position": "F", "starting": true}, {"id": 7196, "name": "Óscar Clemente", "ai_score": 0.514, "position": "F", "starting": true}, {"id": 8622, "name": "Luka Mikulic", "ai_score": 0.446, "position": "D", "starting": false}, {"id": 7185, "name": "Justin Hammel", "ai_score": 0.396, "position": "G", "starting": false}, {"id": 7836, "name": "Samuele Bengondo", "ai_score": 0.376, "position": "F", "starting": false}, {"id": 7840, "name": "Young-Jun Lee", "ai_score": 0.308, "position": "F", "starting": false}, {"id": 7664, "name": "Abdoulaye Diaby", "ai_score": 0.28, "position": "D", "starting": false}, {"id": 7607, "name": "Giotto Morandi", "ai_score": 0.274, "position": "M", "starting": false}, {"id": 46778, "name": "Denis Sahin", "ai_score": 0.27, "position": "M", "starting": false}, {"id": 7665, "name": "Hassane Imourane", "ai_score": 0.258, "position": "M", "starting": false}, {"id": 7721, "name": "Allan Arigoni", "ai_score": 0.242, "position": "D", "starting": false}, {"id": 3104, "name": "Kenzo Goudmijn", "ai_score": 0.228, "position": "M", "starting": false}, {"id": 7820, "name": "Dorian Paloschi", "ai_score": 0.181, "position": "D", "starting": false}, {"id": 7694, "name": "Samuel Marques", "ai_score": 0.175, "position": "M", "starting": false}], "formation": "4-3-3", "confidence": 0.682}, "status": "predicted", "confidence": 0.214, "unavailable": [{"id": 7197, "name": "Luke Plange", "side": "home", "reason": "Illness", "team_id": null}]}, "neutral": false, "notable": [{"id": 15835, "name": "Hamza Abdelkarim", "rank": 1, "goals": 4}, {"id": 390, "name": "João Pedro", "rank": 2, "goals": 4}, {"id": 675, "name": "Matheus França", "rank": 3, "goals": 4}, {"id": 1690, "name": "Andy Diouf", "rank": 4, "goals": 3}, {"id": 1796, "name": "Bryan Mbeumo", "rank": 5, "goals": 3}, {"id": 434, "name": "Eddie Nketiah", "rank": 6, "goals": 3}, {"id": 2810, "name": "Esteban Lepaul", "rank": 7, "goals": 3}, {"id": 5672, "name": "Felipe Chávez", "rank": 8, "goals": 3}, {"id": 65891, "name": "Kirsten Otchere", "rank": 9, "goals": 3}, {"id": 4831, "name": "Leon Opitz", "rank": 10, "goals": 3}, {"id": 7118, "name": "William Alves", "rank": 11, "goals": 3}, {"id": 8576, "name": "Abdellah Ouazane", "rank": 12, "goals": 2}, {"id": 380, "name": "Brenden Aaronson", "rank": 13, "goals": 2}, {"id": 4280, "name": "Carlos Espí", "rank": 14, "goals": 2}, {"id": 6784, "name": "Cengiz Ünder", "rank": 15, "goals": 2}], "players": [{"id": 7197, "club": null, "load": null, "name": "Luke Plange", "role": "ATT", "side": "home", "tags": [], "team": "Grasshopper Club Zürich", "reason": "Illness", "recent": {"apps": 5, "goals": 1, "assists": 0, "country": 0, "scoredIn": 0}, "season": {"apps": 17, "goals": 4, "starts": 5, "assists": 1, "team_games": 36, "big_chances": 0, "clean_sheets": 5, "tracked_apps": 17, "tracked_starts": 5}, "status": "out", "country": null, "position": "ST", "standout": {"won": false, "goals": 1, "score": "1-2", "assists": 0, "kickoff": 1771702200, "opponent": "FC Zürich"}, "strengths": [], "importance": 0.076, "expected_return": "2026-10-02"}, {"id": 7196, "club": null, "load": {"games": 1, "country": 0, "minutes": 55}, "name": "Óscar Clemente", "role": "ATT", "side": "home", "tags": ["chance_creator"], "team": "Grasshopper Club Zürich", "reason": null, "recent": {"apps": 5, "goals": 0, "assists": 0, "country": 0, "scoredIn": 0}, "season": {"apps": 18, "goals": 0, "starts": 5, "assists": 0, "team_games": 36, "big_chances": 5, "clean_sheets": 3, "tracked_apps": 18, "tracked_starts": 5}, "status": "fit", "country": null, "position": "RW", "standout": null, "strengths": [], "importance": 0.005, "expected_return": null}, {"id": 7204, "club": null, "load": {"games": 1, "country": 0, "minutes": 61}, "name": "Nikolas Muci", "role": "ATT", "side": "home", "tags": [], "team": "Grasshopper Club Zürich", "reason": null, "recent": {"apps": 5, "goals": 0, "assists": 0, "country": 0, "scoredIn": 0}, "season": {"apps": 9, "goals": 1, "starts": 4, "assists": 1, "team_games": 36, "big_chances": 2, "clean_sheets": 1, "tracked_apps": 9, "tracked_starts": 4}, "status": "fit", "country": null, "position": "ST", "standout": {"won": false, "goals": 1, "score": "2-5", "assists": 1, "kickoff": 1788100200, "opponent": "FC Vaduz"}, "strengths": [], "importance": 0.029, "expected_return": null}, {"id": 30072, "club": null, "load": null, "name": "Varol Tasar", "role": "ATT", "side": "away", "tags": [], "team": "Yverdon-Sport FC", "reason": null, "recent": null, "season": null, "status": "fit", "country": null, "position": "RW", "standout": null, "strengths": [], "importance": 0, "expected_return": null}, {"id": 7867, "club": null, "load": null, "name": "Bastien Toma", "role": "ATT", "side": "away", "tags": [], "team": "Yverdon-Sport FC", "reason": null, "recent": null, "season": null, "status": "fit", "country": null, "position": "CM", "standout": null, "strengths": [], "importance": 0, "expected_return": null}], "external": {}, "venue_id": null, "verdicts": [], "card_rate": 0.019, "league_id": 79, "published": [], "standings": {"away": {"won": 2, "lost": 2, "drawn": 1, "group": null, "played": 5, "points": 7, "team_id": 1367, "position": 734, "goal_diff": 1, "goals_for": 7, "team_name": "Yverdon-Sport FC", "goals_against": 6}, "home": {"won": 3, "lost": 3, "drawn": 0, "group": null, "played": 6, "points": 9, "team_id": 249, "position": 549, "goal_diff": 2, "goals_for": 14, "team_name": "Grasshopper Club Zürich", "goals_against": 12}, "size": 2955}, "confidence": 0.32, "live_score": null, "computed_at": 1790872006, "corner_rate": 8.03, "lambda_away": 1.6448910165594681, "lambda_home": 1.7915767641482814, "pass_reason": "No market is priced for this fixture yet.", "provisional": true, "round_label": "Regular season", "lineup_status": "predicted"}