{"id":601309,"league_id":8,"league":"Europa League","kickoff":1792695600,"home":"TSG Hoffenheim","away":"Olympique Lyonnais","home_id":86,"away_id":100,"venue_id":84,"rank":3,"status":"notstarted","provisional":true,"lineup_status":"predicted","confidence":0.429,"score":null,"live_score":null,"lambda":[1.45,1.12],"read":{"text":"TSG Hoffenheim to edge it, with goals","side":"home"},"pass":"Nothing to take on TSG Hoffenheim against Olympique Lyonnais. There is a likely outcome here, but every bookmaker has it shorter than it deserves, so there is nothing to take.","flags":[{"id":"availability.away.absences","section":"§2.4","note":"Olympique Lyonnais are without 5 players, none of them central to how the side plays."},{"id":"form.home","section":"§2.1","note":"TSG Hoffenheim have taken 0.50 points a game from their last 6 (1W 0D 5L), scoring 1.5 and conceding 2.5, and 1.00 a game at home."}],"lambda_home":1.4455314703879378,"lambda_away":1.1171715572509098,"corner_rate":9.32,"card_rate":0.261,"lineups":{"status":"predicted","confidence":0.782,"home":{"formation":"4-2-3-1","players":[{"id":2376,"name":"Oliver Baumann","position":"G","starting":true,"ai_score":0.749},{"id":5259,"name":"Mats Rots","position":"D","starting":true,"ai_score":0.546},{"id":2389,"name":"Ozan Kabak","position":"D","starting":true,"ai_score":0.757},{"id":4922,"name":"Koki Machida","position":"D","starting":true,"ai_score":0.53},{"id":2377,"name":"Vladimír Coufal","position":"D","starting":true,"ai_score":0.818},{"id":2382,"name":"Leon Avdullahu","position":"M","starting":true,"ai_score":0.84},{"id":2383,"name":"Wouter Burger","position":"M","starting":true,"ai_score":0.735},{"id":2386,"name":"Tim Lemperle","position":"F","starting":true,"ai_score":0.593},{"id":41477,"name":"Bambasé Conté","position":"M","starting":true,"ai_score":0.548},{"id":4136,"name":"Adam Daghim","position":"F","starting":true,"ai_score":0.572},{"id":5156,"name":"Adam Hložek","position":"F","starting":true,"ai_score":0.626},{"id":2384,"name":"Fisnik Asllani","position":"F","starting":false,"ai_score":0.436},{"id":2380,"name":"Bernardo","position":"D","starting":false,"ai_score":0.357},{"id":2393,"name":"Valentin Gendrey","position":"D","starting":false,"ai_score":0.314},{"id":2392,"name":"Luca Philipp","position":"G","starting":false,"ai_score":0.312},{"id":2378,"name":"Robin Hranáč","position":"D","starting":false,"ai_score":0.308},{"id":2390,"name":"Alexander Prass","position":"M","starting":false,"ai_score":0.299},{"id":2387,"name":"Andrej Kramarić","position":"F","starting":false,"ai_score":0.298},{"id":73003,"name":"Alex Honajzer","position":"M","starting":false,"ai_score":0.295},{"id":41344,"name":"Cajetan Lenz","position":"M","starting":false,"ai_score":0.292},{"id":2388,"name":"Max Moerstedt","position":"F","starting":false,"ai_score":0.266},{"id":73724,"name":"Natnael Abraha","position":"D","starting":false,"ai_score":0.234},{"id":73007,"name":"Tristan Spranger","position":"D","starting":false,"ai_score":0.225}],"confidence":0.809},"away":{"formation":"4-2-3-1","players":[{"id":1104,"name":"Dominik Greif","position":"G","starting":true,"ai_score":0.69},{"id":1111,"name":"Abner Vinícius","position":"D","starting":true,"ai_score":0.675},{"id":1019,"name":"Felix Bacher","position":"D","starting":true,"ai_score":0.679},{"id":1106,"name":"Moussa Niakhaté","position":"D","starting":true,"ai_score":0.622},{"id":4061,"name":"Zachary Athekame","position":"D","starting":true,"ai_score":0.779},{"id":1109,"name":"Tyler Morton","position":"M","starting":true,"ai_score":0.716},{"id":3040,"name":"Mads Bidstrup","position":"M","starting":true,"ai_score":0.662},{"id":16971,"name":"Keito Nakamura","position":"M","starting":true,"ai_score":0.37},{"id":1113,"name":"Corentin Tolisso","position":"M","starting":true,"ai_score":0.702},{"id":24027,"name":"Ernest Nuamah","position":"M","starting":true,"ai_score":0.672},{"id":8717,"name":"Kaïl Boudache","position":"F","starting":true,"ai_score":0.495},{"id":8909,"name":"Noah Nartey","position":"M","starting":false,"ai_score":0.505},{"id":3982,"name":"Ruben Kluivert","position":"D","starting":false,"ai_score":0.498},{"id":1105,"name":"Tanner Tessmann","position":"M","starting":false,"ai_score":0.44},{"id":3857,"name":"Clinton Mata","position":"D","starting":false,"ai_score":0.435},{"id":1120,"name":"Rémy Descamps","position":"G","starting":false,"ai_score":0.415},{"id":1119,"name":"Khalis Merah","position":"M","starting":false,"ai_score":0.315},{"id":2174,"name":"Julien Duranville","position":"F","starting":false,"ai_score":0.31},{"id":1110,"name":"Mathys de Carvalho","position":"M","starting":false,"ai_score":0.224},{"id":8640,"name":"Rémi Himbert","position":"F","starting":false,"ai_score":0.199},{"id":94080,"name":"Justin Bengui","position":"G","starting":false,"ai_score":0.01},{"id":4678,"name":"Noham Kamara","position":"D","starting":false,"ai_score":0.01},{"id":13548,"name":"Steeve Kango","position":"D","starting":false,"ai_score":0.005}],"confidence":0.782},"unavailable":[{"id":2379,"name":"Albian Hajdari","team_id":null,"side":"home","reason":"Foot Injury"},{"id":7349,"name":"Nathan De Cat","team_id":null,"side":"home","reason":"Meniscus Injury"},{"id":1375,"name":"Patrick Wimmer","team_id":null,"side":"home","reason":"Hamstring Injury"},{"id":2190,"name":"Loïs Openda","team_id":null,"side":"away","reason":"Leg Injury"},{"id":21358,"name":"Mohamed Ouédraogo","team_id":null,"side":"away","reason":"Cruciate Ligament Injury"},{"id":1107,"name":"Nicolás Tagliafico","team_id":null,"side":"away","reason":"Muscle Injury"},{"id":1112,"name":"Pavel Šulc","team_id":null,"side":"away","reason":"Knee Injury"}]},"people":[{"id":2376,"name":"Oliver Baumann","side":"home"},{"id":5259,"name":"Mats Rots","side":"home"},{"id":2389,"name":"Ozan Kabak","side":"home"},{"id":4922,"name":"Koki Machida","side":"home"},{"id":2377,"name":"Vladimír Coufal","side":"home"},{"id":2382,"name":"Leon Avdullahu","side":"home"},{"id":2383,"name":"Wouter Burger","side":"home"},{"id":2386,"name":"Tim Lemperle","side":"home"},{"id":41477,"name":"Bambasé Conté","side":"home"},{"id":4136,"name":"Adam Daghim","side":"home"},{"id":5156,"name":"Adam Hložek","side":"home"},{"id":2384,"name":"Fisnik Asllani","side":"home"},{"id":2380,"name":"Bernardo","side":"home"},{"id":2393,"name":"Valentin Gendrey","side":"home"},{"id":2392,"name":"Luca Philipp","side":"home"},{"id":2378,"name":"Robin Hranáč","side":"home"},{"id":2390,"name":"Alexander Prass","side":"home"},{"id":2387,"name":"Andrej Kramarić","side":"home"},{"id":73003,"name":"Alex Honajzer","side":"home"},{"id":41344,"name":"Cajetan Lenz","side":"home"},{"id":2388,"name":"Max Moerstedt","side":"home"},{"id":73724,"name":"Natnael Abraha","side":"home"},{"id":73007,"name":"Tristan Spranger","side":"home"},{"id":61846,"name":"Sean Dulic","side":"home"},{"id":2379,"name":"Albian Hajdari","side":"home"},{"id":9009,"name":"Valentin Lässig","side":"home"},{"id":64784,"name":"Jykese Fields","side":"home"},{"id":73012,"name":"Nico Biedermann","side":"home"},{"id":37422,"name":"Lukas Petersson","side":"home"},{"id":1375,"name":"Patrick Wimmer","side":"home"},{"id":37421,"name":"Luis Engelns","side":"home"},{"id":7349,"name":"Nathan De Cat","side":"home"},{"id":73005,"name":"Oskar Hencke","side":"home"},{"id":1104,"name":"Dominik Greif","side":"away"},{"id":1111,"name":"Abner Vinícius","side":"away"},{"id":1019,"name":"Felix Bacher","side":"away"},{"id":1106,"name":"Moussa Niakhaté","side":"away"},{"id":4061,"name":"Zachary Athekame","side":"away"},{"id":1109,"name":"Tyler Morton","side":"away"},{"id":3040,"name":"Mads Bidstrup","side":"away"},{"id":16971,"name":"Keito Nakamura","side":"away"},{"id":1113,"name":"Corentin Tolisso","side":"away"},{"id":24027,"name":"Ernest Nuamah","side":"away"},{"id":8717,"name":"Kaïl Boudache","side":"away"},{"id":8909,"name":"Noah Nartey","side":"away"},{"id":3982,"name":"Ruben Kluivert","side":"away"},{"id":1105,"name":"Tanner Tessmann","side":"away"},{"id":3857,"name":"Clinton Mata","side":"away"},{"id":1120,"name":"Rémy Descamps","side":"away"},{"id":1119,"name":"Khalis Merah","side":"away"},{"id":2174,"name":"Julien Duranville","side":"away"},{"id":1110,"name":"Mathys de Carvalho","side":"away"},{"id":8640,"name":"Rémi Himbert","side":"away"},{"id":94080,"name":"Justin Bengui","side":"away"},{"id":4678,"name":"Noham Kamara","side":"away"},{"id":13548,"name":"Steeve Kango","side":"away"},{"id":1107,"name":"Nicolás Tagliafico","side":"away"},{"id":1112,"name":"Pavel Šulc","side":"away"},{"id":2190,"name":"Loïs Openda","side":"away"},{"id":1122,"name":"Alejandro Gomes Rodriguez","side":"away"},{"id":4158,"name":"Yvann Konan","side":"away"},{"id":3191,"name":"Lassine Diarra","side":"away"},{"id":29063,"name":"Paul Akouokou","side":"away"},{"id":21358,"name":"Mohamed Ouédraogo","side":"away"}],"players":[{"id":2379,"name":"Albian Hajdari","side":"home","team":"TSG Hoffenheim","club":null,"role":"DEF","position":"CB","status":"out","reason":"Foot Injury","expected_return":"2026-11-10","season":{"apps":8,"starts":4,"goals":0,"assists":0,"big_chances":0,"clean_sheets":1,"team_games":15,"tracked_apps":8,"tracked_starts":4},"recent":{"apps":5,"goals":0,"assists":0,"scoredIn":0,"country":1},"standout":{"opponent":"Erzgebirge Aue","kickoff":1787405400,"goals":0,"assists":0,"score":"4-0","won":true},"strengths":[],"tags":[],"importance":0.027,"country":{"team":"Kosovo","apps":1,"goals":0,"assists":0,"tournament":null,"lately":null},"load":null},{"id":7349,"name":"Nathan De Cat","side":"home","team":"TSG Hoffenheim","club":null,"role":"MID","position":"CM","status":"out","reason":"Meniscus Injury","expected_return":"2026-11-30","season":{"apps":7,"starts":2,"goals":0,"assists":1,"big_chances":1,"clean_sheets":1,"team_games":15,"tracked_apps":6,"tracked_starts":2},"recent":{"apps":5,"goals":0,"assists":1,"scoredIn":0,"country":0},"standout":{"opponent":"Erzgebirge Aue","kickoff":1787405400,"goals":0,"assists":1,"score":"4-0","won":true},"strengths":[],"tags":[],"importance":0.015,"country":null,"load":{"games":1,"minutes":18,"country":0}},{"id":1375,"name":"Patrick Wimmer","side":"home","team":"TSG Hoffenheim","club":null,"role":"MID","position":"LW","status":"out","reason":"Hamstring Injury","expected_return":"2026-11-20","season":{"apps":8,"starts":4,"goals":2,"assists":1,"big_chances":4,"clean_sheets":1,"team_games":15,"tracked_apps":8,"tracked_starts":4},"recent":{"apps":5,"goals":0,"assists":2,"scoredIn":0,"country":4},"standout":{"opponent":"Erzgebirge Aue","kickoff":1787405400,"goals":2,"assists":1,"score":"4-0","won":true},"strengths":[],"tags":[],"importance":0.058,"country":{"team":"Austria","apps":6,"goals":0,"assists":2,"tournament":{"name":"World Cup 2026","apps":2,"goals":0,"assists":0,"ended":1782147600},"lately":{"apps":1,"goals":0,"assists":0}},"load":null},{"id":5156,"name":"Adam Hložek","side":"home","team":"TSG Hoffenheim","club":null,"role":"ATT","position":"ST","status":"fit","reason":null,"expected_return":null,"season":{"apps":11,"starts":6,"goals":3,"assists":1,"big_chances":1,"clean_sheets":1,"team_games":15,"tracked_apps":9,"tracked_starts":5},"recent":{"apps":5,"goals":0,"assists":2,"scoredIn":0,"country":2},"standout":{"opponent":"VfB Stuttgart","kickoff":1789219800,"goals":2,"assists":0,"score":"2-1","won":true},"strengths":[],"tags":[],"importance":0.066,"country":{"team":"Czechia","apps":7,"goals":0,"assists":2,"tournament":{"name":"World Cup 2026","apps":3,"goals":0,"assists":0,"ended":1782349200},"lately":{"apps":2,"goals":0,"assists":1}},"load":{"games":3,"minutes":164,"country":0}},{"id":2386,"name":"Tim Lemperle","side":"home","team":"TSG Hoffenheim","club":null,"role":"ATT","position":"ST","status":"fit","reason":null,"expected_return":null,"season":{"apps":10,"starts":6,"goals":1,"assists":1,"big_chances":1,"clean_sheets":1,"team_games":15,"tracked_apps":8,"tracked_starts":5},"recent":{"apps":5,"goals":0,"assists":1,"scoredIn":0,"country":0},"standout":{"opponent":"Borussia Dortmund","kickoff":1788615000,"goals":1,"assists":0,"score":"2-3","won":false},"strengths":[],"tags":[],"importance":0.022,"country":null,"load":{"games":3,"minutes":172,"country":0}},{"id":16971,"name":"Keito Nakamura","side":"away","team":"Olympique Lyonnais","club":null,"role":"MID","position":"LW","status":"out","reason":"red_card_suspension","expected_return":"2026-10-25","season":{"apps":6,"starts":2,"goals":1,"assists":2,"big_chances":3,"clean_sheets":0,"team_games":17,"tracked_apps":4,"tracked_starts":1},"recent":{"apps":5,"goals":0,"assists":2,"scoredIn":0,"country":1},"standout":{"opponent":"RSC Anderlecht","kickoff":1789585200,"goals":1,"assists":0,"score":"2-1","won":true},"strengths":[],"tags":[],"importance":0.035,"country":{"team":"Japan","apps":6,"goals":1,"assists":1,"tournament":{"name":"World Cup 2026","apps":4,"goals":1,"assists":1,"ended":1782752400},"lately":null},"load":{"games":3,"minutes":129,"country":0}},{"id":1112,"name":"Pavel Šulc","side":"away","team":"Olympique Lyonnais","club":null,"role":"ATT","position":"AM","status":"out","reason":"Knee Injury","expected_return":"2026-11-05","season":{"apps":10,"starts":5,"goals":2,"assists":3,"big_chances":1,"clean_sheets":2,"team_games":17,"tracked_apps":8,"tracked_starts":4},"recent":{"apps":5,"goals":2,"assists":0,"scoredIn":2,"country":2},"standout":{"opponent":"Nice","kickoff":1792349100,"goals":1,"assists":0,"score":"2-1","won":true},"strengths":[],"tags":[],"importance":0.067,"country":{"team":"Czechia","apps":6,"goals":0,"assists":0,"tournament":{"name":"World Cup 2026","apps":3,"goals":0,"assists":0,"ended":1782349200},"lately":{"apps":1,"goals":0,"assists":0}},"load":{"games":3,"minutes":179,"country":0}},{"id":21358,"name":"Mohamed Ouédraogo","side":"away","team":"Olympique Lyonnais","club":null,"role":"MID","position":"LM","status":"out","reason":"Cruciate Ligament Injury","expected_return":"2027-06-30","season":{"apps":5,"starts":2,"goals":0,"assists":1,"big_chances":0,"clean_sheets":1,"team_games":17,"tracked_apps":5,"tracked_starts":2},"recent":{"apps":5,"goals":0,"assists":1,"scoredIn":0,"country":0},"standout":{"opponent":"RSC Anderlecht","kickoff":1789585200,"goals":0,"assists":1,"score":"2-1","won":true},"strengths":[],"tags":[],"importance":0.024,"country":{"team":"Burkina Faso","apps":1,"goals":0,"assists":0,"tournament":null,"lately":null},"load":null},{"id":2190,"name":"Loïs Openda","side":"away","team":"Olympique Lyonnais","club":null,"role":"ATT","position":"ST","status":"out","reason":"Leg Injury","expected_return":"2026-11-20","season":{"apps":10,"starts":10,"goals":2,"assists":1,"big_chances":2,"clean_sheets":3,"team_games":17,"tracked_apps":10,"tracked_starts":10},"recent":{"apps":5,"goals":0,"assists":0,"scoredIn":0,"country":2},"standout":{"opponent":"Le Havre","kickoff":1788029100,"goals":1,"assists":0,"score":"1-1","won":false},"strengths":[],"tags":[],"importance":0.087,"country":{"team":null,"apps":3,"goals":0,"assists":0,"tournament":null,"lately":{"apps":2,"goals":0,"assists":0}},"load":{"games":1,"minutes":60,"country":0}},{"id":1107,"name":"Nicolás Tagliafico","side":"away","team":"Olympique Lyonnais","club":null,"role":"DEF","position":"LB","status":"out","reason":"Muscle Injury","expected_return":"2026-11-06","season":{"apps":3,"starts":1,"goals":0,"assists":0,"big_chances":0,"clean_sheets":0,"team_games":17,"tracked_apps":3,"tracked_starts":1},"recent":{"apps":5,"goals":0,"assists":0,"scoredIn":0,"country":2},"standout":null,"strengths":[],"tags":[],"importance":0.003,"country":{"team":"Argentina","apps":9,"goals":0,"assists":0,"tournament":{"name":"World Cup 2026","apps":7,"goals":0,"assists":0,"ended":1784487600},"lately":{"apps":1,"goals":0,"assists":0}},"load":null},{"id":8717,"name":"Kaïl Boudache","side":"away","team":"Olympique Lyonnais","club":null,"role":"ATT","position":"RW","status":"fit","reason":null,"expected_return":null,"season":{"apps":12,"starts":4,"goals":0,"assists":0,"big_chances":1,"clean_sheets":2,"team_games":17,"tracked_apps":10,"tracked_starts":3},"recent":{"apps":5,"goals":0,"assists":0,"scoredIn":0,"country":0},"standout":null,"strengths":[],"tags":[],"importance":0.007,"country":null,"load":{"games":3,"minutes":114,"country":0}}],"extras":{"teams":{"home":86,"away":100},"split":{"home":{"above":{"w":0,"d":0,"l":2},"below":null},"away":{"above":null,"below":{"w":2,"d":0,"l":0}}},"referee":null,"managers":{"home":{"id":243,"name":"Christian Ilzer","vs":null},"away":{"id":380,"name":"Paulo Fonseca","vs":null}},"best_xi":[],"players":{"1107":{"caps":104,"goals":1,"country":"Argentina","signed":null},"1112":{"caps":30,"goals":5,"country":"Czechia","signed":{"from":"FC Viktoria Plzeň","fee":7500000,"at":1754265600}},"1375":{"caps":35,"goals":1,"country":"Austria","signed":{"from":"VfL Wolfsburg","fee":10000000,"at":1782864000}},"2379":{"caps":8,"goals":0,"country":"Kosovo","signed":{"from":"FC Lugano","fee":5000000,"at":1756080000}},"5156":{"caps":45,"goals":3,"country":"Czechia","signed":null},"7349":{"caps":null,"goals":null,"country":null,"signed":{"from":"RSC Anderlecht","fee":18500000,"at":1783641600}},"16971":{"caps":42,"goals":11,"country":"Japan","signed":{"from":"Stade de Reims","fee":1000000,"at":1788307200}},"21358":{"caps":7,"goals":0,"country":"Burkina Faso","signed":{"from":"SCR Altach","fee":2200000,"at":1783036800}}}},"notable":[{"id":2061,"name":"Vangelis Pavlidis","goals":7,"rank":1},{"id":2877,"name":"Haris Tabaković","goals":6,"rank":2},{"id":3431,"name":"Kristoffer Zachariassen","goals":6,"rank":3},{"id":6621,"name":"Danylo Sikan","goals":5,"rank":4},{"id":3439,"name":"Lenny Joseph","goals":4,"rank":5},{"id":76108,"name":"Loïs Diony","goals":4,"rank":6},{"id":7354,"name":"Mihajlo Cvetković","goals":4,"rank":7},{"id":14009,"name":"Patrik Wålemark","goals":4,"rank":8},{"id":5847,"name":"Rafa Silva","goals":4,"rank":9},{"id":39443,"name":"Alphadjo Cisse","goals":3,"rank":10},{"id":4082,"name":"Amir Murillo","goals":3,"rank":11},{"id":2062,"name":"Gianluca Prestianni","goals":3,"rank":12},{"id":4147,"name":"Giannis Konstantelias","goals":3,"rank":13},{"id":3131,"name":"Hyeon-gyu Oh","goals":3,"rank":14},{"id":10786,"name":"Ioannis Pittas","goals":3,"rank":15}],"round_label":"League phase · Matchday 3","neutral":false,"h2h":{"total_matches":3,"home_wins":0,"draws":3,"away_wins":0,"home_goals":7,"away_goals":7,"avg_total_goals":4.666666666666667,"home_win_rate":0,"away_win_rate":0,"recent_matches":[{"away":"Olympique Lyonnais","date":"2024-11-07T20:00:00+00:00","home":"TSG Hoffenheim","score":"2-2","event_id":232926,"away_score":2,"home_score":2,"away_team_id":100,"home_team_id":86},{"away":"TSG Hoffenheim","date":"2018-11-07T20:00:00+00:00","home":"Olympique Lyonnais","score":"2-2","event_id":331411,"away_score":2,"home_score":2,"away_team_id":86,"home_team_id":100},{"away":"Olympique Lyonnais","date":"2018-10-23T19:00:00+00:00","home":"TSG Hoffenheim","score":"3-3","event_id":331386,"away_score":3,"home_score":3,"away_team_id":100,"home_team_id":86}]},"standings":{"home":{"team_id":86,"position":30,"played":2,"points":0,"goal_diff":-3,"team_name":"TSG Hoffenheim","won":0,"drawn":0,"lost":2,"goals_for":2,"goals_against":5,"group":null},"away":{"team_id":100,"position":8,"played":2,"points":6,"goal_diff":2,"team_name":"Olympique Lyonnais","won":2,"drawn":0,"lost":0,"goals_for":5,"goals_against":3,"group":null},"size":36},"form":{"home":{"matches":6,"ppg":0.5,"record":"1-0-5","goals_for":1.5,"goals_against":2.5,"clean_sheets":0,"streak":"lost 3","sequence":"LLWLLL","venue_ppg":1},"away":{"matches":6,"ppg":1.83,"record":"3-2-1","goals_for":1.83,"goals_against":0.83,"clean_sheets":2,"streak":"none","sequence":"DWDWWL","venue_ppg":1.33}},"ledger":[{"id":"availability.home.absences","section":"§2.4","tier":1,"state":"COMPUTED","note":"TSG Hoffenheim are without 3 players, none of them central to how the side plays.","evidence":{"count":3,"measured":3,"combined_goal_share":0,"combined_importance":0.1,"players":[{"player":"Patrick Wimmer","role":"MID","reason":"Hamstring Injury","goal_share":0,"importance":0.058,"measured":true,"doubtful":false,"cover_at_position":8},{"player":"Albian Hajdari","role":"DEF","reason":"Foot Injury","goal_share":0,"importance":0.027,"measured":true,"doubtful":false,"cover_at_position":11},{"player":"Nathan De Cat","role":"MID","reason":"Meniscus Injury","goal_share":0,"importance":0.015,"measured":true,"doubtful":false,"cover_at_position":8}]},"strength":0.25,"moves":[{"channel":"goals","side":"home","pct":-0.4},{"channel":"goals","side":"away","pct":0.3},{"channel":"corners","side":"home","pct":-0.2},{"channel":"cards","side":"both","pct":0.3}]},{"id":"availability.away.absences","section":"§2.4","tier":1,"state":"COMPUTED","note":"Olympique Lyonnais are without 5 players, none of them central to how the side plays.","evidence":{"count":5,"measured":5,"combined_goal_share":0.4,"combined_importance":0.216,"players":[{"player":"Loïs Openda","role":"ATT","reason":"Leg Injury","goal_share":0,"importance":0.087,"measured":true,"doubtful":false,"cover_at_position":4},{"player":"Pavel Šulc","role":"ATT","reason":"Knee Injury","goal_share":0.2,"importance":0.067,"measured":true,"doubtful":false,"cover_at_position":4},{"player":"Keito Nakamura","role":"MID","reason":"red_card_suspension","goal_share":0.2,"importance":0.035,"measured":true,"doubtful":false,"cover_at_position":9},{"player":"Mohamed Ouédraogo","role":"MID","reason":"Cruciate Ligament Injury","goal_share":0,"importance":0.024,"measured":true,"doubtful":false,"cover_at_position":9},{"player":"Nicolás Tagliafico","role":"DEF","reason":"Muscle Injury","goal_share":0,"importance":0.003,"measured":true,"doubtful":false,"cover_at_position":8}]},"strength":0.54,"moves":[{"channel":"goals","side":"away","pct":-1.8},{"channel":"goals","side":"home","pct":0.1},{"channel":"corners","side":"away","pct":-0.9},{"channel":"cards","side":"both","pct":0.2}]},{"id":"availability.rotation_risk","section":"§3.1","tier":1,"state":"COMPUTED","note":"Nobody has named a side yet, so this eleven is a projection.","evidence":{"lineup_status":"predicted","confidence":0.782,"cup_tie":false},"strength":0.218,"moves":[]},{"id":"stakes.table","section":"§5.1","tier":2,"state":"UNAVAILABLE","note":"A cup or a group stage, so there is no league table to read what either side is playing for.","evidence":{},"strength":0,"moves":[]},{"id":"fixture.derby","section":"§5.2","tier":2,"state":"COMPUTED","note":"Not a local derby.","evidence":{"derby":false},"strength":0,"moves":[]},{"id":"fixture.revenge","section":"§5.3","tier":2,"state":"THIN","note":"No reverse fixture on record this season, so there is no revenge angle to read.","evidence":{},"strength":0,"moves":[]},{"id":"manager.home.established","section":"§1.1","tier":3,"state":"COMPUTED","note":"Christian Ilzer has 24 matches in charge at TSG Hoffenheim, long enough that the side plays the way he wants it to.","evidence":{"manager":"Christian Ilzer","matches_in_charge":24,"tenure_days":202,"ppm":1.5,"appointment_effect":{"before_ppm":1.4,"after_ppm":2,"delta":null}},"strength":0.1,"moves":[]},{"id":"manager.away.established","section":"§1.1","tier":3,"state":"COMPUTED","note":"Paulo Fonseca has 26 matches in charge at Olympique Lyonnais, long enough that the side plays the way he wants it to.","evidence":{"manager":"Paulo Fonseca","matches_in_charge":26,"tenure_days":201,"ppm":1.88,"appointment_effect":{"before_ppm":1,"after_ppm":2.2,"delta":null}},"strength":0.1,"moves":[]},{"id":"fatigue.home","section":"§2.8","tier":4,"state":"COMPUTED","note":"TSG Hoffenheim come in on 4 days' rest, with nothing unusual in the schedule behind them.","evidence":{"daysRest":4.145833333333333,"matchesIn7":2,"matchesIn14":3,"days_rest":4.1},"strength":0.1,"moves":[]},{"id":"fatigue.away","section":"§2.8","tier":4,"state":"COMPUTED","note":"Olympique Lyonnais come in on 4 days' rest, with nothing unusual in the schedule behind them.","evidence":{"daysRest":4.010416666666667,"matchesIn7":1,"matchesIn14":3,"days_rest":4},"strength":0.1,"moves":[]},{"id":"style.opponent_adjustment","section":"§4.1","tier":5,"state":"THIN","note":"Team strength is estimated against the actual quality of opponents faced, so a soft run of fixtures does not read as form. — though 0.9321895325621303 games is too few to read much into, so it is left out of the call.","evidence":{"home":{"attack":-0.017,"defence":0.009,"effective_matches":0.9,"shrunk":0.9},"away":{"attack":0.075,"defence":0.07,"effective_matches":2.5,"shrunk":0.76},"sample":0.9321895325621303,"required":6},"strength":0,"moves":[]},{"id":"style.matchup","section":"§4.2","tier":5,"state":"COMPUTED","note":"Neither side holds a clear possession edge on recent evidence.","evidence":{"home":{"matches":12,"possession":56,"shots":18.1,"xg_per_shot":0.089,"corners":6.9,"corners_per_shot":0.381,"finishing_vs_xg":0.22},"away":{"matches":12,"possession":51.4,"shots":13.8,"xg_per_shot":0.113,"corners":4.6,"corners_per_shot":0.332,"finishing_vs_xg":0.02},"possession_gap":4.6},"strength":0.183,"moves":[]},{"id":"style.press_matchup","section":"§4.2","tier":5,"state":"UNAVAILABLE","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.","evidence":{"requires":["ppda","defensive_line_height"]},"strength":0,"moves":[]},{"id":"style.finishing.home","section":"§2.1","tier":5,"state":"COMPUTED","note":"TSG Hoffenheim are scoring about what their chances are worth.","evidence":{"goals_minus_xg_per_match":0.22,"matches":12},"strength":0.1,"moves":[]},{"id":"style.finishing.away","section":"§2.1","tier":5,"state":"COMPUTED","note":"Olympique Lyonnais are scoring about what their chances are worth.","evidence":{"goals_minus_xg_per_match":0.02,"matches":12},"strength":0.1,"moves":[]},{"id":"referee.tendency","section":"§13","tier":5,"state":"COMPUTED","note":"178 yellow cards in this referee's last 37 games, where 146 would be usual in this league, and 9 reds.","evidence":{"matches":37,"yellows_per_match":4.81,"reds_per_match":0.243,"league_yellows_per_match":3.94,"league_reds_per_match":0.201,"yellow_ratio":1.22,"red_ratio":1.21},"strength":0.2,"moves":[{"channel":"cards","side":"both","pct":5}]},{"id":"fatigue.travel","section":"§6.4","tier":6,"state":"COMPUTED","note":"Routine trip of 486 km for Olympique Lyonnais.","evidence":{"travel_km":486},"strength":0,"moves":[]},{"id":"environment.weather","section":"§6.2","tier":6,"state":"COMPUTED","note":"Nothing in the forecast worth mentioning.","evidence":{"rain_mm":null,"wind_kph":23.5,"temperature_c":10,"description":"rain"},"strength":0,"moves":[]},{"id":"environment.pitch","section":"§6.3","tier":6,"state":"UNAVAILABLE","note":"No pitch condition reported for this fixture.","evidence":{},"strength":0,"moves":[]},{"id":"environment.venue","section":"§6.1","tier":6,"state":"UNAVAILABLE","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.","evidence":{"home_adv":0.3987980723381244},"strength":0,"moves":[]}],"pass_reason":"call rule: value","preview":"Hoffenheim look set for another difficult evening despite their strong home record. While they usually control possession, they fail to create meaningful chances and have been ruthlessly punished by opponents for every minor error, conceding far more than their underlying defensive work suggests. Hoffenheim have lost five of their last six, and their lack of creativity is exacerbated by the absence of their key midfield engine. Lyon enter this match missing a significant portion of their attacking threat, which leaves them blunt in front of goal. Lyon also travel poorly despite winning half of their recent games. Possession will belong to the hosts, but their lack of cutting edge will be the deciding factor.","external":{"bsd_prediction":{"id":5455,"created_at":"2026-10-16T02:15:21Z","event":{"id":601309,"event_date":"2026-10-22T19:00:00Z","status":"notstarted","home_team_id":86,"home_team":"TSG Hoffenheim","away_team_id":100,"away_team":"Olympique Lyonnais","league_id":8,"league_name":"Europa League"},"recommendations":{"favorite":"H","favorite_prob":46.4,"bet_favorite":false,"over_15":false,"over_25":false,"over_35":false,"btts":false,"winner":false},"model":{"confidence":0.4643,"version":"dc-blend-v1"}},"polymarket":{"event_id":601309,"event_date":"2026-10-22T19:00:00Z","home_team":"TSG Hoffenheim","away_team":"Olympique Lyonnais","polymarket_event_id":"1160556","liquidity":{"volume_24hr":4098.558885,"volume_1wk":4266.933885,"volume_1mo":4266.933885,"volume_1yr":4266.933885,"open_interest":6045.2215590000005,"liquidity_clob":121054.6084,"liquidity_amm":null},"pricing":{"best_bid":0.49,"best_ask":0.5,"change_1d":0.02,"change_1wk":0.125,"change_1mo":null},"goalscorers":null,"exact_scores":{"Any Other Score":0.16,"TSG 1899 Hoffenheim 0 - 0 Olympique Lyonnais":0.037,"TSG 1899 Hoffenheim 0 - 1 Olympique Lyonnais":0.0485,"TSG 1899 Hoffenheim 0 - 2 Olympique Lyonnais":0.0345,"TSG 1899 Hoffenheim 0 - 3 Olympique Lyonnais":0.0175,"TSG 1899 Hoffenheim 0 - 4 Olympique Lyonnais":0.008,"TSG 1899 Hoffenheim 0 - 5 Olympique Lyonnais":0.0145,"TSG 1899 Hoffenheim 1 - 0 Olympique Lyonnais":0.065,"TSG 1899 Hoffenheim 1 - 1 Olympique Lyonnais":0.095,"TSG 1899 Hoffenheim 1 - 2 Olympique Lyonnais":0.065,"TSG 1899 Hoffenheim 1 - 3 Olympique Lyonnais":0.0325,"TSG 1899 Hoffenheim 1 - 4 Olympique Lyonnais":0.013,"TSG 1899 Hoffenheim 1 - 5 Olympique Lyonnais":0.007,"TSG 1899 Hoffenheim 2 - 0 Olympique Lyonnais":0.065,"TSG 1899 Hoffenheim 2 - 1 Olympique Lyonnais":0.095,"TSG 1899 Hoffenheim 2 - 2 Olympique Lyonnais":0.07,"TSG 1899 Hoffenheim 2 - 3 Olympique Lyonnais":0.032,"TSG 1899 Hoffenheim 2 - 4 Olympique Lyonnais":0.013,"TSG 1899 Hoffenheim 2 - 5 Olympique Lyonnais":0.009,"TSG 1899 Hoffenheim 3 - 0 Olympique Lyonnais":0.043,"TSG 1899 Hoffenheim 3 - 1 Olympique Lyonnais":0.058,"TSG 1899 Hoffenheim 3 - 2 Olympique Lyonnais":0.0425,"TSG 1899 Hoffenheim 3 - 3 Olympique Lyonnais":0.0205,"TSG 1899 Hoffenheim 3 - 4 Olympique Lyonnais":0.0095,"TSG 1899 Hoffenheim 3 - 5 Olympique Lyonnais":0.35,"TSG 1899 Hoffenheim 4 - 0 Olympique Lyonnais":0.0195,"TSG 1899 Hoffenheim 4 - 1 Olympique Lyonnais":0.0275,"TSG 1899 Hoffenheim 4 - 2 Olympique Lyonnais":0.0185,"TSG 1899 Hoffenheim 4 - 3 Olympique Lyonnais":0.0115,"TSG 1899 Hoffenheim 4 - 4 Olympique Lyonnais":0.0185,"TSG 1899 Hoffenheim 4 - 5 Olympique Lyonnais":0.32,"TSG 1899 Hoffenheim 5 - 0 Olympique Lyonnais":0.011,"TSG 1899 Hoffenheim 5 - 1 Olympique Lyonnais":0.0125,"TSG 1899 Hoffenheim 5 - 2 Olympique Lyonnais":0.0105,"TSG 1899 Hoffenheim 5 - 3 Olympique Lyonnais":0.026,"TSG 1899 Hoffenheim 5 - 4 Olympique Lyonnais":0.225,"TSG 1899 Hoffenheim 5 - 5 Olympique Lyonnais":0.0395},"updated_at":"2026-10-22T04:27:20Z"}},"computed_at":1792658022,"verdicts":[],"locked":false,"colors":{"home":"#0c5797","away":"#1112ab"},"venue":{"name":"PreZero Arena","city":"Sinsheim","capacity":30150},"pulled":[],"published":[]}