[{"canonical_id":"nhl-7afa9cc1ec","site_player_id":"44669907","captain_site_player_id":"44669961","name":"Jiri Kulich","team":"BUF","opponent":"SJS","game_id":"BUF@SJS","positions":["CPT","C","FLEX"],"salary":4200,"projection":0.0,"projection_status":"ok","confirmed_starter":false,"starter_status":"scratched","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"out","availability_raw":"Not dressed","availability_source":"gameday","p_play":0.0,"role_factor":1.0,"source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z"},{"canonical_id":"nhl-16de2a1456","site_player_id":"44669876","captain_site_player_id":"44669930","name":"Mason Marchment","team":"SJS","opponent":"BUF","game_id":"BUF@SJS","positions":["CPT","LW","FLEX"],"salary":6200,"projection_status":"ok","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":1.0818,"role_reason":"nhl:F3|PP1","source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z","paywalled":true},{"canonical_id":"nhl-a7ba0056ac","site_player_id":"44669898","captain_site_player_id":"44669952","name":"Sam Dickinson","team":"SJS","opponent":"BUF","game_id":"BUF@SJS","positions":["CPT","D","FLEX"],"salary":2000,"projection_status":"ok","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":1.0534,"role_reason":"nhl:D1|PK2","source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z","paywalled":true},{"canonical_id":"nhl-921db1fc84","site_player_id":"44669888","captain_site_player_id":"44669942","name":"Dennis Gilbert","team":"BUF","opponent":"SJS","game_id":"BUF@SJS","positions":["CPT","D","FLEX"],"salary":2000,"projection":0.0,"projection_status":"ok","confirmed_starter":false,"starter_status":"scratched","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"out","availability_raw":"Not dressed","availability_source":"gameday","p_play":0.0,"role_factor":1.0,"source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z"},{"canonical_id":"nhl-e13df92a9b","site_player_id":"44669905","captain_site_player_id":"44669959","name":"Igor Chernyshov","team":"SJS","opponent":"BUF","game_id":"BUF@SJS","positions":["CPT","LW","FLEX"],"salary":5800,"projection":0.0,"projection_status":"ok","confirmed_starter":false,"starter_status":"scratched","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"out","availability_raw":"Not dressed","availability_source":"gameday","p_play":0.0,"role_factor":1.0,"source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z"},{"canonical_id":"nhl-62a4b1eb3f","site_player_id":"44669895","captain_site_player_id":"44669949","name":"Tyson Kozak","team":"BUF","opponent":"SJS","game_id":"BUF@SJS","positions":["CPT","C","FLEX"],"salary":2000,"projection_status":"ok","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":0.9584,"role_reason":"nhl:F3","source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z","paywalled":true},{"canonical_id":"nhl-1028ef6983","site_player_id":"44669878","captain_site_player_id":"44669932","name":"Collin Graf","team":"SJS","opponent":"BUF","game_id":"BUF@SJS","positions":["CPT","LW","FLEX"],"salary":5600,"projection_status":"ok","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":1.1089,"role_reason":"nhl:F1|PK2","source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z","paywalled":true},{"canonical_id":"nhl-3f6c024f53","site_player_id":"44669899","captain_site_player_id":"44669953","name":"Nolan Allan","team":"SJS","opponent":"BUF","game_id":"BUF@SJS","positions":["CPT","D","FLEX"],"salary":2000,"projection":0.0,"projection_status":"ok","confirmed_starter":false,"starter_status":"scratched","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"out","availability_raw":"Not dressed","availability_source":"gameday","p_play":0.0,"role_factor":1.0,"source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z"},{"canonical_id":"nhl-95e0b09f97","site_player_id":"44669911","captain_site_player_id":"44669965","name":"Matt Grzelcyk","team":"BUF","opponent":"SJS","game_id":"BUF@SJS","positions":["CPT","D","FLEX"],"salary":2000,"projection":0.0,"projection_status":"ok","confirmed_starter":false,"starter_status":"scratched","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"out","availability_raw":"Not dressed","availability_source":"gameday","p_play":0.0,"role_factor":1.0,"source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z"},{"canonical_id":"nhl-7f61a93063","site_player_id":"44669882","captain_site_player_id":"44669936","name":"Tyler Toffoli","team":"SJS","opponent":"BUF","game_id":"BUF@SJS","positions":["CPT","RW","FLEX"],"salary":4400,"projection_status":"ok","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":0.9689,"role_reason":"nhl:F3|PP2","source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z","paywalled":true},{"canonical_id":"nhl-4afc89f562","site_player_id":"44669861","captain_site_player_id":"44669915","name":"Yaroslav Askarov","team":"SJS","opponent":"BUF","game_id":"BUF@SJS","positions":["CPT","G","FLEX"],"salary":10400,"projection_status":"ok","confirmed_starter":false,"starter_status":"unannounced","injury_status":"unknown","p_play":0.5,"role_factor":1.0,"role_reason":"goalie_start","source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z","paywalled":true},{"canonical_id":"nhl-cdc7ad5592","site_player_id":"44669869","captain_site_player_id":"44669923","name":"Zach Benson","team":"BUF","opponent":"SJS","game_id":"BUF@SJS","positions":["CPT","LW","FLEX"],"salary":7800,"projection":6.76,"std_dev":5.94,"floor":1.35,"ceiling":16.56,"projection_status":"ok","ownership":0.24244922,"captain_ownership":0.02059266,"ownership_by_contest":{"small":0.23533794,"medium":0.24244922,"large":0.25366458},"ownership_basis":"estimate","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":1.0288,"role_reason":"nhl:F2|PP1|PK1","raw_projection":6.57,"raw_std_dev":5.77,"raw_floor":1.31,"raw_ceiling":16.1,"source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z"},{"canonical_id":"nhl-69ee22ff27","site_player_id":"44669870","captain_site_player_id":"44669924","name":"Jacob Trouba","team":"SJS","opponent":"BUF","game_id":"BUF@SJS","positions":["CPT","D","FLEX"],"salary":7600,"projection":6.83,"std_dev":5.52,"floor":1.91,"ceiling":16.07,"projection_status":"ok","ownership":0.17259625,"captain_ownership":0.01496782,"ownership_by_contest":{"small":0.1538849,"medium":0.17259625,"large":0.1918238},"ownership_basis":"estimate","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":1.0841,"role_reason":"nhl:D1|PP2|PK1","raw_projection":6.3,"raw_std_dev":5.09,"raw_floor":1.76,"raw_ceiling":14.82,"source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z"},{"canonical_id":"nhl-e87884cbdc","site_player_id":"44669864","captain_site_player_id":"44669918","name":"Ukko-Pekka Luukkonen","team":"BUF","opponent":"SJS","game_id":"BUF@SJS","positions":["CPT","G","FLEX"],"salary":9000,"projection":5.69,"std_dev":8.63,"floor":0.0,"ceiling":15.51,"projection_status":"ok","ownership":0.14298072,"captain_ownership":0.01531328,"ownership_by_contest":{"small":0.13898432,"medium":0.14298072,"large":0.14577551},"ownership_basis":"estimate","confirmed_starter":false,"starter_status":"unannounced","injury_status":"unknown","p_play":0.75,"role_factor":1.0,"role_reason":"goalie_start","raw_projection":7.59,"raw_std_dev":9.96,"raw_floor":0.0,"raw_ceiling":20.68,"source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z"},{"canonical_id":"nhl-d3ce56f6ef","site_player_id":"44669894","captain_site_player_id":"44669948","name":"Barclay Goodrow","team":"SJS","opponent":"BUF","game_id":"BUF@SJS","positions":["CPT","LW","FLEX"],"salary":2000,"projection_status":"ok","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":1.0067,"role_reason":"nhl:F4|PK1","source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z","paywalled":true},{"canonical_id":"nhl-d18f2d4274","site_player_id":"44669912","captain_site_player_id":"44669966","name":"Conor Timmins","team":"BUF","opponent":"SJS","game_id":"BUF@SJS","positions":["CPT","D","FLEX"],"salary":2000,"projection":0.0,"projection_status":"ok","confirmed_starter":false,"starter_status":"scratched","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"out","availability_raw":"Not dressed","availability_source":"gameday","p_play":0.0,"role_factor":1.0,"source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z"},{"canonical_id":"nhl-57e469677c","site_player_id":"44669867","captain_site_player_id":"44669921","name":"Owen Power","team":"BUF","opponent":"SJS","game_id":"BUF@SJS","positions":["CPT","D","FLEX"],"salary":8400,"projection":6.78,"std_dev":5.77,"floor":1.41,"ceiling":16.21,"projection_status":"ok","ownership":0.22731678,"captain_ownership":0.0194131,"ownership_by_contest":{"small":0.21710763,"medium":0.22731678,"large":0.24059856},"ownership_basis":"estimate","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":1.0192,"role_reason":"nhl:D1|PP2|PK1","raw_projection":6.65,"raw_std_dev":5.66,"raw_floor":1.38,"raw_ceiling":15.9,"source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z"},{"canonical_id":"nhl-acf0e92fba","site_player_id":"44669913","captain_site_player_id":"44669967","name":"Sam Carrick","team":"BUF","opponent":"SJS","game_id":"BUF@SJS","positions":["CPT","C","FLEX"],"salary":2000,"projection":0.0,"projection_status":"ok","confirmed_starter":false,"starter_status":"scratched","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"out","availability_raw":"Not dressed","availability_source":"gameday","p_play":0.0,"role_factor":1.0,"source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z"},{"canonical_id":"nhl-e26658ef7f","site_player_id":"44669874","captain_site_player_id":"44669928","name":"Josh Doan","team":"BUF","opponent":"SJS","game_id":"BUF@SJS","positions":["CPT","LW","FLEX"],"salary":6600,"projection_status":"ok","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":0.8835,"role_reason":"nhl:F4|PP2","source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z","paywalled":true},{"canonical_id":"nhl-cf042bee5e","site_player_id":"44669887","captain_site_player_id":"44669941","name":"Konsta Helenius","team":"BUF","opponent":"SJS","game_id":"BUF@SJS","positions":["CPT","RW","FLEX"],"salary":2400,"projection_status":"ok","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":0.85,"role_reason":"nhl:F4","source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z","paywalled":true},{"canonical_id":"nhl-c7063f3bd5","site_player_id":"44669881","captain_site_player_id":"44669935","name":"Michael Misa","team":"SJS","opponent":"BUF","game_id":"BUF@SJS","positions":["CPT","C","FLEX"],"salary":4800,"projection_status":"ok","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":1.0478,"role_reason":"nhl:F2|PP2","source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z","paywalled":true},{"canonical_id":"nhl-2d0b2057c0","site_player_id":"44669893","captain_site_player_id":"44669947","name":"Adam Gaudette","team":"SJS","opponent":"BUF","game_id":"BUF@SJS","positions":["CPT","RW","FLEX"],"salary":2000,"projection_status":"ok","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":1.0677,"role_reason":"nhl:F4|PP2","source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z","paywalled":true},{"canonical_id":"nhl-db25dada25","site_player_id":"44669877","captain_site_player_id":"44669931","name":"Josh Norris","team":"BUF","opponent":"SJS","game_id":"BUF@SJS","positions":["CPT","C","FLEX"],"salary":6000,"projection_status":"ok","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":0.9307,"role_reason":"nhl:F1|PP2|PK2","source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z","paywalled":true},{"canonical_id":"nhl-c82c310e3b","site_player_id":"44669889","captain_site_player_id":"44669943","name":"Peyton Krebs","team":"BUF","opponent":"SJS","game_id":"BUF@SJS","positions":["CPT","LW","FLEX"],"salary":2000,"projection_status":"ok","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":0.9187,"role_reason":"nhl:F3","source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z","paywalled":true},{"canonical_id":"nhl-a378e9b00a","site_player_id":"44669875","captain_site_player_id":"44669929","name":"Ivar Stenberg","team":"SJS","opponent":"BUF","game_id":"BUF@SJS","positions":["CPT","LW","FLEX"],"salary":6400,"projection":5.28,"std_dev":5.95,"floor":1.17,"ceiling":16.42,"projection_status":"ok","ownership":0.10149757,"captain_ownership":0.00526368,"ownership_by_contest":{"small":0.07937356,"medium":0.10149757,"large":0.1237074},"ownership_basis":"estimate","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":1.0521,"role_reason":"nhl:F2|PP1","raw_projection":5.02,"raw_std_dev":5.66,"raw_floor":1.11,"raw_ceiling":15.61,"matchup_context":{"source":"projection_engine","model":"engine_v2","sanity":{"action":"flagged","reason":"low_vs_history","ratio":0.69,"l30":7.31,"games":12}},"source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z"},{"canonical_id":"nhl-c6772b2da4","site_player_id":"44669885","captain_site_player_id":"44669939","name":"Louis Crevier","team":"BUF","opponent":"SJS","game_id":"BUF@SJS","positions":["CPT","D","FLEX"],"salary":3200,"projection_status":"ok","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":0.8511,"role_reason":"nhl:D3","source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z","paywalled":true},{"canonical_id":"nhl-e7b3c50f88","site_player_id":"44669865","captain_site_player_id":"44669919","name":"Will Smith","team":"SJS","opponent":"BUF","game_id":"BUF@SJS","positions":["CPT","RW","FLEX"],"salary":8800,"projection":8.35,"std_dev":6.83,"floor":1.42,"ceiling":18.93,"projection_status":"ok","ownership":0.27635709,"captain_ownership":0.03578758,"ownership_by_contest":{"small":0.27722139,"medium":0.27635709,"large":0.28238013},"ownership_basis":"estimate","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":0.9984,"role_reason":"nhl:F1|PP1","raw_projection":8.36,"raw_std_dev":6.84,"raw_floor":1.42,"raw_ceiling":18.96,"source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z"},{"canonical_id":"nhl-09694e8736","site_player_id":"44669883","captain_site_player_id":"44669937","name":"Luca Cagnoni","team":"SJS","opponent":"BUF","game_id":"BUF@SJS","positions":["CPT","D","FLEX"],"salary":4000,"projection_status":"ok","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":0.8987,"role_reason":"nhl:D3|PP2","source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z","paywalled":true},{"canonical_id":"nhl-754de81e53","site_player_id":"44669873","captain_site_player_id":"44669927","name":"Olen Zellweger","team":"BUF","opponent":"SJS","game_id":"BUF@SJS","positions":["CPT","D","FLEX"],"salary":6800,"projection":6.05,"std_dev":6.03,"floor":1.22,"ceiling":16.68,"projection_status":"ok","ownership":0.2040816,"captain_ownership":0.01389722,"ownership_by_contest":{"small":0.1897215,"medium":0.2040816,"large":0.22019932},"ownership_basis":"estimate","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":1.0381,"role_reason":"nhl:D1|PK2","raw_projection":5.83,"raw_std_dev":5.81,"raw_floor":1.18,"raw_ceiling":16.07,"source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z"},{"canonical_id":"nhl-7b5b3ff2d1","site_player_id":"44669872","captain_site_player_id":"44669926","name":"Noah Ostlund","team":"BUF","opponent":"SJS","game_id":"BUF@SJS","positions":["CPT","C","FLEX"],"salary":7200,"projection":5.6,"std_dev":6.09,"floor":1.18,"ceiling":16.77,"projection_status":"ok","ownership":0.15783006,"captain_ownership":0.00921382,"ownership_by_contest":{"small":0.1376287,"medium":0.15783006,"large":0.17818581},"ownership_basis":"estimate","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":1.0966,"role_reason":"nhl:F2|PP1","raw_projection":5.11,"raw_std_dev":5.55,"raw_floor":1.08,"raw_ceiling":15.29,"source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z"},{"canonical_id":"nhl-be54fd48c0","site_player_id":"44669901","captain_site_player_id":"44669955","name":"Alex Nedeljkovic","team":"SJS","opponent":"BUF","game_id":"BUF@SJS","positions":["CPT","G","FLEX"],"salary":10400,"projection_status":"ok","confirmed_starter":false,"starter_status":"unannounced","injury_status":"unknown","p_play":0.5,"role_factor":1.0,"role_reason":"goalie_start","source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z","paywalled":true},{"canonical_id":"nhl-51e4aedf5f","site_player_id":"44669884","captain_site_player_id":"44669938","name":"Kiefer Sherwood","team":"SJS","opponent":"BUF","game_id":"BUF@SJS","positions":["CPT","RW","FLEX"],"salary":3600,"projection":5.3,"std_dev":6.37,"floor":1.43,"ceiling":17.76,"projection_status":"ok","ownership":0.04378738,"captain_ownership":0.00228398,"ownership_by_contest":{"small":0.04353002,"medium":0.04378738,"large":0.04391976},"ownership_basis":"estimate","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":1.1318,"role_reason":"nhl:F2|PP2|PK2","raw_projection":4.68,"raw_std_dev":5.63,"raw_floor":1.26,"raw_ceiling":15.69,"matchup_context":{"source":"projection_engine","model":"engine_v2","sanity":{"action":"flagged","reason":"low_vs_history","ratio":0.7,"l30":6.74,"games":162}},"source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z"},{"canonical_id":"nhl-085bec3eb7","site_player_id":"44669906","captain_site_player_id":"44669960","name":"Alexander Wennberg","team":"SJS","opponent":"BUF","game_id":"BUF@SJS","positions":["CPT","C","FLEX"],"salary":5200,"projection":0.0,"projection_status":"ok","confirmed_starter":false,"starter_status":"scratched","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"out","availability_raw":"Not dressed","availability_source":"gameday","p_play":0.0,"role_factor":1.0,"source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z"},{"canonical_id":"nhl-3a9bc24a0e","site_player_id":"44669886","captain_site_player_id":"44669940","name":"Michael Kesselring","team":"SJS","opponent":"BUF","game_id":"BUF@SJS","positions":["CPT","D","FLEX"],"salary":2800,"projection_status":"ok","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":0.9958,"role_reason":"nhl:D2|PK2","source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z","paywalled":true},{"canonical_id":"nhl-3fa16c787e","site_player_id":"44669868","captain_site_player_id":"44669922","name":"Mattias Samuelsson","team":"BUF","opponent":"SJS","game_id":"BUF@SJS","positions":["CPT","D","FLEX"],"salary":8000,"projection":6.75,"std_dev":5.07,"floor":1.95,"ceiling":14.95,"projection_status":"ok","ownership":0.23559884,"captain_ownership":0.0199627,"ownership_by_contest":{"small":0.22704806,"medium":0.23559884,"large":0.24777004},"ownership_basis":"estimate","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":1.0198,"role_reason":"nhl:D2|PK1","raw_projection":6.62,"raw_std_dev":4.97,"raw_floor":1.91,"raw_ceiling":14.66,"source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z"},{"canonical_id":"nhl-0806c9a2f3","site_player_id":"44669891","captain_site_player_id":"44669945","name":"Zach Metsa","team":"BUF","opponent":"SJS","game_id":"BUF@SJS","positions":["CPT","D","FLEX"],"salary":2000,"projection_status":"ok","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":1.0362,"role_reason":"nhl:D3|PK2","source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z","paywalled":true},{"canonical_id":"nhl-3c160c12c8","site_player_id":"44669890","captain_site_player_id":"44669944","name":"Beck Malenstyn","team":"BUF","opponent":"SJS","game_id":"BUF@SJS","positions":["CPT","RW","FLEX"],"salary":2000,"projection_status":"ok","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":1.1209,"role_reason":"nhl:F3|PK2","source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z","paywalled":true},{"canonical_id":"nhl-bf4351e227","site_player_id":"44669866","captain_site_player_id":"44669920","name":"Jack Quinn","team":"BUF","opponent":"SJS","game_id":"BUF@SJS","positions":["CPT","RW","FLEX"],"salary":8600,"projection":8.22,"std_dev":6.47,"floor":1.48,"ceiling":18.09,"projection_status":"ok","ownership":0.39378631,"captain_ownership":0.04942626,"ownership_by_contest":{"small":0.43078052,"medium":0.39378631,"large":0.37711712},"ownership_basis":"estimate","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":1.0456,"role_reason":"nhl:F2|PP1","raw_projection":7.86,"raw_std_dev":6.19,"raw_floor":1.42,"raw_ceiling":17.3,"source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z"},{"canonical_id":"nhl-af6de3fd64","site_player_id":"44669892","captain_site_player_id":"44669946","name":"Zack Ostapchuk","team":"SJS","opponent":"BUF","game_id":"BUF@SJS","positions":["CPT","C","FLEX"],"salary":2000,"projection_status":"ok","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":0.9717,"role_reason":"nhl:F4|PK1","source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z","paywalled":true},{"canonical_id":"nhl-3042b5d7a0","site_player_id":"44669903","captain_site_player_id":"44669957","name":"Colten Ellis","team":"BUF","opponent":"SJS","game_id":"BUF@SJS","positions":["CPT","G","FLEX"],"salary":9000,"projection_status":"ok","confirmed_starter":false,"starter_status":"unannounced","injury_status":"unknown","p_play":0.25,"role_factor":1.0,"role_reason":"goalie_start","source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z","paywalled":true},{"canonical_id":"nhl-da5cdee531","site_player_id":"44669880","captain_site_player_id":"44669934","name":"Dmitry Orlov","team":"SJS","opponent":"BUF","game_id":"BUF@SJS","positions":["CPT","D","FLEX"],"salary":5000,"projection_status":"ok","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":1.0987,"role_reason":"nhl:D3|PP1","source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z","paywalled":true},{"canonical_id":"nhl-77b9e8d2de","site_player_id":"44669862","captain_site_player_id":"44669916","name":"Tage Thompson","team":"BUF","opponent":"SJS","game_id":"BUF@SJS","positions":["CPT","RW","FLEX"],"salary":10000,"projection":11.88,"std_dev":7.72,"floor":2.46,"ceiling":22.26,"projection_status":"ok","ownership":0.78176313,"captain_ownership":0.19889061,"ownership_by_contest":{"small":0.86926308,"medium":0.78176313,"large":0.68982218},"ownership_basis":"estimate","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":1.0013,"role_reason":"nhl:F1|PP1","raw_projection":11.86,"raw_std_dev":7.71,"raw_floor":2.46,"raw_ceiling":22.23,"source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z"},{"canonical_id":"nhl-1cea8f3b39","site_player_id":"44669904","captain_site_player_id":"44669958","name":"Alex Lyon","team":"BUF","opponent":"SJS","game_id":"BUF@SJS","positions":["CPT","G","FLEX"],"salary":9000,"projection":0.0,"projection_status":"ok","confirmed_starter":false,"starter_status":"scratched","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"out","availability_raw":"Not dressed","availability_source":"gameday","p_play":0.0,"role_factor":1.0,"source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z"},{"canonical_id":"nhl-a20293951c","site_player_id":"44669897","captain_site_player_id":"44669951","name":"Justin Danforth","team":"BUF","opponent":"SJS","game_id":"BUF@SJS","positions":["CPT","RW","FLEX"],"salary":2000,"projection":0.0,"projection_status":"ok","confirmed_starter":false,"starter_status":"scratched","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"out","availability_raw":"Not dressed","availability_source":"gameday","p_play":0.0,"role_factor":1.0,"source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z"},{"canonical_id":"nhl-cc11524901","site_player_id":"44669863","captain_site_player_id":"44669917","name":"Rasmus Dahlin","team":"BUF","opponent":"SJS","game_id":"BUF@SJS","positions":["CPT","D","FLEX"],"salary":9600,"projection":11.54,"std_dev":6.79,"floor":2.57,"ceiling":19.98,"projection_status":"ok","ownership":0.77160846,"captain_ownership":0.18636849,"ownership_by_contest":{"small":0.86279316,"medium":0.77160846,"large":0.67968359},"ownership_basis":"estimate","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":0.9366,"role_reason":"nhl:D2|PP1","raw_projection":12.32,"raw_std_dev":7.25,"raw_floor":2.74,"raw_ceiling":21.33,"source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z"},{"canonical_id":"nhl-35b34abc4b","site_player_id":"44669860","captain_site_player_id":"44669914","name":"Macklin Celebrini","team":"SJS","opponent":"BUF","game_id":"BUF@SJS","positions":["CPT","C","FLEX"],"salary":10800,"projection":15.0,"std_dev":9.15,"floor":3.7,"ceiling":27.15,"projection_status":"ok","ownership":0.82340964,"captain_ownership":0.30429349,"ownership_by_contest":{"small":0.89123052,"medium":0.82340964,"large":0.73672262},"ownership_basis":"estimate","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":1.0575,"role_reason":"nhl:F1|PP1","raw_projection":14.18,"raw_std_dev":8.65,"raw_floor":3.5,"raw_ceiling":25.67,"source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z"},{"canonical_id":"nhl-6944565123","site_player_id":"44669871","captain_site_player_id":"44669925","name":"Darnell Nurse","team":"SJS","opponent":"BUF","game_id":"BUF@SJS","positions":["CPT","D","FLEX"],"salary":7400,"projection":6.55,"std_dev":5.72,"floor":1.37,"ceiling":16.03,"projection_status":"ok","ownership":0.15662054,"captain_ownership":0.01247579,"ownership_by_contest":{"small":0.13631373,"medium":0.15662054,"large":0.17705843},"ownership_basis":"estimate","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":0.9626,"role_reason":"nhl:D2|PK1","raw_projection":6.8,"raw_std_dev":5.94,"raw_floor":1.42,"raw_ceiling":16.65,"source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z"},{"canonical_id":"nhl-c3d415ad60","site_player_id":"44669896","captain_site_player_id":"44669950","name":"Ryan McLeod","team":"BUF","opponent":"SJS","game_id":"BUF@SJS","positions":["CPT","C","FLEX"],"salary":2000,"projection_status":"ok","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":0.9071,"role_reason":"nhl:F4|PP2|PK1","source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z","paywalled":true},{"canonical_id":"nhl-d6d3b0bfe1","site_player_id":"44669879","captain_site_player_id":"44669933","name":"Jason Zucker","team":"BUF","opponent":"SJS","game_id":"BUF@SJS","positions":["CPT","LW","FLEX"],"salary":5400,"projection_status":"ok","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":0.9374,"role_reason":"nhl:F1|PP2","source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z","paywalled":true},{"canonical_id":"nhl-30a27df2f5","site_player_id":"44669900","captain_site_player_id":"44669954","name":"Ty Dellandrea","team":"SJS","opponent":"BUF","game_id":"BUF@SJS","positions":["CPT","C","FLEX"],"salary":2000,"projection_status":"ok","confirmed_starter":true,"starter_status":"confirmed","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"active","availability_raw":"Dressed","availability_source":"gameday","p_play":1.0,"role_factor":1.0042,"role_reason":"nhl:F3","source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:18:38.164116Z","paywalled":true},{"canonical_id":"nhl-dc5dd14344","site_player_id":"44669902","captain_site_player_id":"44669956","name":"Kyle Keyser","team":"SJS","opponent":"BUF","game_id":"BUF@SJS","positions":["CPT","G","FLEX"],"salary":10400,"projection":0.0,"projection_status":"ok","confirmed_starter":false,"starter_status":"scratched","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"out","availability_raw":"Not dressed","availability_source":"gameday","p_play":0.0,"role_factor":1.0,"source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:16:24.349977Z"},{"canonical_id":"nhl-6c8b31dc22","site_player_id":"44669909","captain_site_player_id":"44669963","name":"Quentin Musty","team":"SJS","opponent":"BUF","game_id":"BUF@SJS","positions":["CPT","LW","FLEX"],"salary":2000,"projection":0.0,"projection_status":"ok","confirmed_starter":false,"starter_status":"scratched","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"out","availability_raw":"Not dressed","availability_source":"gameday","p_play":0.0,"role_factor":1.0,"source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:16:24.349977Z"},{"canonical_id":"nhl-99953369fb","site_player_id":"44669908","captain_site_player_id":"44669962","name":"Jack Rathbone","team":"BUF","opponent":"SJS","game_id":"BUF@SJS","positions":["CPT","D","FLEX"],"salary":2400,"projection":0.0,"projection_status":"ok","confirmed_starter":false,"starter_status":"scratched","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"out","availability_raw":"Not dressed","availability_source":"gameday","p_play":0.0,"role_factor":1.0,"source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:16:24.349977Z"},{"canonical_id":"nhl-4d38a503a3","site_player_id":"44669910","captain_site_player_id":"44669964","name":"Logan Couture","team":"SJS","opponent":"BUF","game_id":"BUF@SJS","positions":["CPT","C","FLEX"],"salary":2000,"projection":0.0,"projection_status":"ok","confirmed_starter":false,"starter_status":"scratched","starter_status_updated_at":"2026-10-28T02:16:24.037339","starter_status_source":"nhl_gameday_roster","injury_status":"out","availability_raw":"Not dressed","availability_source":"gameday","p_play":0.0,"role_factor":1.0,"source":"engine:nhl","model_version":"engine_v2","provenance":"modelled","projection_updated_at":"2026-10-28T02:16:24.349977Z"}]