{"id":210508,"league_id":6,"league":"Ligue 1","kickoff":1792944900,"home":"Toulouse","away":"Troyes","home_id":104,"away_id":1303,"venue_id":102,"rank":2,"status":"notstarted","provisional":true,"lineup_status":"predicted","confidence":0.553,"score":null,"live_score":null,"lambda":[1.94,1.09],"read":{"text":"Toulouse to win","side":"home"},"pass":"No call on Toulouse against Troyes. There is a likely outcome here, but every bookmaker has it shorter than it deserves, so there is nothing to take.","flags":[{"id":"form.away","section":"§2.1","note":"Troyes have taken 0.17 points a game from their last 6 (0W 1D 5L), scoring 0.8 and conceding 2.8, and 0.33 a game on the road."}],"lambda_home":1.937605059619967,"lambda_away":1.08930757950132,"corner_rate":9.2,"card_rate":0.193,"lineups":{"status":"predicted","confidence":0.609,"home":{"formation":"4-2-3-1","players":[{"id":1942,"name":"Guillaume Restes","position":"G","starting":true,"ai_score":0.656},{"id":66129,"name":"Christ Tapé","position":"D","starting":true,"ai_score":0.692},{"id":1943,"name":"Mark McKenzie","position":"D","starting":true,"ai_score":0.712},{"id":1945,"name":"Rasmus Nicolaisen","position":"D","starting":true,"ai_score":0.518},{"id":16947,"name":"Niko Sigur","position":"D","starting":true,"ai_score":0.367},{"id":1948,"name":"Cristian Cásseres Jr.","position":"M","starting":true,"ai_score":0.751},{"id":29761,"name":"Thomas Jørgensen","position":"M","starting":true,"ai_score":0.692},{"id":15969,"name":"Sion Oppong","position":"M","starting":true,"ai_score":0.276},{"id":1947,"name":"Alexis Vossah","position":"M","starting":true,"ai_score":0.419},{"id":1957,"name":"Santiago Hidalgo","position":"F","starting":true,"ai_score":0.273},{"id":9013,"name":"Jacen Russell Rowe","position":"F","starting":true,"ai_score":0.551},{"id":1953,"name":"Rafik Messali","position":"M","starting":false,"ai_score":0.519},{"id":13677,"name":"Ilyas Azizi","position":"F","starting":false,"ai_score":0.485},{"id":3382,"name":"Casper Tengstedt","position":"F","starting":false,"ai_score":0.457},{"id":1960,"name":"Seny Koumbassa","position":"D","starting":false,"ai_score":0.414},{"id":5136,"name":"Niklas Schmidt","position":"M","starting":false,"ai_score":0.343},{"id":1955,"name":"Julian Vignolo","position":"F","starting":false,"ai_score":0.315},{"id":1950,"name":"Aron Dønnum","position":"M","starting":false,"ai_score":0.309},{"id":27326,"name":"Ismail Diallo","position":"D","starting":false,"ai_score":0.268},{"id":38089,"name":"Mathys Niflore","position":"G","starting":false,"ai_score":0.258},{"id":2002,"name":"David Odogu","position":"D","starting":false,"ai_score":0.03},{"id":3898,"name":"Mathis Amougou","position":"M","starting":false,"ai_score":0.025},{"id":93621,"name":"Théo Collin","position":"G","starting":false,"ai_score":0.02}],"confidence":0.609},"away":{"formation":"4-2-3-1","players":[{"id":58824,"name":"Patrick Beach","position":"G","starting":true,"ai_score":0.666},{"id":9210,"name":"Hugo Picard","position":"M","starting":true,"ai_score":0.4},{"id":29660,"name":"Adrien Monfray","position":"D","starting":true,"ai_score":0.724},{"id":1724,"name":"Michel Diaz","position":"D","starting":true,"ai_score":0.692},{"id":29662,"name":"Lucas Maronnier","position":"D","starting":true,"ai_score":0.503},{"id":29650,"name":"Mouhamed Diop","position":"M","starting":true,"ai_score":0.67},{"id":29652,"name":"Antoine Mille","position":"M","starting":true,"ai_score":0.642},{"id":28705,"name":"Jérémy Le Douaron","position":"F","starting":true,"ai_score":0.393},{"id":29651,"name":"Merwan Ifnaoui","position":"M","starting":true,"ai_score":0.415},{"id":29644,"name":"Kandet Diawara","position":"M","starting":true,"ai_score":0.428},{"id":29646,"name":"Renaud Ripart","position":"F","starting":true,"ai_score":0.476},{"id":1476,"name":"Karim Dermane","position":"F","starting":false,"ai_score":0.57},{"id":79518,"name":"Iron Gomis","position":"M","starting":false,"ai_score":0.48},{"id":7632,"name":"Timothé Nkada","position":"F","starting":false,"ai_score":0.344},{"id":29659,"name":"Paolo Gozzi","position":"D","starting":false,"ai_score":0.324},{"id":37685,"name":"Noah Donkor","position":"D","starting":false,"ai_score":0.241},{"id":29653,"name":"Alexandre Phliponeau","position":"M","starting":false,"ai_score":0.231},{"id":38345,"name":"Christ Batola","position":"F","starting":false,"ai_score":0.197},{"id":79519,"name":"Yacouba Kone","position":"F","starting":false,"ai_score":0.159},{"id":29664,"name":"Hillel Konaté","position":"G","starting":false,"ai_score":0.04},{"id":79521,"name":"Idrissa Soukouna","position":"M","starting":false,"ai_score":0.03},{"id":212324,"name":"Lassana Simakha","position":"D","starting":false,"ai_score":0.025},{"id":79520,"name":"Enisio Carneiro","position":"D","starting":false,"ai_score":0.02}],"confidence":0.655},"unavailable":[{"id":29658,"name":"Anis Ouzenadji","team_id":null,"side":"away","reason":"Sprained Ankle"},{"id":29656,"name":"Yvann Titi","team_id":null,"side":"away","reason":"Muscle Injury"}]},"people":[{"id":1942,"name":"Guillaume Restes","side":"home"},{"id":66129,"name":"Christ Tapé","side":"home"},{"id":1943,"name":"Mark McKenzie","side":"home"},{"id":1945,"name":"Rasmus Nicolaisen","side":"home"},{"id":16947,"name":"Niko Sigur","side":"home"},{"id":1948,"name":"Cristian Cásseres Jr.","side":"home"},{"id":29761,"name":"Thomas Jørgensen","side":"home"},{"id":15969,"name":"Sion Oppong","side":"home"},{"id":1947,"name":"Alexis Vossah","side":"home"},{"id":1957,"name":"Santiago Hidalgo","side":"home"},{"id":9013,"name":"Jacen Russell Rowe","side":"home"},{"id":1953,"name":"Rafik Messali","side":"home"},{"id":13677,"name":"Ilyas Azizi","side":"home"},{"id":3382,"name":"Casper Tengstedt","side":"home"},{"id":1960,"name":"Seny Koumbassa","side":"home"},{"id":5136,"name":"Niklas Schmidt","side":"home"},{"id":1955,"name":"Julian Vignolo","side":"home"},{"id":1950,"name":"Aron Dønnum","side":"home"},{"id":27326,"name":"Ismail Diallo","side":"home"},{"id":38089,"name":"Mathys Niflore","side":"home"},{"id":2002,"name":"David Odogu","side":"home"},{"id":3898,"name":"Mathis Amougou","side":"home"},{"id":93621,"name":"Théo Collin","side":"home"},{"id":4035,"name":"Abu Francis","side":"home"},{"id":89778,"name":"Aymen Amaaouch","side":"home"},{"id":58824,"name":"Patrick Beach","side":"away"},{"id":9210,"name":"Hugo Picard","side":"away"},{"id":29660,"name":"Adrien Monfray","side":"away"},{"id":1724,"name":"Michel Diaz","side":"away"},{"id":29662,"name":"Lucas Maronnier","side":"away"},{"id":29650,"name":"Mouhamed Diop","side":"away"},{"id":29652,"name":"Antoine Mille","side":"away"},{"id":28705,"name":"Jérémy Le Douaron","side":"away"},{"id":29651,"name":"Merwan Ifnaoui","side":"away"},{"id":29644,"name":"Kandet Diawara","side":"away"},{"id":29646,"name":"Renaud Ripart","side":"away"},{"id":1476,"name":"Karim Dermane","side":"away"},{"id":79518,"name":"Iron Gomis","side":"away"},{"id":7632,"name":"Timothé Nkada","side":"away"},{"id":29659,"name":"Paolo Gozzi","side":"away"},{"id":37685,"name":"Noah Donkor","side":"away"},{"id":29653,"name":"Alexandre Phliponeau","side":"away"},{"id":38345,"name":"Christ Batola","side":"away"},{"id":79519,"name":"Yacouba Kone","side":"away"},{"id":29664,"name":"Hillel Konaté","side":"away"},{"id":79521,"name":"Idrissa Soukouna","side":"away"},{"id":212324,"name":"Lassana Simakha","side":"away"},{"id":79520,"name":"Enisio Carneiro","side":"away"},{"id":29658,"name":"Anis Ouzenadji","side":"away"},{"id":15629,"name":"Ismaël Boura","side":"away"},{"id":29656,"name":"Yvann Titi","side":"away"},{"id":29647,"name":"Ibrahim Traore","side":"away"},{"id":91385,"name":"Amadou Diakité","side":"away"},{"id":29665,"name":"Zacharie Boucher","side":"away"},{"id":29655,"name":"Roman Murcy","side":"away"}],"players":[{"id":3382,"name":"Casper Tengstedt","side":"home","team":"Toulouse","club":null,"role":"ATT","position":"ST","status":"fit","reason":null,"expected_return":null,"season":{"apps":5,"starts":3,"goals":5,"assists":1,"big_chances":1,"clean_sheets":1,"team_games":12,"tracked_apps":5,"tracked_starts":3},"recent":{"apps":5,"goals":5,"assists":1,"scoredIn":4,"country":0},"standout":{"opponent":"Le Havre","kickoff":1789843500,"goals":2,"assists":0,"score":"3-2","won":true},"strengths":[],"tags":["top_scorer","in_form"],"importance":0.405,"country":{"team":null,"apps":3,"goals":0,"assists":1,"tournament":null,"lately":null},"load":{"games":1,"minutes":90,"country":0}},{"id":9013,"name":"Jacen Russell Rowe","side":"home","team":"Toulouse","club":null,"role":"ATT","position":"ST","status":"fit","reason":null,"expected_return":null,"season":{"apps":7,"starts":5,"goals":2,"assists":0,"big_chances":0,"clean_sheets":2,"team_games":12,"tracked_apps":7,"tracked_starts":5},"recent":{"apps":5,"goals":1,"assists":0,"scoredIn":1,"country":3},"standout":{"opponent":"Le Mans","kickoff":1792176300,"goals":1,"assists":0,"score":"3-0","won":true},"strengths":[],"tags":[],"importance":0.111,"country":{"team":"Canada","apps":3,"goals":0,"assists":0,"tournament":null,"lately":{"apps":1,"goals":0,"assists":0}},"load":{"games":1,"minutes":76,"country":0}},{"id":1957,"name":"Santiago Hidalgo","side":"home","team":"Toulouse","club":null,"role":"ATT","position":"RW","status":"fit","reason":null,"expected_return":null,"season":{"apps":6,"starts":1,"goals":0,"assists":0,"big_chances":0,"clean_sheets":0,"team_games":12,"tracked_apps":6,"tracked_starts":1},"recent":{"apps":5,"goals":0,"assists":0,"scoredIn":0,"country":0},"standout":null,"strengths":[],"tags":[],"importance":0.002,"country":null,"load":null},{"id":29658,"name":"Anis Ouzenadji","side":"away","team":"Troyes","club":null,"role":"DEF","position":"LB","status":"out","reason":"Sprained Ankle","expected_return":"2026-11-10","season":{"apps":5,"starts":5,"goals":0,"assists":1,"big_chances":1,"clean_sheets":1,"team_games":14,"tracked_apps":5,"tracked_starts":5},"recent":{"apps":5,"goals":0,"assists":1,"scoredIn":0,"country":0},"standout":{"opponent":"RC Strasbourg","kickoff":1788699600,"goals":0,"assists":1,"score":"2-6","won":false},"strengths":[],"tags":[],"importance":0.047,"country":null,"load":null},{"id":29656,"name":"Yvann Titi","side":"away","team":"Troyes","club":null,"role":"DEF","position":"RB","status":"out","reason":"Muscle Injury","expected_return":"2026-10-31","season":{"apps":1,"starts":0,"goals":0,"assists":0,"big_chances":0,"clean_sheets":0,"team_games":14,"tracked_apps":1,"tracked_starts":0},"recent":{"apps":1,"goals":0,"assists":0,"scoredIn":0,"country":0},"standout":null,"strengths":[],"tags":[],"importance":0,"country":null,"load":null},{"id":29646,"name":"Renaud Ripart","side":"away","team":"Troyes","club":null,"role":"ATT","position":"ST","status":"fit","reason":null,"expected_return":null,"season":{"apps":7,"starts":4,"goals":1,"assists":0,"big_chances":0,"clean_sheets":1,"team_games":14,"tracked_apps":7,"tracked_starts":4},"recent":{"apps":5,"goals":0,"assists":0,"scoredIn":0,"country":0},"standout":{"opponent":"Lorient","kickoff":1788029100,"goals":1,"assists":0,"score":"2-1","won":true},"strengths":[],"tags":[],"importance":0.045,"country":null,"load":{"games":2,"minutes":119,"country":0}},{"id":28705,"name":"Jérémy Le Douaron","side":"away","team":"Troyes","club":null,"role":"ATT","position":"LW","status":"fit","reason":null,"expected_return":null,"season":{"apps":5,"starts":3,"goals":1,"assists":0,"big_chances":0,"clean_sheets":0,"team_games":14,"tracked_apps":5,"tracked_starts":3},"recent":{"apps":5,"goals":1,"assists":0,"scoredIn":0,"country":0},"standout":{"opponent":"RC Strasbourg","kickoff":1788699600,"goals":1,"assists":0,"score":"2-6","won":false},"strengths":[],"tags":[],"importance":0.047,"country":null,"load":{"games":2,"minutes":88,"country":0}}],"extras":{"teams":{"home":104,"away":1303},"split":{"home":{"above":{"w":0,"d":3,"l":2},"below":{"w":2,"d":0,"l":0}},"away":{"above":{"w":1,"d":1,"l":5},"below":null}},"referee":null,"managers":{"home":{"id":259,"name":"Jens Askou","vs":null},"away":{"id":1046,"name":"Stephane Dumont","vs":null}},"best_xi":[{"id":1948,"name":"Cristian Cásseres Jr.","team_id":104,"position":"M","matches":7,"goals":0,"assists":5}],"players":{"1948":{"caps":54,"goals":0,"country":"Venezuela","signed":null},"1957":{"caps":null,"goals":null,"country":null,"signed":{"from":"CA Independiente","fee":2500000,"at":1753920000}},"3382":{"caps":null,"goals":null,"country":null,"signed":{"from":"Feyenoord","fee":4000000,"at":1788134400}},"9013":{"caps":21,"goals":1,"country":"Canada","signed":{"from":"Columbus Crew","fee":2100000,"at":1769990400}}}},"notable":[{"id":2810,"name":"Esteban Lepaul","goals":7,"rank":1},{"id":2099,"name":"Lassine Sinayoko","goals":6,"rank":2},{"id":4540,"name":"Amine Gouiri","goals":5,"rank":3},{"id":3382,"name":"Casper Tengstedt","goals":5,"rank":4},{"id":6412,"name":"Cameron Archer","goals":4,"rank":5},{"id":749,"name":"Ferran Torres","goals":4,"rank":6},{"id":1729,"name":"Kamory Doumbia","goals":4,"rank":7},{"id":27966,"name":"Louis Mafouta","goals":4,"rank":8},{"id":4513,"name":"Paris Brunner","goals":4,"rank":9},{"id":37724,"name":"Adil Bourabaa","goals":3,"rank":10},{"id":2101,"name":"Danny Namaso","goals":3,"rank":11},{"id":3527,"name":"Elye Wahi","goals":3,"rank":12},{"id":24027,"name":"Ernest Nuamah","goals":3,"rank":13},{"id":1414,"name":"Florian Thauvin","goals":3,"rank":14},{"id":1731,"name":"Ludovic Ajorque","goals":3,"rank":15}],"round_label":"Regular season · Matchday 8","neutral":false,"h2h":{"total_matches":16,"home_wins":9,"draws":6,"away_wins":1,"home_goals":26,"away_goals":12,"avg_total_goals":2.375,"home_win_rate":0.5625,"away_win_rate":0.0625,"recent_matches":[{"away":"Troyes","date":"2023-02-01T18:00:00+00:00","home":"Toulouse","score":"4-1","event_id":316726,"away_score":1,"home_score":4,"away_team_id":1303,"home_team_id":104},{"away":"Toulouse","date":"2022-08-14T13:00:00+00:00","home":"Troyes","score":"0-3","event_id":316538,"away_score":3,"home_score":0,"away_team_id":104,"home_team_id":1303},{"away":"Toulouse","date":"2021-02-06T14:00:00+00:00","home":"Troyes","score":"1-1","event_id":582847,"away_score":1,"home_score":1,"away_team_id":104,"home_team_id":1303},{"away":"Troyes","date":"2020-10-03T13:00:00+00:00","home":"Toulouse","score":"0-0","event_id":582653,"away_score":0,"home_score":0,"away_team_id":1303,"home_team_id":104},{"away":"Troyes","date":"2018-01-27T19:00:00+00:00","home":"Toulouse","score":"1-0","event_id":349926,"away_score":0,"home_score":1,"away_team_id":1303,"home_team_id":104},{"away":"Toulouse","date":"2017-09-09T18:00:00+00:00","home":"Troyes","score":"0-0","event_id":349745,"away_score":0,"home_score":0,"away_team_id":104,"home_team_id":1303},{"away":"Troyes","date":"2016-05-07T19:00:00+00:00","home":"Toulouse","score":"1-0","event_id":384874,"away_score":0,"home_score":1,"away_team_id":1303,"home_team_id":104},{"away":"Toulouse","date":"2015-12-02T18:00:00+00:00","home":"Troyes","score":"0-3","event_id":384660,"away_score":3,"home_score":0,"away_team_id":104,"home_team_id":1303},{"away":"Troyes","date":"2013-02-16T19:00:00+00:00","home":"Toulouse","score":"2-2","event_id":429317,"away_score":2,"home_score":2,"away_team_id":1303,"home_team_id":104},{"away":"Toulouse","date":"2012-09-29T18:00:00+00:00","home":"Troyes","score":"0-2","event_id":429135,"away_score":2,"home_score":0,"away_team_id":104,"home_team_id":1303}]},"standings":{"home":{"team_id":104,"position":12,"played":7,"points":9,"goal_diff":1,"team_name":"Toulouse","won":2,"drawn":3,"lost":2,"goals_for":12,"goals_against":11,"group":null},"away":{"team_id":1303,"position":17,"played":7,"points":4,"goal_diff":-11,"team_name":"Troyes","won":1,"drawn":1,"lost":5,"goals_for":5,"goals_against":16,"group":null},"size":18},"form":{"home":{"matches":6,"ppg":1.5,"record":"2-3-1","goals_for":2,"goals_against":1.5,"clean_sheets":1,"streak":"unbeaten 4","sequence":"DLDWDW","venue_ppg":1.5},"away":{"matches":6,"ppg":0.17,"record":"0-1-5","goals_for":0.83,"goals_against":2.83,"clean_sheets":0,"streak":"winless 6","sequence":"LLLDLL","venue_ppg":0.33}},"ledger":[{"id":"availability.home.full_strength","section":"§2.4","tier":1,"state":"COMPUTED","note":"Toulouse report no absentees.","evidence":{"absences":0},"strength":0.2,"moves":[]},{"id":"availability.away.absences","section":"§2.4","tier":1,"state":"COMPUTED","note":"Troyes are without 2 players, none of them central to how the side plays.","evidence":{"count":2,"measured":2,"combined_goal_share":0,"combined_importance":0.047,"players":[{"player":"Anis Ouzenadji","role":"DEF","reason":"Sprained Ankle","goal_share":0,"importance":0.047,"measured":true,"doubtful":false,"cover_at_position":8},{"player":"Yvann Titi","role":"DEF","reason":"Muscle Injury","goal_share":0,"importance":0,"measured":true,"doubtful":false,"cover_at_position":8}]},"strength":0.15,"moves":[{"channel":"goals","side":"away","pct":0},{"channel":"goals","side":"home","pct":0.3},{"channel":"cards","side":"both","pct":0.1}]},{"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.609,"cup_tie":false},"strength":0.391,"moves":[]},{"id":"stakes.season","section":"§5.1","tier":2,"state":"COMPUTED","note":"Nothing much riding on this one for either side yet.","evidence":{"games_left":26,"home":{"state":"mid_table","position":12,"points":9,"games_left":26,"gap_to_leader":5,"gap_to_safety":2,"gap_to_europe":4},"away":{"state":"mid_table","position":17,"points":4,"games_left":26,"gap_to_leader":10,"gap_to_safety":-3,"gap_to_europe":9},"six_pointer":false},"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.settling","section":"§1.1","tier":3,"state":"COMPUTED","note":"Jens Askou is 14 games into the job at Toulouse, past the bounce window, where an early lift usually fades back toward the side's real level.","evidence":{"manager":"Jens Askou","matches_in_charge":14,"tenure_days":169,"ppm":1.36,"appointment_effect":{"before_ppm":1.1,"after_ppm":1.2,"delta":null}},"strength":0.3,"moves":[]},{"id":"manager.away.established","section":"§1.1","tier":3,"state":"COMPUTED","note":"Stephane Dumont has 32 matches in charge at Troyes, long enough that the side plays the way he wants it to.","evidence":{"manager":"Stephane Dumont","matches_in_charge":32,"tenure_days":289,"ppm":1.59,"appointment_effect":{"before_ppm":2.3,"after_ppm":1.6,"delta":null}},"strength":0.1,"moves":[]},{"id":"fatigue.home","section":"§2.8","tier":4,"state":"COMPUTED","note":"Toulouse come in on 9 days' rest, with nothing unusual in the schedule behind them.","evidence":{"daysRest":8.895833333333334,"matchesIn7":0,"matchesIn14":1,"days_rest":8.9},"strength":0.1,"moves":[]},{"id":"fatigue.away","section":"§2.8","tier":4,"state":"COMPUTED","note":"Troyes come in on 8 days' rest, with nothing unusual in the schedule behind them.","evidence":{"daysRest":7.895833333333333,"matchesIn7":0,"matchesIn14":2,"days_rest":7.9},"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 5.57601275422618 games is too few to read much into, so it is left out of the call.","evidence":{"home":{"attack":0.053,"defence":0.043,"effective_matches":11.6,"shrunk":0.41},"away":{"attack":-0.148,"defence":-0.118,"effective_matches":5.6,"shrunk":0.59},"sample":5.57601275422618,"required":6},"strength":0,"moves":[]},{"id":"style.matchup","section":"§4.2","tier":5,"state":"COMPUTED","note":"Toulouse average 9 points more possession than Troyes, so this should be one side with the ball and one without it; Troyes work noticeably more of their attacks into wide areas.","evidence":{"home":{"matches":12,"possession":50.2,"shots":13.6,"xg_per_shot":0.144,"corners":3.9,"corners_per_shot":0.288,"finishing_vs_xg":-0.54},"away":{"matches":12,"possession":41.6,"shots":14.4,"xg_per_shot":0.081,"corners":6.3,"corners_per_shot":0.439,"finishing_vs_xg":0.24},"possession_gap":8.6},"strength":0.345,"moves":[{"channel":"corners","side":"home","pct":1.8},{"channel":"corners","side":"away","pct":-1.8},{"channel":"goals","side":"home","pct":3}]},{"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":"Toulouse have scored 7 fewer than the chances they made over 12 games, a gap that usually closes rather than holds.","evidence":{"goals_minus_xg_per_match":-0.54,"matches":12},"strength":0.25,"moves":[]},{"id":"style.finishing.away","section":"§2.1","tier":5,"state":"COMPUTED","note":"Troyes are scoring about what their chances are worth.","evidence":{"goals_minus_xg_per_match":0.24,"matches":12},"strength":0.1,"moves":[]},{"id":"referee.tendency","section":"§13","tier":5,"state":"THIN","note":"81 yellow cards in this referee's last 26 games, where 91 would be usual in this league, and 5 reds. — though 26 games is too few to read much into, so it is left out of the call.","evidence":{"matches":26,"yellows_per_match":3.12,"reds_per_match":0.192,"league_yellows_per_match":3.51,"league_reds_per_match":0.201,"yellow_ratio":0.89,"red_ratio":0.96,"sample":26,"required":30},"strength":0,"moves":[]},{"id":"fatigue.travel","section":"§6.4","tier":6,"state":"COMPUTED","note":"Routine trip of 565 km for Troyes.","evidence":{"travel_km":565},"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":5.7,"temperature_c":20,"description":"clear"},"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.1799293404707215},"strength":0,"moves":[]}],"pass_reason":"call rule: value","preview":null,"external":{"bsd_prediction":{"id":5711,"created_at":"2026-10-18T02:15:32Z","event":{"id":210508,"event_date":"2026-10-25T16:15:00Z","status":"notstarted","home_team_id":104,"home_team":"Toulouse","away_team_id":1303,"away_team":"Troyes","league_id":6,"league_name":"Ligue 1"},"recommendations":{"favorite":"H","favorite_prob":59.1,"bet_favorite":false,"over_15":false,"over_25":false,"over_35":false,"btts":false,"winner":false},"model":{"confidence":0.5905,"version":"dc-blend-v1"}},"polymarket":{"event_id":210508,"event_date":"2026-10-25T16:15:00Z","home_team":"Toulouse","away_team":"Troyes","polymarket_event_id":"1226622","liquidity":{"volume_24hr":null,"volume_1wk":null,"volume_1mo":null,"volume_1yr":null,"open_interest":null,"liquidity_clob":null,"liquidity_amm":null},"pricing":{"best_bid":null,"best_ask":null,"change_1d":null,"change_1wk":null,"change_1mo":null},"goalscorers":null,"exact_scores":null,"updated_at":"2026-10-24T04:57:11Z"}},"computed_at":1792828953,"verdicts":[],"locked":false,"colors":{"home":null,"away":"#1368a8"},"venue":{"name":"Stadium de Toulouse","city":"Toulouse","capacity":33150},"pulled":[],"published":[]}