{
  "date": "2026-03-27",
  "generated_at": "2026-03-27T20:58:23.670910",
  "artifact_type": "strikeout_edges",
  "market_type": "pitcher_strikeouts",
  "model_version": "strikeout_edges_v1_overlay",
  "projection_model_version": "strikeout_props_v1_nb_overlay",
  "projection_date": "2026-03-27",
  "sportsbook_input_summary": {
    "input_type": "canonical_processed_sportsbook_input",
    "source_count": 1,
    "row_count": 18,
    "matched_count": 18,
    "unmatched_count": 0
  },
  "assumptions": {
    "methodology": "Sportsbook strikeout lines are matched against the saved Mithrandir strikeout props artifact. Model over, under, and push probabilities are derived from the existing matchup-adjusted strikeout distribution. Raw implied probabilities are calculated directly from American odds, and optional no-vig implied probabilities are computed by renormalizing both sides when both odds are present.",
    "distribution": {
      "name": "negative_binomial_style",
      "alpha": 0.0619,
      "whole_line_handling": "Over = P(K >= line + 1), Under = P(K <= line - 1), Push = P(K = line).",
      "half_line_handling": "Over = P(K >= ceil(line)), Under = 1 - Over, Push = 0."
    },
    "recommendation_thresholds": {
      "no_play_edge_threshold": 0.015,
      "lean_edge_threshold": 0.03,
      "strong_edge_threshold": 0.05
    }
  },
  "summary": {
    "raw_row_count": 18,
    "grouped_pitcher_count": 6,
    "sportsbook_count": 3
  },
  "edge_count": 18,
  "edges": [
    {
      "pitcher_name": "Michael King",
      "pitcher_id": 650633,
      "team_abbr": "SD",
      "opponent_abbr": "DET",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-03-28T00:30:06.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -153,
      "under_odds": 120,
      "baseline_projected_strikeouts": 4.68,
      "adjusted_projected_strikeouts": 5.16,
      "model_over_probability": 0.4074,
      "model_under_probability": 0.5926,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6047,
      "implied_under_probability_raw": 0.4545,
      "implied_over_probability_novig": 0.5709,
      "implied_under_probability_novig": 0.4291,
      "edge_over": -0.1973,
      "edge_under": 0.1381,
      "recommended_side": "Under",
      "recommended_edge": 0.1381,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.48,
      "adjustment_multiplier": 1.102,
      "aggregate_matchup_score": 63.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 19346.0,
      "lineup_expected_strikeouts": 5.89,
      "environment_summary": "neutral",
      "temperature_f": 60.3,
      "wind_speed_mph": 3.2,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Michael King",
      "pitcher_id": 650633,
      "team_abbr": "SD",
      "opponent_abbr": "DET",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-03-28T00:29:58.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -158,
      "under_odds": 118,
      "baseline_projected_strikeouts": 4.68,
      "adjusted_projected_strikeouts": 5.16,
      "model_over_probability": 0.4074,
      "model_under_probability": 0.5926,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6124,
      "implied_under_probability_raw": 0.4587,
      "implied_over_probability_novig": 0.5717,
      "implied_under_probability_novig": 0.4283,
      "edge_over": -0.205,
      "edge_under": 0.1339,
      "recommended_side": "Under",
      "recommended_edge": 0.1339,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.48,
      "adjustment_multiplier": 1.102,
      "aggregate_matchup_score": 63.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 19346.0,
      "lineup_expected_strikeouts": 5.89,
      "environment_summary": "neutral",
      "temperature_f": 60.3,
      "wind_speed_mph": 3.2,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Michael King",
      "pitcher_id": 650633,
      "team_abbr": "SD",
      "opponent_abbr": "DET",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-03-28T00:29:24.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -145,
      "under_odds": 110,
      "baseline_projected_strikeouts": 4.68,
      "adjusted_projected_strikeouts": 5.16,
      "model_over_probability": 0.4074,
      "model_under_probability": 0.5926,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5918,
      "implied_under_probability_raw": 0.4762,
      "implied_over_probability_novig": 0.5541,
      "implied_under_probability_novig": 0.4459,
      "edge_over": -0.1844,
      "edge_under": 0.1164,
      "recommended_side": "Under",
      "recommended_edge": 0.1164,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.48,
      "adjustment_multiplier": 1.102,
      "aggregate_matchup_score": 63.6,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 19346.0,
      "lineup_expected_strikeouts": 5.89,
      "environment_summary": "neutral",
      "temperature_f": 60.3,
      "wind_speed_mph": 3.2,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Gavin Williams",
      "pitcher_id": 668909,
      "team_abbr": "CLE",
      "opponent_abbr": "SEA",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-03-28T00:29:55.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -135,
      "under_odds": 105,
      "baseline_projected_strikeouts": 5.03,
      "adjusted_projected_strikeouts": 5.25,
      "model_over_probability": 0.421,
      "model_under_probability": 0.579,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5745,
      "implied_under_probability_raw": 0.4878,
      "implied_over_probability_novig": 0.5408,
      "implied_under_probability_novig": 0.4592,
      "edge_over": -0.1535,
      "edge_under": 0.0912,
      "recommended_side": "Under",
      "recommended_edge": 0.0912,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.22,
      "adjustment_multiplier": 1.033,
      "aggregate_matchup_score": 43.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24255.0,
      "lineup_expected_strikeouts": 5.59,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 42.6,
      "wind_speed_mph": 6.2,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Gavin Williams",
      "pitcher_id": 668909,
      "team_abbr": "CLE",
      "opponent_abbr": "SEA",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-03-28T00:29:51.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -127,
      "under_odds": 100,
      "baseline_projected_strikeouts": 5.03,
      "adjusted_projected_strikeouts": 5.25,
      "model_over_probability": 0.421,
      "model_under_probability": 0.579,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5595,
      "implied_under_probability_raw": 0.5,
      "implied_over_probability_novig": 0.5281,
      "implied_under_probability_novig": 0.4719,
      "edge_over": -0.1385,
      "edge_under": 0.079,
      "recommended_side": "Under",
      "recommended_edge": 0.079,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.22,
      "adjustment_multiplier": 1.033,
      "aggregate_matchup_score": 43.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24255.0,
      "lineup_expected_strikeouts": 5.59,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 42.6,
      "wind_speed_mph": 6.2,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Gavin Williams",
      "pitcher_id": 668909,
      "team_abbr": "CLE",
      "opponent_abbr": "SEA",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-03-28T00:30:17.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -130,
      "under_odds": -102,
      "baseline_projected_strikeouts": 5.03,
      "adjusted_projected_strikeouts": 5.25,
      "model_over_probability": 0.421,
      "model_under_probability": 0.579,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5652,
      "implied_under_probability_raw": 0.505,
      "implied_over_probability_novig": 0.5281,
      "implied_under_probability_novig": 0.4719,
      "edge_over": -0.1442,
      "edge_under": 0.074,
      "recommended_side": "Under",
      "recommended_edge": 0.074,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.22,
      "adjustment_multiplier": 1.033,
      "aggregate_matchup_score": 43.1,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 24255.0,
      "lineup_expected_strikeouts": 5.59,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 42.6,
      "wind_speed_mph": 6.2,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "George Kirby",
      "pitcher_id": 669923,
      "team_abbr": "SEA",
      "opponent_abbr": "CLE",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-03-28T00:29:55.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -130,
      "under_odds": 100,
      "baseline_projected_strikeouts": 5.2,
      "adjusted_projected_strikeouts": 5.32,
      "model_over_probability": 0.4315,
      "model_under_probability": 0.5685,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5652,
      "implied_under_probability_raw": 0.5,
      "implied_over_probability_novig": 0.5306,
      "implied_under_probability_novig": 0.4694,
      "edge_over": -0.1337,
      "edge_under": 0.0685,
      "recommended_side": "Under",
      "recommended_edge": 0.0685,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.12,
      "adjustment_multiplier": 1.013,
      "aggregate_matchup_score": 66.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 30773.0,
      "lineup_expected_strikeouts": 5.2,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 42.6,
      "wind_speed_mph": 6.2,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "George Kirby",
      "pitcher_id": 669923,
      "team_abbr": "SEA",
      "opponent_abbr": "CLE",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-03-28T00:29:51.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -122,
      "under_odds": -105,
      "baseline_projected_strikeouts": 5.2,
      "adjusted_projected_strikeouts": 5.32,
      "model_over_probability": 0.4315,
      "model_under_probability": 0.5685,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5495,
      "implied_under_probability_raw": 0.5122,
      "implied_over_probability_novig": 0.5176,
      "implied_under_probability_novig": 0.4824,
      "edge_over": -0.118,
      "edge_under": 0.0563,
      "recommended_side": "Under",
      "recommended_edge": 0.0563,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.12,
      "adjustment_multiplier": 1.013,
      "aggregate_matchup_score": 66.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 30773.0,
      "lineup_expected_strikeouts": 5.2,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 42.6,
      "wind_speed_mph": 6.2,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "George Kirby",
      "pitcher_id": 669923,
      "team_abbr": "SEA",
      "opponent_abbr": "CLE",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-03-28T00:30:17.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -125,
      "under_odds": -106,
      "baseline_projected_strikeouts": 5.2,
      "adjusted_projected_strikeouts": 5.32,
      "model_over_probability": 0.4315,
      "model_under_probability": 0.5685,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5556,
      "implied_under_probability_raw": 0.5146,
      "implied_over_probability_novig": 0.5192,
      "implied_under_probability_novig": 0.4808,
      "edge_over": -0.1241,
      "edge_under": 0.0539,
      "recommended_side": "Under",
      "recommended_edge": 0.0539,
      "play_tier": "Strong",
      "no_play_reason": null,
      "adjustment_delta": 0.12,
      "adjustment_multiplier": 1.013,
      "aggregate_matchup_score": 66.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 30773.0,
      "lineup_expected_strikeouts": 5.2,
      "environment_summary": "pitcher-friendly",
      "temperature_f": 42.6,
      "wind_speed_mph": 6.2,
      "wind_direction": "in",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Emmet Sheehan",
      "pitcher_id": 686218,
      "team_abbr": "LAD",
      "opponent_abbr": "AZ",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-03-28T00:29:46.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -105,
      "under_odds": -125,
      "baseline_projected_strikeouts": 5.48,
      "adjusted_projected_strikeouts": 5.24,
      "model_over_probability": 0.4195,
      "model_under_probability": 0.5805,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5122,
      "implied_under_probability_raw": 0.5556,
      "implied_over_probability_novig": 0.4797,
      "implied_under_probability_novig": 0.5203,
      "edge_over": -0.0927,
      "edge_under": 0.0249,
      "recommended_side": "Under",
      "recommended_edge": 0.0249,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": -0.24,
      "adjustment_multiplier": 0.956,
      "aggregate_matchup_score": 53.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 7433.0,
      "lineup_expected_strikeouts": 4.76,
      "environment_summary": "neutral",
      "temperature_f": 57.4,
      "wind_speed_mph": 2.7,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Emmet Sheehan",
      "pitcher_id": 686218,
      "team_abbr": "LAD",
      "opponent_abbr": "AZ",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-03-28T00:29:32.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": -102,
      "under_odds": -125,
      "baseline_projected_strikeouts": 5.48,
      "adjusted_projected_strikeouts": 5.24,
      "model_over_probability": 0.4195,
      "model_under_probability": 0.5805,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.505,
      "implied_under_probability_raw": 0.5556,
      "implied_over_probability_novig": 0.4761,
      "implied_under_probability_novig": 0.5239,
      "edge_over": -0.0855,
      "edge_under": 0.0249,
      "recommended_side": "Under",
      "recommended_edge": 0.0249,
      "play_tier": "Lean",
      "no_play_reason": null,
      "adjustment_delta": -0.24,
      "adjustment_multiplier": 0.956,
      "aggregate_matchup_score": 53.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 7433.0,
      "lineup_expected_strikeouts": 4.76,
      "environment_summary": "neutral",
      "temperature_f": 57.4,
      "wind_speed_mph": 2.7,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Ryne Nelson",
      "pitcher_id": 669194,
      "team_abbr": "AZ",
      "opponent_abbr": "LAD",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-03-28T00:29:46.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -160,
      "under_odds": 125,
      "baseline_projected_strikeouts": 4.0,
      "adjusted_projected_strikeouts": 3.99,
      "model_over_probability": 0.5433,
      "model_under_probability": 0.4567,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6154,
      "implied_under_probability_raw": 0.4444,
      "implied_over_probability_novig": 0.5807,
      "implied_under_probability_novig": 0.4193,
      "edge_over": -0.0721,
      "edge_under": 0.0123,
      "recommended_side": "No Play",
      "recommended_edge": 0.0123,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.01,
      "adjustment_multiplier": 0.999,
      "aggregate_matchup_score": 26.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 25783.0,
      "lineup_expected_strikeouts": 4.2,
      "environment_summary": "neutral",
      "temperature_f": 57.4,
      "wind_speed_mph": 2.7,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Emmet Sheehan",
      "pitcher_id": 686218,
      "team_abbr": "LAD",
      "opponent_abbr": "AZ",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-03-28T00:29:48.000Z",
      "line": 5.5,
      "line_type": "half",
      "over_odds": 100,
      "under_odds": -132,
      "baseline_projected_strikeouts": 5.48,
      "adjusted_projected_strikeouts": 5.24,
      "model_over_probability": 0.4195,
      "model_under_probability": 0.5805,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5,
      "implied_under_probability_raw": 0.569,
      "implied_over_probability_novig": 0.4677,
      "implied_under_probability_novig": 0.5323,
      "edge_over": -0.0805,
      "edge_under": 0.0115,
      "recommended_side": "No Play",
      "recommended_edge": 0.0115,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.24,
      "adjustment_multiplier": 0.956,
      "aggregate_matchup_score": 53.2,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 7433.0,
      "lineup_expected_strikeouts": 4.76,
      "environment_summary": "neutral",
      "temperature_f": 57.4,
      "wind_speed_mph": 2.7,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Ryne Nelson",
      "pitcher_id": 669194,
      "team_abbr": "AZ",
      "opponent_abbr": "LAD",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-03-28T00:29:32.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -143,
      "under_odds": 112,
      "baseline_projected_strikeouts": 4.0,
      "adjusted_projected_strikeouts": 3.99,
      "model_over_probability": 0.5433,
      "model_under_probability": 0.4567,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5885,
      "implied_under_probability_raw": 0.4717,
      "implied_over_probability_novig": 0.5551,
      "implied_under_probability_novig": 0.4449,
      "edge_over": -0.0452,
      "edge_under": -0.015,
      "recommended_side": "No Play",
      "recommended_edge": -0.015,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.01,
      "adjustment_multiplier": 0.999,
      "aggregate_matchup_score": 26.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 25783.0,
      "lineup_expected_strikeouts": 4.2,
      "environment_summary": "neutral",
      "temperature_f": 57.4,
      "wind_speed_mph": 2.7,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Framber Valdez",
      "pitcher_id": 664285,
      "team_abbr": "DET",
      "opponent_abbr": "SD",
      "sportsbook": "DraftKings",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-03-28T00:29:32.095Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -163,
      "under_odds": 128,
      "baseline_projected_strikeouts": 5.05,
      "adjusted_projected_strikeouts": 5.28,
      "model_over_probability": 0.5778,
      "model_under_probability": 0.4222,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6198,
      "implied_under_probability_raw": 0.4386,
      "implied_over_probability_novig": 0.5856,
      "implied_under_probability_novig": 0.4144,
      "edge_over": -0.042,
      "edge_under": -0.0164,
      "recommended_side": "No Play",
      "recommended_edge": -0.0164,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.23,
      "adjustment_multiplier": 1.045,
      "aggregate_matchup_score": 49.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 33697.0,
      "lineup_expected_strikeouts": 5.71,
      "environment_summary": "neutral",
      "temperature_f": 60.3,
      "wind_speed_mph": 3.2,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Framber Valdez",
      "pitcher_id": 664285,
      "team_abbr": "DET",
      "opponent_abbr": "SD",
      "sportsbook": "BetMGM",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-03-28T00:29:32.095Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -155,
      "under_odds": 120,
      "baseline_projected_strikeouts": 5.05,
      "adjusted_projected_strikeouts": 5.28,
      "model_over_probability": 0.5778,
      "model_under_probability": 0.4222,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6078,
      "implied_under_probability_raw": 0.4545,
      "implied_over_probability_novig": 0.5722,
      "implied_under_probability_novig": 0.4278,
      "edge_over": -0.03,
      "edge_under": -0.0323,
      "recommended_side": "No Play",
      "recommended_edge": -0.03,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.23,
      "adjustment_multiplier": 1.045,
      "aggregate_matchup_score": 49.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 33697.0,
      "lineup_expected_strikeouts": 5.71,
      "environment_summary": "neutral",
      "temperature_f": 60.3,
      "wind_speed_mph": 3.2,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Ryne Nelson",
      "pitcher_id": 669194,
      "team_abbr": "AZ",
      "opponent_abbr": "LAD",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-03-28T00:29:48.000Z",
      "line": 3.5,
      "line_type": "half",
      "over_odds": -136,
      "under_odds": 102,
      "baseline_projected_strikeouts": 4.0,
      "adjusted_projected_strikeouts": 3.99,
      "model_over_probability": 0.5433,
      "model_under_probability": 0.4567,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.5763,
      "implied_under_probability_raw": 0.495,
      "implied_over_probability_novig": 0.5379,
      "implied_under_probability_novig": 0.4621,
      "edge_over": -0.033,
      "edge_under": -0.0383,
      "recommended_side": "No Play",
      "recommended_edge": -0.033,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": -0.01,
      "adjustment_multiplier": 0.999,
      "aggregate_matchup_score": 26.9,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 25783.0,
      "lineup_expected_strikeouts": 4.2,
      "environment_summary": "neutral",
      "temperature_f": 57.4,
      "wind_speed_mph": 2.7,
      "wind_direction": "out",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    },
    {
      "pitcher_name": "Framber Valdez",
      "pitcher_id": 664285,
      "team_abbr": "DET",
      "opponent_abbr": "SD",
      "sportsbook": "FanDuel",
      "source_provider": "sportsgameodds",
      "timestamp": "2026-03-28T00:29:32.095Z",
      "line": 4.5,
      "line_type": "half",
      "over_odds": -158,
      "under_odds": 116,
      "baseline_projected_strikeouts": 5.05,
      "adjusted_projected_strikeouts": 5.28,
      "model_over_probability": 0.5778,
      "model_under_probability": 0.4222,
      "model_push_probability": 0.0,
      "implied_over_probability_raw": 0.6124,
      "implied_under_probability_raw": 0.463,
      "implied_over_probability_novig": 0.5695,
      "implied_under_probability_novig": 0.4305,
      "edge_over": -0.0346,
      "edge_under": -0.0408,
      "recommended_side": "No Play",
      "recommended_edge": -0.0346,
      "play_tier": "No Play",
      "no_play_reason": "Best edge did not clear the minimum play threshold.",
      "adjustment_delta": 0.23,
      "adjustment_multiplier": 1.045,
      "aggregate_matchup_score": 49.0,
      "lineup_confidence": "projected",
      "pitch_mix_sample_size": 33697.0,
      "lineup_expected_strikeouts": 5.71,
      "environment_summary": "neutral",
      "temperature_f": 60.3,
      "wind_speed_mph": 3.2,
      "wind_direction": "cross",
      "starter_confidence": "probable",
      "projection_model_version": "negative_binomial_style",
      "source_file": "canonical_all_providers.json"
    }
  ],
  "unmatched_inputs": []
}