Molde II vs Aalesund II Statistics & Analysis

Sep 07, 2026 - 16:00
3 1.31
2 1.29
xG Accuracy: 52%
Casa de apuestas premium stake: los nuevos usuarios pueden usar el código promoFHn2uDc1 FHn2uDc1. Registrarse

Mercados rastreados versus resultado de tiempo completo

Cada fila compara el modelo previo al partido con el resultado de tiempo completo.

  • Mercado Predicción Resultado Resultado
  • Más / Menos 2.5 Menos de 2.5 Más de 2.5 (5 objetivos) ✖ Incorrecto
  • Ambos Equipos Marcarán BTTS No Sí ✖ Incorrecto
  • 1X2 Molde II Molde II ✔ Correcto
  • Perspectivas de marcador exacto 1-1, 1-0, 0-1, 2-1, 1-2 3-2 ✖ Incorrecto

Validation Report

Immutable Snapshot

Prediction Time: Sep 01, 2026 · 02:21 UTC Snapshot ID: dp-6472858

Closing Odds 2.06
AI Fair Odds —
CLV +0.0%
Final Result Molde II win · Molde II 3–2 Aalesund II
Prediction ✔ Correct
Decision Grade F

Model Performance

This prediction contributes to:

  • Primary Bets ROI (180d): -100.0%

Inteligencia de mercado

Lectura de apoyo tras la elección principal: cómo se movió el feed de cierre priorizado frente al modelo.

Briefing de mercado

El mercado se mantuvo estable antes del inicio. No se detectó un cambio implícito relevante entre PRE30 y PRE1 en la captura priorizada.

A pesar del movimiento tardío limitado, el modelo sigue tasando Dibujar (1X2) claramente por encima de lo implícito en esas capturas de cierre: es una lectura estática de «modelo vs precio», no de persecución tardía.

El modelo aún supera la implícita de cierre en Dibujar (1X2) en unos 6.7 puntos porcentuales — la señal de desajuste más clara de esta página.

Modelo vs implícita de cierre

Mercado Modelo % Implícita cierre % Brecha (pp)
Molde II (1X2) 35.6 34.9 +0.7
Dibujar (1X2) 29.7 23.0 +6.7
Aalesund II (1X2) 34.7 42.1 -7.4
Qué significa

En simple: el modelo ronda el 29.7% en Dibujar (1X2), mientras la captura de cierre implicaba unos 23.0%. La diferencia —unos 6.7 puntos porcentuales— es la mayor brecha modelo-mercado destacada aquí.

Definiciones rápidas: «implícita de cierre» es la probabilidad implícita en las cuotas finales capturadas (tras un de-vig simple). «Brecha (pp)» = porcentaje del modelo menos esa implícita, en puntos porcentuales (pp).

Movimiento de cuota antes del inicio

Una casa prioritaria por instantáneo (no todas). Ruta de capturas: PRE30 → PRE1 · Casa: Pinnacle

Entre paréntesis en columnas: Cierre = primera captura disponible en PRE1→PRE5→PRE10→PRE30; Temprano = primera en PRE30→PRE10→PRE5 distinta de Cierre.

Las cuotas detalladas están plegadas abajo — el movimiento implícito fue insignificante.

Ver tabla completa línea a línea
Mercado Temprano (PRE30) Cierre (PRE1) Δ implícita (pp)
Molde II (1X2) 2.49 2.49 0.0
Dibujar (1X2) 3.77 3.77 0.0
Aalesund II (1X2) 2.06 2.06 0.0

El informe IA aún no está disponible para este partido. Vuelva a ejecutar «Generación masiva de cuotas» tras actualizar el servidor para generar el resumen.

View technical JSON
{
  "bundle_version": 1,
  "content_hash": "d1c253bab3cf275400c02a4da7e7e6700dd095ab485679a923d23fffd12a5ec4",
  "decision_algo_version": "2.5.0",
  "facts": {
    "ai_fp": {
      "away_predicted_xg": 1.29,
      "away_win_prob": 0.347,
      "away_win_prob_posterior": null,
      "bayes_applied": 0,
      "btts_no_prob": 0.455,
      "btts_yes_prob": 0.546,
      "dc_rho": -0.13,
      "draw_prob": 0.2965,
      "draw_prob_posterior": null,
      "fair_odds_away": 2.88,
      "fair_odds_away_posterior": null,
      "fair_odds_draw": 3.37,
      "fair_odds_draw_posterior": null,
      "fair_odds_home": 2.81,
      "fair_odds_home_posterior": null,
      "home_predicted_xg": 1.31,
      "home_win_prob": 0.3564,
      "home_win_prob_posterior": null,
      "over_25_prob": 0.482,
      "prediction_confidence": "very_low",
      "under_25_prob": 0.518
    },
    "api_prediction": {
      "advice": "Combo Double chance : Molde II or draw and +2.5 goals",
      "main_pick_display": "No Strong Winner Bet",
      "percent_away": "30%",
      "percent_draw": "35%",
      "percent_home": "35%",
      "winner_name": "Molde II"
    },
    "away_xg": 1.29,
    "betting_insight": {
      "bet_label": "Molde II",
      "confidence": null,
      "main_pick_meta": {
        "confidence": "low",
        "display_text": "No Strong Winner Bet",
        "edge": 0.0074,
        "edge_gap": 0.0087,
        "market": "1X2",
        "market_prob": 0.3485,
        "model_prob": 0.3559,
        "pick_type": "no_strong",
        "probabilities": {
          "away": 34.7,
          "draw": 29.7,
          "home": 35.6
        },
        "reason": "No clear edge in 1X2 market",
        "selection": null,
        "selection_name": null
      },
      "market_comparison": [
        {
          "affi_link": "",
          "bookmaker_name": "Pinnacle",
          "odd": 2.49
        }
      ],
      "risk_color": null,
      "risk_key": null,
      "stacked_market": null,
      "value_bet": {
        "best_odds": 2.49,
        "bookmaker_id": 0,
        "bookmaker_name": "Pinnacle",
        "display_market": "Molde II Win",
        "is_value": false,
        "label": "Home",
        "market_fair_odds": 2.87,
        "market_odds": 2.49,
        "model_odds": 2.81,
        "overround": 15.2,
        "prob_edge": -4.6,
        "value_pct": -11.4,
        "value_rating": "no_value"
      }
    },
    "betting_markets": {
      "btts": {
        "away_clean_sheet": 3,
        "away_failed_to_score": 3,
        "away_played": 16,
        "away_score_rate": 72.5,
        "home_clean_sheet": 2,
        "home_failed_to_score": 4,
        "home_played": 17,
        "home_score_rate": 73.0,
        "no_prob": 45.5,
        "pick": "No",
        "pick_prob": 54.5,
        "source": "xG_dc",
        "strong_pick": true,
        "yes_prob": 54.5
      },
      "correct_score": {
        "away_expected": 1.29,
        "home_expected": 1.31,
        "scores": [
          {
            "away": 1,
            "home": 1,
            "label": "1-1",
            "prob": 12.6
          },
          {
            "away": 0,
            "home": 1,
            "label": "1-0",
            "prob": 9.7
          },
          {
            "away": 1,
            "home": 0,
            "label": "0-1",
            "prob": 9.6
          },
          {
            "away": 1,
            "home": 2,
            "label": "2-1",
            "prob": 8.2
          },
          {
            "away": 2,
            "home": 1,
            "label": "1-2",
            "prob": 8.1
          }
        ],
        "source": "xG"
      },
      "double_chance": {
        "options": [
          {
            "key": "1X",
            "label": "Molde II or Draw",
            "prob": 65.2
          },
          {
            "key": "12",
            "label": "Molde II or Aalesund II",
            "prob": 70.3
          },
          {
            "key": "X2",
            "label": "Draw or Aalesund II",
            "prob": 64.3
          }
        ],
        "pick_key": "12",
        "pick_label": "Molde II or Aalesund II",
        "pick_prob": 70.3
      },
      "match_winner": {
        "away_pct": 34.7,
        "draw_pct": 29.6,
        "home_pct": 35.6,
        "lean_key": "home",
        "lean_label": "Molde II"
      },
      "over_under": {
        "api_hint": "+2.5",
        "avg_total": 2.6,
        "away_avg_scored": 1.8,
        "confidence": "low",
        "home_avg_scored": 2.8,
        "over_prob": 48.2,
        "pick": "Under 2.5",
        "pick_prob": 51.8,
        "source": "xG_dc",
        "strong_pick": true,
        "total_expected": 2.6,
        "under_prob": 51.8
      },
      "prob_source": "poisson",
      "value_bet_enhanced": {
        "bookmaker_id": 0,
        "bookmaker_name": "Pinnacle",
        "edge": 11.6,
        "implied_prob": 26.5,
        "is_value": true,
        "label": "Draw",
        "market": "Draw",
        "model_prob": 29.6,
        "odds": 3.77
      }
    },
    "closing_line_bundle": {
      "away_team": "Aalesund II",
      "closing_1x2_probs_pct": {
        "away": 42.13,
        "draw": 23.02,
        "home": 34.85
      },
      "closing_bookmaker": "Pinnacle",
      "closing_capture": "PRE1",
      "closing_fetched_at": "2026-09-07 15:59:24",
      "early_bookmaker": "Pinnacle",
      "early_capture": "PRE30",
      "early_fetched_at": "2026-09-07 15:29:41",
      "has_data": true,
      "home_team": "Molde II",
      "largest_move_kind": null,
      "max_abs_move_pp": 0.0,
      "model_vs_closing": [
        {
          "closing_implied_pct": 34.85,
          "gap_pp": 0.74,
          "kind": "1x2_h",
          "model_pct": 35.59
        },
        {
          "closing_implied_pct": 23.02,
          "gap_pp": 6.66,
          "kind": "1x2_d",
          "model_pct": 29.68
        },
        {
          "closing_implied_pct": 42.13,
          "gap_pp": -7.4,
          "kind": "1x2_a",
          "model_pct": 34.73
        }
      ],
      "movement": [
        {
          "closing": 2.49,
          "early": 2.49,
          "implied_closing_pct": 34.85,
          "implied_delta_pp": 0.0,
          "implied_early_pct": 34.85,
          "kind": "1x2_h"
        },
        {
          "closing": 3.77,
          "early": 3.77,
          "implied_closing_pct": 23.02,
          "implied_delta_pp": 0.0,
          "implied_early_pct": 23.02,
          "kind": "1x2_d"
        },
        {
          "closing": 2.06,
          "early": 2.06,
          "implied_closing_pct": 42.13,
          "implied_delta_pp": 0.0,
          "implied_early_pct": 42.13,
          "kind": "1x2_a"
        }
      ],
      "movement_negligible": true,
      "same_bookmaker": true,
      "top_value_gap": {
        "gap_pp": 6.7,
        "kind": "1x2_d"
      }
    },
    "correct_score_insight": {
      "best_value": null,
      "lean_card": {
        "diff_pp": 4.9,
        "ev": 0.638,
        "has_edge": true,
        "label": "1-1",
        "market_odds": 13.0,
        "market_prob": 0.0769,
        "market_prob_pct": 7.7,
        "model_prob": 0.126,
        "model_prob_pct": 12.6,
        "n_bookmakers": 5,
        "status_key": "positive_edge"
      },
      "most_likely": {
        "label": "1-1",
        "prob": 12.6
      },
      "top5": [
        {
          "label": "1-1",
          "prob": 12.6
        },
        {
          "label": "1-0",
          "prob": 9.7
        },
        {
          "label": "0-1",
          "prob": 9.6
        },
        {
          "label": "2-1",
          "prob": 8.2
        },
        {
          "label": "1-2",
          "prob": 8.1
        }
      ]
    },
    "home_xg": 1.31,
    "homepage_pick": null,
    "market_cards": [
      {
        "decision": "value_bet",
        "decision_layer": {
          "alpha": 0.08,
          "available": true,
          "consensus_odds": 4.35,
          "edge": 0.0248,
          "edge_pp": 2.5,
          "market_prob": 0.2077,
          "mode": "market_first_ou",
          "model_prob": 0.518,
          "n_bookmakers": 3,
          "over": {
            "alpha": 0.1323,
            "best_odd": 1.14,
            "edge": -0.0411,
            "ev": -0.1435,
            "implied_prob": 0.7923,
            "model_prob": 0.482,
            "p_final": 0.7513
          },
          "p_final": 0.2325,
          "prediction_confidence": "very_low",
          "raw_edge_pp": 31.0,
          "raw_signal_ev": 1.2533,
          "risk_adj_ev": 0.0113,
          "under": {
            "alpha": 0.08,
            "best_odd": 4.35,
            "edge": 0.0248,
            "ev": 0.0113,
            "implied_prob": 0.2077,
            "model_prob": 0.518,
            "p_final": 0.2325
          },
          "value_side": "under"
        },
        "ev_available": true,
        "ev_over": -0.4216,
        "ev_over_display": {
          "capped": false,
          "raw_pct": -42.2,
          "text": "-42.2%"
        },
        "ev_under": 1.2533,
        "ev_under_display": {
          "capped": true,
          "raw_pct": 125.3,
          "text": "+25%+"
        },
        "featured": true,
        "id": "ou_2_5",
        "max_ev": 1.2533,
        "n_bookmakers": 3,
        "over_prob": 48.2,
        "sort_key": 11277.97,
        "tier": "best",
        "under_prob": 51.8,
        "value_side": "under"
      },
      {
        "decision": "value_bet",
        "decision_layer": {
          "alpha": 0.0804,
          "available": true,
          "consensus_odds": 3.46,
          "edge": 0.0153,
          "edge_pp": 1.5,
          "market_prob": 0.2646,
          "mode": "market_first_btts",
          "model_prob": 0.455,
          "n_bookmakers": 4,
          "no": {
            "alpha": 0.0804,
            "best_odd": 3.46,
            "edge": 0.0153,
            "ev": -0.0315,
            "implied_prob": 0.2646,
            "model_prob": 0.455,
            "p_final": 0.2799
          },
          "p_final": 0.2799,
          "prediction_confidence": "very_low",
          "raw_edge_pp": 19.0,
          "raw_signal_ev": 0.5743,
          "risk_adj_ev": -0.0315,
          "value_side": "no",
          "yes": {
            "alpha": 0.1768,
            "best_odd": 1.245,
            "edge": -0.0337,
            "ev": -0.1264,
            "implied_prob": 0.7354,
            "model_prob": 0.545,
            "p_final": 0.7017
          }
        },
        "ev_available": true,
        "ev_no": 0.6016,
        "ev_no_display": {
          "capped": true,
          "raw_pct": 60.2,
          "text": "+25%+"
        },
        "ev_yes": -0.3187,
        "ev_yes_display": {
          "capped": false,
          "raw_pct": -31.9,
          "text": "-31.9%"
        },
        "featured": false,
        "id": "btts",
        "max_ev": 0.6016,
        "n_bookmakers": 4,
        "no_prob": 45.5,
        "sort_key": 10541.44,
        "tier": "best",
        "value_side": "no",
        "yes_prob": 54.5
      },
      {
        "authority_action": "no_bet",
        "authority_note": "No tracked consensus line clears the default +EV bar.",
        "consensus_odds": 2.49,
        "decision": "no_bet",
        "disagreement_label": "Normal",
        "disagreement_level": "normal",
        "ev": -0.124,
        "ev_available": true,
        "ev_display": {
          "capped": false,
          "raw_pct": -12.4,
          "text": "-12.4%"
        },
        "featured": false,
        "id": "1x2",
        "implied_prob": 0.3485,
        "is_extreme_disagreement": false,
        "max_ev": -0.0644,
        "max_ev_display": {
          "capped": false,
          "raw_pct": -6.4,
          "text": "-6.4%"
        },
        "model_prob": 0.3559,
        "raw_edge_display": "+0.7 percentage points",
        "raw_edge_pp": 0.7,
        "raw_signal_ev": -0.1138,
        "raw_signal_ev_display": "-11.4%",
        "show_primary_label": false,
        "side_label": "Molde II",
        "sort_key": 1783.9,
        "tier": "bad_ev"
      },
      {
        "featured": false,
        "id": "correct_score",
        "sort_key": 817.8,
        "tier": "risk",
        "top_label": "1-1",
        "top_prob": 12.6
      }
    ],
    "market_intelligence": {
      "betting_signal": {
        "alert_breadth": "4/6",
        "alert_breadth_note": "4/6 sportsbooks confirmed",
        "alert_move": "\u2191 +16.9%",
        "alert_team": "Aalesund II",
        "alert_title": "Sharp Money Alert",
        "divergence_pp": 7.4,
        "has_alert": true,
        "hero_edge_pp": -7.43,
        "hero_label": "Aalesund II",
        "market_prob_pct": 34.9,
        "market_team": "Aalesund II",
        "model_prob_pct": 35.6,
        "model_team": "Molde II",
        "show": true,
        "status_icon": "\u2713",
        "status_key": "aligned",
        "status_label": "Reliable prediction",
        "status_line": "Direction aligned; check pricing gap separately",
        "steam_score": 63,
        "steam_subtitle": "Strong sharp signal",
        "steam_tier": "A",
        "title": "Betting Signal"
      },
      "decision_chain": {
        "academy_links": [
          {
            "key": "steam",
            "read_min": 4,
            "title": "What Is a Steam Move?",
            "url": "/academy/betting-market/what-is-a-steam-move/en"
          },
          {
            "key": "clv_pending",
            "read_min": 3,
            "title": "Why CLV Matters More Than Win Rate",
            "url": "/academy/clv/why-clv-matters-more-than-win-rate/en"
          }
        ],
        "alignment": {
          "direction_aligned": false,
          "direction_key": "conflict",
          "gap_pp": 7.4,
          "key": "agree",
          "label": "Agree",
          "model_strong": false,
          "pricing_aligned": true,
          "pricing_key": "moderate",
          "probability_gap_pp": 7.4,
          "summary": "Model and market currently agree on the stronger side (Molde II)."
        },
        "authority": {
          "action": "no_bet",
          "alignment": {
            "direction_aligned": false,
            "direction_key": "conflict",
            "gap_pp": 7.4,
            "key": "agree",
            "label": "Agree",
            "model_strong": false,
            "pricing_aligned": true,
            "pricing_key": "moderate",
            "probability_gap_pp": 7.4,
            "summary": "Model and market currently agree on the stronger side (Molde II)."
          },
          "alignment_key": "agree",
          "best_consensus_ev": 0.012533,
          "best_outlier_ev": 0.012533,
          "confidence_band": "Moderate\u2013Low",
          "decision_strength": 4.9,
          "decision_strength_v1": 6.5,
          "decision_strength_v2": 6.9,
          "decision_type": "NO_SIGNAL",
          "execution_confidence": 89,
          "extreme_disagreement": false,
          "final_verdict_audit": {
            "action": "Monitor closing market and validate with CLV.",
            "action_label": "Action",
            "decision": "No Primary Bet",
            "is_primary": false,
            "snapshot": "The Decision Model estimates Molde II at 35.6%, compared with a no-vig market probability of 34.8%.",
            "why": [
              {
                "text": "Decision Model identifies Molde II as the value side (35.6%)",
                "tone": "ok"
              },
              {
                "text": "Market broadly agrees with the direction",
                "tone": "ok"
              },
              {
                "text": "Edge does not clear Primary threshold",
                "tone": "bad"
              },
              {
                "text": "Model confidence reduced due to calibration uncertainty",
                "tone": "bad"
              }
            ],
            "why_label": "Decision Summary"
          },
          "gap_pp": 0.7,
          "gates_failed": [
            "No consensus-line +EV at Primary threshold"
          ],
          "has_top_pick": true,
          "headline": "No Primary Bet",
          "hero_mode": "default",
          "icon": "\u25cb",
          "label": "No Primary Bet",
          "market_signal": "Market aligns with model lean",
          "model_conflict_detail": null,
          "model_lean": "Molde II",
          "no_primary_reasons": {
            "all_triggered": [
              "edge_low",
              "calibration_risk"
            ],
            "calibration_mode": "soft",
            "codes": [
              "edge_low",
              "calibration_risk"
            ],
            "label": "Reason",
            "other_factors": [
              {
                "code": "calibration_risk",
                "detail": "Confidence reduced because model assumptions exceed the normal range.",
                "name": "Calibration Risk",
                "short": "Calibration Risk",
                "tone": "danger"
              }
            ],
            "other_label": "Other factors",
            "primary": {
              "code": "edge_low",
              "detail": "The estimated edge does not meet the Primary threshold.",
              "name": "Edge Below Threshold",
              "short": "Edge Below Threshold",
              "tone": "neutral"
            },
            "secondary": {
              "code": "calibration_risk",
              "detail": "Confidence reduced because model assumptions exceed the normal range.",
              "name": "Calibration Risk",
              "short": "Calibration Risk",
              "tone": "danger"
            },
            "version": "v1"
          },
          "outlier_detected": false,
          "outlier_excluded_panel": "",
          "primary_allowed": false,
          "primary_block_explain": {
            "entries": [
              {
                "key": "weak_ev",
                "label": "Consensus EV +1.3% \u003c Primary gate +5.0% (Lean gate +2.0% is separate \u2014 not Primary)",
                "ok": false
              },
              {
                "key": "gate",
                "label": "No consensus-line +EV at Primary threshold",
                "ok": false
              }
            ],
            "lean_ev_threshold_pct": 2.0,
            "primary_ev_threshold_pct": 5.0,
            "subtitle": "Primary needs consensus EV \u2265 +5.0% plus reliability/execution/calibration gates (Decision Strength is explain-only). Lean/tracked gate is +2.0% (selective only \u2014 not default Primary sizing).",
            "title": "Why not Primary?"
          },
          "primary_gate_checklist": "Gate checklist: Consensus EV +1.3% \u274c (need \u2265+5.0%) \u00b7 Calibration See checklist \u274c \u2192 Primary blocked. Decision Strength 4.9/10 (explain only, not a Primary gate). If you still act under hard block: example stake 0.10\u20130.20% bankroll (never Primary).",
          "primary_gate_snapshot": "Primary Gate Snapshot: Consensus EV +1.3% (gate \u2265+5.0%) \u00b7 Calibration: See checklist \u2192 Primary blocked \u00b7 Decision Strength 4.9/10 (display only)",
          "primary_gates": {
            "items": [
              {
                "key": "extreme_gap",
                "label": "Extreme gap",
                "ok": true,
                "value": "no"
              },
              {
                "key": "xg_calibration",
                "label": "xG calibration",
                "ok": true,
                "value": "warning"
              },
              {
                "key": "reliability",
                "label": "Rel",
                "ok": true,
                "value": "85 (\u226565)"
              },
              {
                "key": "execution",
                "label": "Exec",
                "ok": true,
                "value": "89 (\u226565)"
              },
              {
                "key": "alignment",
                "label": "Align",
                "ok": true,
                "value": "agree"
              },
              {
                "key": "consensus_ev",
                "label": "ConsEV",
                "ok": false,
                "value": "+1.3% (\u2265+5.0%)"
              },
              {
                "key": "top_pick",
                "label": "Pick",
                "ok": true,
                "value": "true"
              },
              {
                "key": "validation",
                "label": "Validation",
                "ok": true,
                "value": "true"
              }
            ],
            "passed": 7,
            "total": 8
          },
          "primary_type": null,
          "reasons": [
            "Model and market currently agree on the stronger side (Molde II).",
            "Decision strength: 4.9/10",
            "No consensus-line +EV at Primary threshold"
          ],
          "reliability_score": 85,
          "speed_read": "Speed read: Model Signal can look moderate/strong while Decision Strength stays low after calibration \u2014 Strength alone does not block Primary (v2.5+); still check reliability/execution/EV hard gates.",
          "strength_v2_breakdown": [
            "Base decision score (v1)",
            "Reliability supports action",
            "Market aligns with model",
            "Low xG separation (league-average noise)"
          ],
          "subline": "No tracked consensus line clears the default +EV bar.",
          "thresholds": {
            "extreme_gap_pp": 30.0,
            "lean_min_consensus_ev": 0.02,
            "lean_min_strength": 5.0,
            "min_consensus_ev": 0.05,
            "min_execution": 65,
            "min_reliability": 65,
            "min_strength": 7.0,
            "source": "db",
            "user_id": 2
          },
          "thresholds_source": "db",
          "thresholds_user_id": 2,
          "tier": "observe",
          "validation_ok": true,
          "value_context": {
            "consensus_ev": -0.124,
            "consensus_ev_display": "-12.4%",
            "consensus_odds": 2.49,
            "disagreement_label": "Normal",
            "disagreement_level": "normal",
            "implied_prob": 0.3485,
            "is_extreme_disagreement": false,
            "model_prob": 0.3559,
            "raw_edge_display": "+0.7 percentage points",
            "raw_edge_pp": 0.7,
            "raw_implied_prob": 0.4016064257028112,
            "raw_signal_ev": -0.1138,
            "raw_signal_ev_display": "-11.4%"
          },
          "version": "v2.5",
          "xg_calibration": {
            "block_value_alert": true,
            "calibration_status": "warning",
            "deviation_pct": -3.0,
            "reasons": [
              "Low xG separation gap=0.02 (noise / no edge)"
            ],
            "recommended_action": "monitor",
            "strength_delta": -2.0,
            "uplift_away": null,
            "uplift_home": null,
            "xg_separation": {
              "band": "flat",
              "block_value_alert": true,
              "separation_score": -20,
              "strength_delta": -2.0,
              "xg_gap": 0.02
            }
          }
        },
        "bet_status": "no_bet",
        "books_breadth_display": "4/6",
        "breadth_ratio": 0.6666666666666666,
        "evidence": {
          "score": 78,
          "signals": [
            {
              "icon": "\u25cb",
              "key": "statistical_edge",
              "label": "No strong statistical edge",
              "status": "neutral"
            },
            {
              "icon": "\u2713",
              "key": "market_agreement",
              "label": "Direction agrees with model lean",
              "status": "pass"
            },
            {
              "icon": "\u2713",
              "key": "steam",
              "label": "Market drift supports model side (direction only \u2014 not pricing convergence)",
              "status": "pass"
            },
            {
              "icon": "\u2713",
              "key": "validation",
              "label": "Validation passed",
              "status": "pass"
            }
          ],
          "stars": 4,
          "tier": "high",
          "tier_label": "High"
        },
        "forecast_reliability": {
          "breakdown": [
            {
              "key": "validation",
              "label": "Validation: Pass",
              "tone": "ok"
            },
            {
              "key": "steam",
              "label": "Market drift aligns with model",
              "tone": "ok"
            }
          ],
          "parts": {
            "alignment": 21.3,
            "data_quality": 12.0,
            "market_coverage": 6.7,
            "steam_coherence": 10.0,
            "validation": 30.0
          },
          "score": 85,
          "stars": 4,
          "tier": "high",
          "tier_label": "High"
        },
        "lean_gap_pp": 7.43,
        "market_agreement": "moderate",
        "max_gap_pp": 7.43,
        "model_calibration": {
          "away_xg": 1.29,
          "calibration_status": "ok",
          "deviation_pct": -3.0,
          "elevated": false,
          "home_xg": 1.31,
          "impact_note": "",
          "league_avg_xg": 1.35,
          "peak_xg": 1.31,
          "status_label": "Within typical league range",
          "summary": "Home xG 1.31 \u00b7 Away xG 1.29 \u00b7 League avg 1.35 \u00b7 Peak deviation -3%",
          "title": "Model Calibration Check"
        },
        "move_is_drift": true,
        "mv_status": "pass",
        "odds_delta_pct": 16.9,
        "steam_conflicts": false,
        "steam_move_display": "\u2191 +16.9%",
        "steam_team": "Aalesund II",
        "suppress_execution": false,
        "value_split": {
          "execution_confidence": {
            "label": "Betting Confidence",
            "score": 89,
            "tier": "high",
            "tier_label": "High"
          },
          "market_compatibility": {
            "label": "Market Compatibility",
            "note": "Price proximity vs model (inverse of pp gap) \u2014 not the same as a Primary go-ahead. Read alongside Decision Strength and Alignment.",
            "score": 96,
            "tier": "high",
            "tier_label": "High"
          },
          "model_edge_strength": {
            "label": "Model Signal Strength",
            "score": 35,
            "tier": "low",
            "tier_label": "Low"
          },
          "model_value": {
            "label": "Market Compatibility",
            "note": "Price proximity vs model (inverse of pp gap) \u2014 not the same as a Primary go-ahead. Read alongside Decision Strength and Alignment.",
            "score": 96,
            "tier": "high",
            "tier_label": "High"
          },
          "recommendation": {
            "action": "no_bet",
            "label": "No Primary Bet"
          }
        },
        "verdict": {
          "agree_note": "No tracked consensus line clears the default +EV bar.",
          "alignment": {
            "direction_aligned": false,
            "direction_key": "conflict",
            "gap_pp": 7.4,
            "key": "agree",
            "label": "Agree",
            "model_strong": false,
            "pricing_aligned": true,
            "pricing_key": "moderate",
            "probability_gap_pp": 7.4,
            "summary": "Model and market currently agree on the stronger side (Molde II)."
          },
          "authority": {
            "action": "no_bet",
            "alignment": {
              "direction_aligned": false,
              "direction_key": "conflict",
              "gap_pp": 7.4,
              "key": "agree",
              "label": "Agree",
              "model_strong": false,
              "pricing_aligned": true,
              "pricing_key": "moderate",
              "probability_gap_pp": 7.4,
              "summary": "Model and market currently agree on the stronger side (Molde II)."
            },
            "alignment_key": "agree",
            "best_consensus_ev": 0.012533,
            "best_outlier_ev": 0.012533,
            "confidence_band": "Moderate\u2013Low",
            "decision_strength": 4.9,
            "decision_strength_v1": 6.5,
            "decision_strength_v2": 6.9,
            "decision_type": "NO_SIGNAL",
            "execution_confidence": 89,
            "extreme_disagreement": false,
            "final_verdict_audit": {
              "action": "Monitor closing market and validate with CLV.",
              "action_label": "Action",
              "decision": "No Primary Bet",
              "is_primary": false,
              "snapshot": "The Decision Model estimates Molde II at 35.6%, compared with a no-vig market probability of 34.8%.",
              "why": [
                {
                  "text": "Decision Model identifies Molde II as the value side (35.6%)",
                  "tone": "ok"
                },
                {
                  "text": "Market broadly agrees with the direction",
                  "tone": "ok"
                },
                {
                  "text": "Edge does not clear Primary threshold",
                  "tone": "bad"
                },
                {
                  "text": "Model confidence reduced due to calibration uncertainty",
                  "tone": "bad"
                }
              ],
              "why_label": "Decision Summary"
            },
            "gap_pp": 0.7,
            "gates_failed": [
              "No consensus-line +EV at Primary threshold"
            ],
            "has_top_pick": true,
            "headline": "No Primary Bet",
            "hero_mode": "default",
            "icon": "\u25cb",
            "label": "No Primary Bet",
            "market_signal": "Market aligns with model lean",
            "model_conflict_detail": null,
            "model_lean": "Molde II",
            "no_primary_reasons": {
              "all_triggered": [
                "edge_low",
                "calibration_risk"
              ],
              "calibration_mode": "soft",
              "codes": [
                "edge_low",
                "calibration_risk"
              ],
              "label": "Reason",
              "other_factors": [
                {
                  "code": "calibration_risk",
                  "detail": "Confidence reduced because model assumptions exceed the normal range.",
                  "name": "Calibration Risk",
                  "short": "Calibration Risk",
                  "tone": "danger"
                }
              ],
              "other_label": "Other factors",
              "primary": {
                "code": "edge_low",
                "detail": "The estimated edge does not meet the Primary threshold.",
                "name": "Edge Below Threshold",
                "short": "Edge Below Threshold",
                "tone": "neutral"
              },
              "secondary": {
                "code": "calibration_risk",
                "detail": "Confidence reduced because model assumptions exceed the normal range.",
                "name": "Calibration Risk",
                "short": "Calibration Risk",
                "tone": "danger"
              },
              "version": "v1"
            },
            "outlier_detected": false,
            "outlier_excluded_panel": "",
            "primary_allowed": false,
            "primary_block_explain": {
              "entries": [
                {
                  "key": "weak_ev",
                  "label": "Consensus EV +1.3% \u003c Primary gate +5.0% (Lean gate +2.0% is separate \u2014 not Primary)",
                  "ok": false
                },
                {
                  "key": "gate",
                  "label": "No consensus-line +EV at Primary threshold",
                  "ok": false
                }
              ],
              "lean_ev_threshold_pct": 2.0,
              "primary_ev_threshold_pct": 5.0,
              "subtitle": "Primary needs consensus EV \u2265 +5.0% plus reliability/execution/calibration gates (Decision Strength is explain-only). Lean/tracked gate is +2.0% (selective only \u2014 not default Primary sizing).",
              "title": "Why not Primary?"
            },
            "primary_gate_checklist": "Gate checklist: Consensus EV +1.3% \u274c (need \u2265+5.0%) \u00b7 Calibration See checklist \u274c \u2192 Primary blocked. Decision Strength 4.9/10 (explain only, not a Primary gate). If you still act under hard block: example stake 0.10\u20130.20% bankroll (never Primary).",
            "primary_gate_snapshot": "Primary Gate Snapshot: Consensus EV +1.3% (gate \u2265+5.0%) \u00b7 Calibration: See checklist \u2192 Primary blocked \u00b7 Decision Strength 4.9/10 (display only)",
            "primary_gates": {
              "items": [
                {
                  "key": "extreme_gap",
                  "label": "Extreme gap",
                  "ok": true,
                  "value": "no"
                },
                {
                  "key": "xg_calibration",
                  "label": "xG calibration",
                  "ok": true,
                  "value": "warning"
                },
                {
                  "key": "reliability",
                  "label": "Rel",
                  "ok": true,
                  "value": "85 (\u226565)"
                },
                {
                  "key": "execution",
                  "label": "Exec",
                  "ok": true,
                  "value": "89 (\u226565)"
                },
                {
                  "key": "alignment",
                  "label": "Align",
                  "ok": true,
                  "value": "agree"
                },
                {
                  "key": "consensus_ev",
                  "label": "ConsEV",
                  "ok": false,
                  "value": "+1.3% (\u2265+5.0%)"
                },
                {
                  "key": "top_pick",
                  "label": "Pick",
                  "ok": true,
                  "value": "true"
                },
                {
                  "key": "validation",
                  "label": "Validation",
                  "ok": true,
                  "value": "true"
                }
              ],
              "passed": 7,
              "total": 8
            },
            "primary_type": null,
            "reasons": [
              "Model and market currently agree on the stronger side (Molde II).",
              "Decision strength: 4.9/10",
              "No consensus-line +EV at Primary threshold"
            ],
            "reliability_score": 85,
            "speed_read": "Speed read: Model Signal can look moderate/strong while Decision Strength stays low after calibration \u2014 Strength alone does not block Primary (v2.5+); still check reliability/execution/EV hard gates.",
            "strength_v2_breakdown": [
              "Base decision score (v1)",
              "Reliability supports action",
              "Market aligns with model",
              "Low xG separation (league-average noise)"
            ],
            "subline": "No tracked consensus line clears the default +EV bar.",
            "thresholds": {
              "extreme_gap_pp": 30.0,
              "lean_min_consensus_ev": 0.02,
              "lean_min_strength": 5.0,
              "min_consensus_ev": 0.05,
              "min_execution": 65,
              "min_reliability": 65,
              "min_strength": 7.0,
              "source": "db",
              "user_id": 2
            },
            "thresholds_source": "db",
            "thresholds_user_id": 2,
            "tier": "observe",
            "validation_ok": true,
            "value_context": {
              "consensus_ev": -0.124,
              "consensus_ev_display": "-12.4%",
              "consensus_odds": 2.49,
              "disagreement_label": "Normal",
              "disagreement_level": "normal",
              "implied_prob": 0.3485,
              "is_extreme_disagreement": false,
              "model_prob": 0.3559,
              "raw_edge_display": "+0.7 percentage points",
              "raw_edge_pp": 0.7,
              "raw_implied_prob": 0.4016064257028112,
              "raw_signal_ev": -0.1138,
              "raw_signal_ev_display": "-11.4%"
            },
            "version": "v2.5",
            "xg_calibration": {
              "block_value_alert": true,
              "calibration_status": "warning",
              "deviation_pct": -3.0,
              "reasons": [
                "Low xG separation gap=0.02 (noise / no edge)"
              ],
              "recommended_action": "monitor",
              "strength_delta": -2.0,
              "uplift_away": null,
              "uplift_home": null,
              "xg_separation": {
                "band": "flat",
                "block_value_alert": true,
                "separation_score": -20,
                "strength_delta": -2.0,
                "xg_gap": 0.02
              }
            }
          },
          "headline": "No Primary Bet",
          "icon": "\u25cb",
          "label": "No Primary Bet",
          "subline": "No tracked consensus line clears the default +EV bar.",
          "tier": "observe"
        },
        "why": {
          "action_line": "Compare model lean with current best odds before sizing any bet.",
          "bullets": [
            "Model: Molde II 1.31 xG vs Aalesund II 1.29 \u2192 Molde II 35.6%",
            "Market: Aalesund II ~34.9% implied",
            "Market Drift: Aalesund II odds \u2191 +16.9%"
          ],
          "one_liner": "Model and market both lean Molde II with no major conflict.",
          "title": "Why?"
        }
      },
      "edge_rows": [
        {
          "edge_pp": 0.79,
          "fair_prob": 35.64,
          "label": "Molde II",
          "market_prob": 34.85,
          "market_type": "1x2",
          "outcome": "home"
        },
        {
          "edge_pp": 6.63,
          "fair_prob": 29.65,
          "label": "Draw",
          "market_prob": 23.02,
          "market_type": "1x2",
          "outcome": "draw"
        },
        {
          "edge_pp": -7.43,
          "fair_prob": 34.7,
          "label": "Aalesund II",
          "market_prob": 42.13,
          "market_type": "1x2",
          "outcome": "away"
        },
        {
          "edge_pp": -30.72,
          "fair_prob": 48.2,
          "label": "Over 2.5",
          "market_prob": 78.92,
          "market_type": "ou25",
          "outcome": "over"
        },
        {
          "edge_pp": 30.72,
          "fair_prob": 51.8,
          "label": "Under 2.5",
          "market_prob": 21.08,
          "market_type": "ou25",
          "outcome": "under"
        },
        {
          "edge_pp": -18.9,
          "fair_prob": 54.5,
          "label": "BTTS Yes",
          "market_prob": 73.4,
          "market_type": "btts",
          "outcome": "yes"
        },
        {
          "edge_pp": 18.9,
          "fair_prob": 45.5,
          "label": "BTTS No",
          "market_prob": 26.6,
          "market_type": "btts",
          "outcome": "no"
        }
      ],
      "edge_snapshot": {
        "edge_label": "mild_disagreement",
        "edge_pp": -7.43,
        "fair_prob_pct": 34.7,
        "hero_side": "away",
        "hero_team_name": "Aalesund II",
        "market_prob_pct": 42.13,
        "status": "market_ahead",
        "steam_team_name": "Aalesund II"
      },
      "fair_source": "poisson_pipeline",
      "fair_vs_market": {
        "closing_capture": "PRE1",
        "closing_footnote": "Model probabilities are generated from the statistical xG model using a Poisson distribution. Closing market probabilities are derived from consensus closing 1X2 odds after margin removal. Values represent implied probabilities rather than betting recommendations. Closing snapshot: PRE1.",
        "comparison_available": true,
        "comparison_disabled": false,
        "comparison_summary": "The closing market estimates Aalesund II\u0027s win probability at 42.1%, compared with the model\u0027s estimate of 34.7%, a difference of 7.4 percentage points. This highlights a disagreement between the model and market consensus, without indicating which view is ultimately correct.",
        "degraded_note": "",
        "divergence_guard": {
          "divergence_level": "moderate",
          "edge_status": "market_ahead",
          "max_gap_pp": 7.43,
          "suppress_hero": false,
          "suppress_value_language": false
        },
        "divergence_label": "Moderate model-market divergence",
        "divergence_level": "moderate",
        "divergence_level_label": "Moderate divergence",
        "divergence_note": "Fair estimate and market pricing differ modestly. Monitor before kickoff.",
        "divergence_tier": "moderate",
        "edge_label": "Mild disagreement",
        "edge_label_key": "mild_disagreement",
        "fair_confidence": "medium",
        "fair_confidence_label": "Medium",
        "fair_source_note": "Model probabilities are generated from the statistical xG model using a Poisson distribution. Closing market probabilities are derived from consensus closing 1X2 odds after margin removal. Values represent implied probabilities rather than betting recommendations. Closing snapshot: PRE1.",
        "forecast_assessment": {
          "favourite_class": "Balanced match",
          "favourite_label": "Molde II",
          "forecast_certainty_tier": "low",
          "headline": "Balanced match",
          "market_agreement_label": "Moderate",
          "market_direction": {
            "label": "Supports model direction",
            "positive": true
          },
          "market_prob_pct": 34.9,
          "model_prob_gap_display": "+0.7 percentage points",
          "model_prob_gap_pp": 0.7,
          "model_prob_pct": 35.6,
          "outcome_separation_tier": "low",
          "paragraphs": [],
          "pricing_convergence": {
            "gap_display": "+0.7 percentage points",
            "gap_pp": 0.7,
            "label": "High",
            "label_key": "mi_fa_pricing_high"
          },
          "reliability_headline": "High reliability",
          "reliability_icon": "\u2713",
          "reliability_score": 85,
          "reliability_tier": "high",
          "summary": "Molde II \u2014 market direction supports the model lean.",
          "tier": "balanced",
          "title": "Prediction Assessment",
          "validation_label": "Pass",
          "value_split": {
            "execution_confidence": {
              "label": "Betting Confidence",
              "score": 89,
              "tier": "high",
              "tier_label": "High"
            },
            "market_compatibility": {
              "label": "Market Compatibility",
              "note": "Price proximity vs model (inverse of pp gap) \u2014 not the same as a Primary go-ahead. Read alongside Decision Strength and Alignment.",
              "score": 96,
              "tier": "high",
              "tier_label": "High"
            },
            "model_edge_strength": {
              "label": "Model Signal Strength",
              "score": 35,
              "tier": "low",
              "tier_label": "Low"
            },
            "model_value": {
              "label": "Market Compatibility",
              "note": "Price proximity vs model (inverse of pp gap) \u2014 not the same as a Primary go-ahead. Read alongside Decision Strength and Alignment.",
              "score": 96,
              "tier": "high",
              "tier_label": "High"
            },
            "recommendation": {
              "action": "no_bet",
              "label": "No Primary Bet"
            }
          },
          "why": {
            "action_line": "Compare model lean with current best odds before sizing any bet.",
            "bullets": [
              "Model: Molde II 1.31 xG vs Aalesund II 1.29 \u2192 Molde II 35.6%",
              "Market: Aalesund II ~34.9% implied",
              "Market Drift: Aalesund II odds \u2191 +16.9%"
            ],
            "one_liner": "Model and market both lean Molde II with no major conflict.",
            "title": "Why?"
          }
        },
        "forecast_certainty": {
          "note": "Three outcomes remain closely bunched \u2014 treat as a relatively open match.",
          "tier": "low",
          "tier_label": "Low"
        },
        "forecast_certainty_label": "Low",
        "has_market_probs": true,
        "hero_edge_pp": -7.43,
        "hero_label": "Aalesund II",
        "hero_side": "away",
        "market_activity": "Aalesund II odds lengthened \u2191 +16.9%.",
        "market_agreement": "moderate",
        "market_agreement_label": "Moderate",
        "market_interpretation": {
          "bullets": [
            "Monitor line movement before kickoff \u2014 not a betting recommendation."
          ],
          "follow_up": "",
          "gap_tier": "mild",
          "lead": "The market and model broadly agree on Aalesund II. The remaining divergence may reflect differences in team-strength assumptions rather than a directional disagreement.",
          "note": "Market activity aligns with the largest pricing gap on Aalesund II.",
          "paragraphs": [
            "The market and model broadly agree on Aalesund II. The remaining divergence may reflect differences in team-strength assumptions rather than a directional disagreement.",
            "Market activity aligns with the largest pricing gap on Aalesund II."
          ],
          "quiet_market": false,
          "title": "Market Assessment"
        },
        "market_narrative": {
          "paragraphs": [
            "The market still prices Aalesund II above the current fair estimate.",
            "Recent line movement on Aalesund II (\u2191 +16.9%) aligns with the pricing gap."
          ],
          "title": "Current Market Narrative"
        },
        "market_source": "closing_1x2",
        "max_gap_pp": 7.43,
        "model_validation": {
          "score_label_key": "mi_mv_pass",
          "status": "pass"
        },
        "model_validation_label": "Pass",
        "outcome_separation": {
          "breakdown": [
            "No outcome exceeds 50% on the 1X2 grid.",
            "Top two 1X2 outcomes within 0.9 percentage points."
          ],
          "lead_gap_pp": 0.9,
          "max_prob_pct": 35.6,
          "note": "How spread out the model 1X2 probabilities are \u2014 crowded splits mean no single outcome dominates. Not accuracy vs the market.",
          "tier": "low",
          "tier_label": "Low"
        },
        "outcome_separation_label": "Low",
        "overall_assessment": {
          "badge_class": "moderate",
          "largest_gap_label": "Aalesund II",
          "largest_gap_pp": -7.4,
          "lead": "The closing market prices Aalesund II higher than the statistical model.",
          "level": "moderate",
          "max_gap_pp": 7.4,
          "title": "Moderate Disagreement"
        },
        "rows": [
          {
            "difference_pp": 0.79,
            "edge_pp": 0.79,
            "fair_prob_pct": 35.64,
            "is_hero": false,
            "label": "Molde II",
            "market_prob_pct": 34.85,
            "side": "home",
            "signal_key": "aligned",
            "signal_label": "Aligned"
          },
          {
            "difference_pp": 6.63,
            "edge_pp": 6.63,
            "fair_prob_pct": 29.65,
            "is_hero": false,
            "label": "Draw",
            "market_prob_pct": 23.02,
            "side": "draw",
            "signal_key": "model_higher",
            "signal_label": "Model Higher"
          },
          {
            "difference_pp": -7.43,
            "edge_pp": -7.43,
            "fair_prob_pct": 34.7,
            "is_hero": true,
            "label": "Aalesund II",
            "market_prob_pct": 42.13,
            "side": "away",
            "signal_key": "market_higher",
            "signal_label": "Market Higher"
          }
        ],
        "status": "market_ahead",
        "status_label": "Market Ahead",
        "steam_note": "Market activity aligns with the largest pricing gap on Aalesund II.",
        "unavailable_note": ""
      },
      "interpretation": {
        "has_conflict": true,
        "paragraphs": [
          "The betting market strongly prefers Aalesund II (34.9%).",
          "However, Aalesund II has seen one of the strongest multi-book drifts of the day (\u2191 +16.9%, 4/6) \u2014 odds lengthened, not shortened.",
          "This creates a conflict: Model \u2192 Molde II, Market \u2192 Aalesund II, while Aalesund II odds drifted longer (market fade).",
          "Because signals disagree, confidence remains limited."
        ],
        "show": true,
        "title": "OddsGPT Interpretation"
      },
      "lifecycle": {
        "closing_implied_pct": 48.54,
        "closing_odds": 2.06,
        "closing_reason": "",
        "closing_status": "recorded",
        "closing_status_label": "Recorded",
        "clv_pending": true,
        "clv_pp": 0.0,
        "clv_reason": "",
        "clv_status": "pending",
        "context": "match",
        "current_stage": "waiting_for_kickoff",
        "current_stage_detail": "",
        "current_stage_label": "Waiting for kickoff",
        "entry_implied_pct": 48.54,
        "entry_odds": 2.06,
        "match_phase": "upcoming",
        "match_phase_detail": "",
        "match_phase_display": "Upcoming",
        "match_phase_label": "Upcoming",
        "model_validation_label": "Pass",
        "model_validation_status": "pass",
        "stages": [
          {
            "detail": "",
            "id": "forecast_generated",
            "label": "Prediction Generated",
            "status": "done"
          },
          {
            "detail": "",
            "id": "market_detected",
            "label": "Market Compared",
            "status": "active"
          },
          {
            "detail": "",
            "id": "model_validated",
            "label": "Validation Passed",
            "status": "done"
          },
          {
            "detail": "PRE1",
            "id": "closing_recorded",
            "label": "Closing Recorded",
            "status": "done"
          },
          {
            "detail": "",
            "id": "clv_evaluated",
            "label": "CLV Evaluated",
            "status": "pending"
          }
        ]
      },
      "market_move_intelligence": {
        "books_reacting": 4,
        "books_reacting_detail": [
          {
            "bookmaker_id": 11,
            "bookmaker_name": "1xBet",
            "is_sharp": false,
            "move_delta_display": "\u2191 +23.7%",
            "odds_delta_pct": 23.7
          },
          {
            "bookmaker_id": 36,
            "bookmaker_name": "BetVictor",
            "is_sharp": false,
            "move_delta_display": "\u2191 +21.6%",
            "odds_delta_pct": 21.6
          },
          {
            "bookmaker_id": 2,
            "bookmaker_name": "Marathonbet",
            "is_sharp": false,
            "move_delta_display": "\u2191 +21.6%",
            "odds_delta_pct": 21.6
          },
          {
            "bookmaker_id": 8,
            "bookmaker_name": "Bet365",
            "is_sharp": true,
            "move_delta_display": "\u2191 +16.9%",
            "odds_delta_pct": 16.9
          }
        ],
        "books_total": 6,
        "breadth_display": "4/6",
        "clv_label": "+0.00 pp",
        "clv_status": "evaluated",
        "current_odds": 3.8,
        "is_drift": true,
        "move_context": "Largest move today",
        "move_display": "\u2191 +16.9%",
        "move_pct_abs": 16.9,
        "move_speed_icon": "\ud83d\udc22",
        "move_speed_label": "Slow drift over 13h 45m",
        "narrative_paragraphs": [
          "Multi-book drift on Aalesund II (16.9%, 4/6) \u2014 aligned lengthening, market pricing moves against this side.",
          "Noticeable drift \u2014 odds lengthened with multi-book confirmation (not steam)."
        ],
        "narrative_title": "Market Narrative",
        "odds_delta_pct": 16.9,
        "odds_path": {
          "chart_y_labels": [
            "3.80",
            "2.93",
            "2.06"
          ],
          "display": "4.64 \u2192 3.25 \u2192 3.80",
          "move_speed_icon": "\ud83d\udc22",
          "move_speed_label": "Slow drift over 13h 45m",
          "pick_team": "Aalesund II",
          "points": [
            {
              "label_key": "open",
              "value": "4.64"
            },
            {
              "label_key": "extreme",
              "value": "3.25"
            },
            {
              "label_key": "current",
              "value": "3.80"
            }
          ],
          "sparkline_points": [
            3.25,
            2.06,
            3.8
          ],
          "sparkline_polyline": "0.0,5.7 28.0,18.0 56.0,0.0",
          "sparkline_trend": "volatile",
          "sparkline_trend_label": "V-shape swing",
          "summary_boxes": [
            {
              "label_key": "open",
              "value": "3.25"
            },
            {
              "label_key": "low",
              "value": "2.06"
            },
            {
              "label_key": "high",
              "value": "3.80"
            },
            {
              "label_key": "current",
              "value": "3.80"
            }
          ]
        },
        "open_odds": 3.25,
        "page_alert_line": "Market drift alert: Aalesund II odds \u2191 +16.9% \u2014 pricing moves against this side",
        "phase_label": "Market drift",
        "phase_tip": "Broad lengthening \u2014 market pricing moves against the tracked side.",
        "pick_team": "Aalesund II",
        "ref_book": "Bet365",
        "seo_title_alert": "Market drift alert: Aalesund II odds \u2191 +16.9% \u2014 pricing moves against this side",
        "sharp_leader": "Bet365",
        "show": true,
        "signal_badge_class": "fade",
        "signal_icon": "\u2198",
        "signal_impact": {
          "current_odds": 3.8,
          "is_drift": true,
          "label": "Market Signal",
          "move_display": "\u2191 +16.9%",
          "open_odds": 3.25,
          "summary": "Broad market drift supports the same direction as the model lean.",
          "team": "Aalesund II",
          "tone": "with"
        },
        "signal_key": "market_drift",
        "signal_label": "Drift",
        "steam_score": 63,
        "steam_subtitle": "Strong sharp signal",
        "steam_tier": "A",
        "title": "Market Move Intelligence"
      },
      "market_overview": {
        "breadth_display": "4/6",
        "current_odds": 3.8,
        "move_display": "\u2191 +16.9%",
        "open_odds": 3.25,
        "pick_team": "Aalesund II",
        "steam_score": 63,
        "steam_team_name": "Aalesund II",
        "steam_tier": "A"
      },
      "premium_teaser": {
        "current_divergence_pp": 7.4,
        "divergence_label": "Current divergence",
        "title": "Premium Market Intelligence",
        "unlock_items": [
          "Historical similar matches",
          "Closing odds analysis",
          "CLV tracking",
          "Sharp money signals",
          "Market efficiency rating",
          "Historical model vs market results"
        ],
        "unlock_label": "Unlock"
      },
      "show": true
    },
    "match": {
      "at2.away_team_slug": "aalesund-ii",
      "away_expected_goals": null,
      "away_goal_display": null,
      "away_team_display_name": "Aalesund II",
      "away_team_id": 16222,
      "away_team_logo": "/static/teams/16222.webp",
      "away_team_name": "Aalesund II",
      "away_team_public_id": "2MbTMCohBEhzJ6",
      "away_team_slug": "aalesund-ii",
      "country_code": "NO",
      "country_display_name": "Norway",
      "country_flag": "/static/images/country/no.svg",
      "country_id": 120,
      "country_name": "Norway",
      "fixture_id": 1496683,
      "goals_away": null,
      "goals_home": null,
      "home_expected_goals": null,
      "home_goal_display": null,
      "home_team_country": "Norway",
      "home_team_display_name": "Molde II",
      "home_team_id": 12817,
      "home_team_logo": "/static/teams/12817.webp",
      "home_team_name": "Molde II",
      "home_team_public_id": "3Mu2G5MDrVQ27m",
      "home_team_slug": "molde-ii",
      "ht.home_team_slug": "molde-ii",
      "league_country": "Norway",
      "league_country_display": "Norway",
      "league_display_name": "Tercera Divisi\u00f3n - Grupo 2 de Noruega",
      "league_id": 775,
      "league_logo": "/static/leagues/775.webp",
      "league_name": "Tercera Divisi\u00f3n - Grupo 2 de Noruega",
      "league_public_id": "41U61Qop1dbVrI",
      "league_season": 2026,
      "match_date": "2026-09-07 16:00:00",
      "public_id": "2gunMXLFuOBzE1",
      "score_fulltime_away": null,
      "score_fulltime_home": null,
      "score_penalty_away": null,
      "score_penalty_home": null,
      "status_long": "Not Started",
      "status_short": "NS",
      "venue_city": null,
      "venue_name": null
    },
    "match_decision": {
      "confidence": {
        "breakdown": [
          "pred_conf_md_max_1x2_under_50",
          "pred_conf_md_top_two_close",
          "pred_conf_md_line_above_ev"
        ],
        "breakdown_resolved": [
          "Max 1X2 prob under 50% (open contest) (\u22121.0)",
          "Top two outcomes relatively close in probability (\u22120.5)",
          "At least one tracked line above +EV threshold (+0.5)"
        ],
        "score": 6.0
      },
      "markets": {
        "1x2": {
          "1x2_ev_mode": "market_first_p15",
          "away": {
            "alpha": 0.4001,
            "best_odd": 2.06,
            "calibration": {
              "active": false,
              "hook": "CALIBRATE_1X2_P_FINAL"
            },
            "edge": -0.0296,
            "ev": -0.1931,
            "implied_prob": 0.4213,
            "joint_probs": {
              "away": 0.4213,
              "draw": 0.2302,
              "home": 0.3485
            },
            "model_prob": 0.3473,
            "p_final": 0.3917
          },
          "draw": {
            "alpha": 0.27,
            "best_odd": 3.77,
            "calibration": {
              "active": false,
              "hook": "CALIBRATE_1X2_P_FINAL"
            },
            "edge": 0.018,
            "ev": -0.0644,
            "implied_prob": 0.2302,
            "joint_probs": {
              "away": 0.4213,
              "draw": 0.2302,
              "home": 0.3485
            },
            "model_prob": 0.2968,
            "p_final": 0.2482
          },
          "ev_available": true,
          "home": {
            "alpha": 0.445,
            "best_odd": 2.49,
            "calibration": {
              "active": false,
              "hook": "CALIBRATE_1X2_P_FINAL"
            },
            "edge": 0.0033,
            "ev": -0.124,
            "implied_prob": 0.3485,
            "joint_probs": {
              "away": 0.4213,
              "draw": 0.2302,
              "home": 0.3485
            },
            "model_prob": 0.3559,
            "p_final": 0.3518
          }
        },
        "1x2_outlier": {
          "1x2_ev_mode": "legacy_max_odd",
          "away": {
            "best_odd": 2.06,
            "edge": -0.1382,
            "ev": -0.2846,
            "implied_prob": 0.4854,
            "model_prob": 0.3473
          },
          "draw": {
            "best_odd": 3.77,
            "edge": 0.0315,
            "ev": 0.1189,
            "implied_prob": 0.2653,
            "model_prob": 0.2968
          },
          "ev_available": true,
          "home": {
            "best_odd": 2.49,
            "edge": -0.0457,
            "ev": -0.1137,
            "implied_prob": 0.4016,
            "model_prob": 0.3559
          }
        },
        "btts": {
          "alpha_no": 0.0804,
          "alpha_yes": 0.1768,
          "best_no_odd": 3.52,
          "best_yes_odd": 1.25,
          "btts_ev_mode": "market_first_available",
          "edge_no": 0.189,
          "edge_yes": -0.189,
          "ev_available": true,
          "ev_no": 0.6016,
          "ev_no_risk_adj": -0.0315,
          "ev_yes": -0.3187,
          "ev_yes_risk_adj": -0.1264,
          "implied_no": 0.266,
          "implied_yes": 0.734,
          "market_first": {
            "available": true,
            "mode": "market_first_btts",
            "n_bookmakers": 4,
            "no": {
              "alpha": 0.0804,
              "best_odd": 3.46,
              "edge": 0.0153,
              "ev": -0.0315,
              "implied_prob": 0.2646,
              "model_prob": 0.455,
              "p_final": 0.2799
            },
            "prediction_confidence": "very_low",
            "yes": {
              "alpha": 0.1768,
              "best_odd": 1.245,
              "edge": -0.0337,
              "ev": -0.1264,
              "implied_prob": 0.7354,
              "model_prob": 0.545,
              "p_final": 0.7017
            }
          },
          "n_bookmakers": 4,
          "p_final_no": 0.2799,
          "p_final_yes": 0.7017,
          "prediction_confidence": "very_low",
          "reliability": "medium"
        },
        "ou25": {
          "alpha_over": 0.1323,
          "alpha_under": 0.08,
          "best_over_odd": 1.2,
          "best_under_odd": 4.35,
          "consensus_over_odd": 1.14,
          "consensus_under_odd": 4.35,
          "edge_over": -0.3072,
          "edge_under": 0.3072,
          "ev_available": true,
          "ev_over": -0.4216,
          "ev_over_risk_adj": -0.1435,
          "ev_under": 1.2533,
          "ev_under_risk_adj": 0.0113,
          "implied_over": 0.7892,
          "implied_over_mf": 0.7923,
          "implied_under": 0.2108,
          "implied_under_mf": 0.2077,
          "market_first": {
            "available": true,
            "mode": "market_first_ou",
            "n_bookmakers": 3,
            "over": {
              "alpha": 0.1323,
              "best_odd": 1.14,
              "edge": -0.0411,
              "ev": -0.1435,
              "implied_prob": 0.7923,
              "model_prob": 0.482,
              "p_final": 0.7513
            },
            "prediction_confidence": "very_low",
            "under": {
              "alpha": 0.08,
              "best_odd": 4.35,
              "edge": 0.0248,
              "ev": 0.0113,
              "implied_prob": 0.2077,
              "model_prob": 0.518,
              "p_final": 0.2325
            }
          },
          "n_bookmakers": 3,
          "ou_ev_mode": "market_first_available",
          "p_final_over": 0.7513,
          "p_final_under": 0.2325,
          "prediction_confidence": "very_low",
          "reliability": "medium"
        }
      },
      "match_regime": {
        "action": "avoid",
        "code": "no_edge",
        "execution_line_key": "pred_regime_exec_no_actionable",
        "insight_line_key": "pred_regime_insight_minor_inefficiency",
        "stake_mult": 0.0,
        "use_split_strip": true
      },
      "match_tier": "no_bet",
      "min_ev": 0.02,
      "total_xg": 2.6,
      "variance_flag": false
    },
    "unified_decision": {
      "actionable_ev_threshold": 0.02,
      "algorithm": {
        "enabled_since": "2026-05-26",
        "game_typing_module": true,
        "version": "2.5.0"
      },
      "balanced_alternative": null,
      "best_consensus_ev": 1.2533,
      "best_outlier_ev": 1.2533,
      "best_tracked_ev": 1.2533,
      "confidence": 6.5,
      "decision_confidence_v1": {
        "breakdown": [
          "pred_conf_v1_primary_line",
          "pred_conf_v1_primary_ev_above_10",
          "pred_conf_v1_max_1x2_under_50",
          "pred_conf_v1_multi_ev_lines"
        ],
        "breakdown_resolved": [
          "Primary line identified (+1.0)",
          "Primary EV above 10% (+1.0)",
          "Max 1X2 prob under 50% (no dominant 1X2) (\u22121.0)",
          "Two or more valid +EV lines at threshold (+0.5)"
        ],
        "breakdown_v2": [
          "Base decision score (v1)",
          "Reliability supports action",
          "Market aligns with model",
          "Low xG separation (league-average noise)"
        ],
        "score": 4.9,
        "score_v1_legacy": 6.5,
        "score_v2_pre_penalty": 6.9,
        "strength_v2": true
      },
      "decision_strength_v2": {
        "breakdown": [
          "Base decision score (v1)",
          "Reliability supports action",
          "Market aligns with model",
          "Low xG separation (league-average noise)"
        ],
        "score": 4.9,
        "score_pre_penalty": 6.9
      },
      "decision_type": "NO_SIGNAL",
      "execution": {
        "1x2_dominant": false,
        "1x2_open_contest": true,
        "grade": "A",
        "stake_factor": 1.0
      },
      "favourite_misaligned_1x2": {
        "active": false,
        "gap": null,
        "side": null
      },
      "final_action": "no_bet",
      "final_decision": {
        "action": "no_bet",
        "alignment": {
          "direction_aligned": false,
          "direction_key": "conflict",
          "gap_pp": 7.4,
          "key": "agree",
          "label": "Agree",
          "model_strong": false,
          "pricing_aligned": true,
          "pricing_key": "moderate",
          "probability_gap_pp": 7.4,
          "summary": "Model and market currently agree on the stronger side (Molde II)."
        },
        "alignment_key": "agree",
        "best_consensus_ev": 0.012533,
        "best_outlier_ev": 0.012533,
        "confidence_band": "Moderate\u2013Low",
        "decision_strength": 4.9,
        "decision_strength_v1": 6.5,
        "decision_strength_v2": 6.9,
        "decision_type": "NO_SIGNAL",
        "execution_confidence": 89,
        "extreme_disagreement": false,
        "final_verdict_audit": {
          "action": "Monitor closing market and validate with CLV.",
          "action_label": "Action",
          "decision": "No Primary Bet",
          "is_primary": false,
          "snapshot": "The Decision Model estimates Molde II at 35.6%, compared with a no-vig market probability of 34.8%.",
          "why": [
            {
              "text": "Decision Model identifies Molde II as the value side (35.6%)",
              "tone": "ok"
            },
            {
              "text": "Market broadly agrees with the direction",
              "tone": "ok"
            },
            {
              "text": "Edge does not clear Primary threshold",
              "tone": "bad"
            },
            {
              "text": "Model confidence reduced due to calibration uncertainty",
              "tone": "bad"
            }
          ],
          "why_label": "Decision Summary"
        },
        "gap_pp": 0.7,
        "gates_failed": [
          "No consensus-line +EV at Primary threshold"
        ],
        "has_top_pick": true,
        "headline": "No Primary Bet",
        "hero_mode": "default",
        "icon": "\u25cb",
        "label": "No Primary Bet",
        "market_signal": "Market aligns with model lean",
        "model_conflict_detail": null,
        "model_lean": "Molde II",
        "no_primary_reasons": {
          "all_triggered": [
            "edge_low",
            "calibration_risk"
          ],
          "calibration_mode": "soft",
          "codes": [
            "edge_low",
            "calibration_risk"
          ],
          "label": "Reason",
          "other_factors": [
            {
              "code": "calibration_risk",
              "detail": "Confidence reduced because model assumptions exceed the normal range.",
              "name": "Calibration Risk",
              "short": "Calibration Risk",
              "tone": "danger"
            }
          ],
          "other_label": "Other factors",
          "primary": {
            "code": "edge_low",
            "detail": "The estimated edge does not meet the Primary threshold.",
            "name": "Edge Below Threshold",
            "short": "Edge Below Threshold",
            "tone": "neutral"
          },
          "secondary": {
            "code": "calibration_risk",
            "detail": "Confidence reduced because model assumptions exceed the normal range.",
            "name": "Calibration Risk",
            "short": "Calibration Risk",
            "tone": "danger"
          },
          "version": "v1"
        },
        "outlier_detected": false,
        "outlier_excluded_panel": "",
        "primary_allowed": false,
        "primary_block_explain": {
          "entries": [
            {
              "key": "weak_ev",
              "label": "Consensus EV +1.3% \u003c Primary gate +5.0% (Lean gate +2.0% is separate \u2014 not Primary)",
              "ok": false
            },
            {
              "key": "gate",
              "label": "No consensus-line +EV at Primary threshold",
              "ok": false
            }
          ],
          "lean_ev_threshold_pct": 2.0,
          "primary_ev_threshold_pct": 5.0,
          "subtitle": "Primary needs consensus EV \u2265 +5.0% plus reliability/execution/calibration gates (Decision Strength is explain-only). Lean/tracked gate is +2.0% (selective only \u2014 not default Primary sizing).",
          "title": "Why not Primary?"
        },
        "primary_gate_checklist": "Gate checklist: Consensus EV +1.3% \u274c (need \u2265+5.0%) \u00b7 Calibration See checklist \u274c \u2192 Primary blocked. Decision Strength 4.9/10 (explain only, not a Primary gate). If you still act under hard block: example stake 0.10\u20130.20% bankroll (never Primary).",
        "primary_gate_snapshot": "Primary Gate Snapshot: Consensus EV +1.3% (gate \u2265+5.0%) \u00b7 Calibration: See checklist \u2192 Primary blocked \u00b7 Decision Strength 4.9/10 (display only)",
        "primary_gates": {
          "items": [
            {
              "key": "extreme_gap",
              "label": "Extreme gap",
              "ok": true,
              "value": "no"
            },
            {
              "key": "xg_calibration",
              "label": "xG calibration",
              "ok": true,
              "value": "warning"
            },
            {
              "key": "reliability",
              "label": "Rel",
              "ok": true,
              "value": "85 (\u226565)"
            },
            {
              "key": "execution",
              "label": "Exec",
              "ok": true,
              "value": "89 (\u226565)"
            },
            {
              "key": "alignment",
              "label": "Align",
              "ok": true,
              "value": "agree"
            },
            {
              "key": "consensus_ev",
              "label": "ConsEV",
              "ok": false,
              "value": "+1.3% (\u2265+5.0%)"
            },
            {
              "key": "top_pick",
              "label": "Pick",
              "ok": true,
              "value": "true"
            },
            {
              "key": "validation",
              "label": "Validation",
              "ok": true,
              "value": "true"
            }
          ],
          "passed": 7,
          "total": 8
        },
        "primary_type": null,
        "reasons": [
          "Model and market currently agree on the stronger side (Molde II).",
          "Decision strength: 4.9/10",
          "No consensus-line +EV at Primary threshold"
        ],
        "reliability_score": 85,
        "speed_read": "Speed read: Model Signal can look moderate/strong while Decision Strength stays low after calibration \u2014 Strength alone does not block Primary (v2.5+); still check reliability/execution/EV hard gates.",
        "strength_v2_breakdown": [
          "Base decision score (v1)",
          "Reliability supports action",
          "Market aligns with model",
          "Low xG separation (league-average noise)"
        ],
        "subline": "No tracked consensus line clears the default +EV bar.",
        "thresholds": {
          "extreme_gap_pp": 30.0,
          "lean_min_consensus_ev": 0.02,
          "lean_min_strength": 5.0,
          "min_consensus_ev": 0.05,
          "min_execution": 65,
          "min_reliability": 65,
          "min_strength": 7.0,
          "source": "db",
          "user_id": 2
        },
        "thresholds_source": "db",
        "thresholds_user_id": 2,
        "tier": "observe",
        "validation_ok": true,
        "value_context": {
          "consensus_ev": -0.124,
          "consensus_ev_display": "-12.4%",
          "consensus_odds": 2.49,
          "disagreement_label": "Normal",
          "disagreement_level": "normal",
          "implied_prob": 0.3485,
          "is_extreme_disagreement": false,
          "model_prob": 0.3559,
          "raw_edge_display": "+0.7 percentage points",
          "raw_edge_pp": 0.7,
          "raw_implied_prob": 0.4016064257028112,
          "raw_signal_ev": -0.1138,
          "raw_signal_ev_display": "-11.4%"
        },
        "version": "v2.5",
        "xg_calibration": {
          "block_value_alert": true,
          "calibration_status": "warning",
          "deviation_pct": -3.0,
          "reasons": [
            "Low xG separation gap=0.02 (noise / no edge)"
          ],
          "recommended_action": "monitor",
          "strength_delta": -2.0,
          "uplift_away": null,
          "uplift_home": null,
          "xg_separation": {
            "band": "flat",
            "block_value_alert": true,
            "separation_score": -20,
            "strength_delta": -2.0,
            "xg_gap": 0.02
          }
        }
      },
      "game_type": {
        "label_zh": "\u5747\u8861\uff08\u5f00\u653e\u8d5b\u679c\uff09",
        "scoring_type": "balanced",
        "signals": {
          "btts_yes_prob": 0.545,
          "draw_prob": 0.2968,
          "max_1x2_prob": 0.3559,
          "over_prob": 0.482,
          "total_xg": 2.6,
          "under_prob": 0.518,
          "xg_diff": 0.02
        },
        "type": "balanced",
        "typing_weights_enabled": true
      },
      "hero_display_pick": null,
      "hero_mode": "default",
      "longshot_picks": [],
      "markets": {
        "1x2": {
          "consensus_odds": 2.49,
          "decision": "no_bet",
          "edge": 0.0033,
          "ev": -0.124,
          "implied_prob": 0.3485,
          "max_ev_side": "draw",
          "model_prob": 0.3559,
          "side": "home",
          "side_label": "Molde II"
        },
        "btts": {
          "decision": "value_bet",
          "decision_layer": {
            "alpha": 0.0804,
            "available": true,
            "consensus_odds": 3.46,
            "edge": 0.0153,
            "market_prob": 0.2646,
            "mode": "market_first_btts",
            "model_prob": 0.455,
            "n_bookmakers": 4,
            "no": {
              "alpha": 0.0804,
              "best_odd": 3.46,
              "edge": 0.0153,
              "ev": -0.0315,
              "implied_prob": 0.2646,
              "model_prob": 0.455,
              "p_final": 0.2799
            },
            "p_final": 0.2799,
            "prediction_confidence": "very_low",
            "risk_adj_ev": -0.0315,
            "value_side": "no",
            "yes": {
              "alpha": 0.1768,
              "best_odd": 1.245,
              "edge": -0.0337,
              "ev": -0.1264,
              "implied_prob": 0.7354,
              "model_prob": 0.545,
              "p_final": 0.7017
            }
          },
          "edge": 0.189,
          "ev": 0.6016,
          "implied_prob": 0.266,
          "model_prob": 0.455,
          "side": "no",
          "value_side": "no"
        },
        "ou_2_5": {
          "decision": "value_bet",
          "decision_layer": {
            "alpha": 0.08,
            "available": true,
            "consensus_odds": 4.35,
            "edge": 0.0248,
            "market_prob": 0.2077,
            "mode": "market_first_ou",
            "model_prob": 0.518,
            "n_bookmakers": 3,
            "over": {
              "alpha": 0.1323,
              "best_odd": 1.14,
              "edge": -0.0411,
              "ev": -0.1435,
              "implied_prob": 0.7923,
              "model_prob": 0.482,
              "p_final": 0.7513
            },
            "p_final": 0.2325,
            "prediction_confidence": "very_low",
            "risk_adj_ev": 0.0113,
            "under": {
              "alpha": 0.08,
              "best_odd": 4.35,
              "edge": 0.0248,
              "ev": 0.0113,
              "implied_prob": 0.2077,
              "model_prob": 0.518,
              "p_final": 0.2325
            },
            "value_side": "under"
          },
          "edge": 0.3072,
          "ev": 1.2533,
          "implied_prob": 0.2108,
          "model_prob": 0.518,
          "side": "under",
          "value_side": "under"
        }
      },
      "match_id": 1496683,
      "match_regime": {
        "action": "bet",
        "actionable": true,
        "clear_edge": true,
        "code": "clear_edge",
        "execution_line_key": null,
        "insight_line_key": null,
        "max_valid_ev": 1.2533,
        "min_ev": 0.02,
        "stake_mult": 1.0,
        "use_split_strip": false
      },
      "match_tier": "value_game",
      "no_clear_primary": false,
      "probabilities": {
        "away": 0.3473,
        "draw": 0.2968,
        "home": 0.3559
      },
      "reason_codes": [
        "no_ev_1x2"
      ],
      "secondary_pick": {
        "decision": "value_bet",
        "ev": 0.6016,
        "implied_prob": 0.266,
        "market": "btts",
        "model_prob": 0.455,
        "not_dominant": true,
        "risk_band": "medium",
        "risk_tier": "secondary",
        "side": "no",
        "slot": "secondary"
      },
      "secondary_picks": [
        {
          "decision": "value_bet",
          "ev": 0.6016,
          "implied_prob": 0.266,
          "market": "btts",
          "model_prob": 0.455,
          "not_dominant": true,
          "risk_band": "medium",
          "risk_tier": "secondary",
          "side": "no",
          "slot": "secondary"
        }
      ],
      "show_betting_primary_label": false,
      "suppressed_primary": null,
      "teams": {
        "away": "Aalesund II",
        "home": "Molde II"
      },
      "top_pick": {
        "composite_score": 0.454447,
        "decision": "value_bet",
        "ev": 1.2533,
        "implied_prob": 0.2108,
        "market": "ou_2_5",
        "model_prob": 0.518,
        "not_dominant": false,
        "primary_strength": "clear",
        "risk_band": "strong",
        "risk_tier": "primary",
        "side": "under",
        "slot": "primary",
        "speculative_primary": false
      },
      "valid_markets_count": 2,
      "value_context_1x2": {
        "consensus_ev": -0.124,
        "consensus_ev_display": "-12.4%",
        "consensus_odds": 2.49,
        "disagreement_label": "Normal",
        "disagreement_level": "normal",
        "implied_prob": 0.3485,
        "is_extreme_disagreement": false,
        "model_prob": 0.3559,
        "raw_edge_display": "+0.7 percentage points",
        "raw_edge_pp": 0.7,
        "raw_implied_prob": 0.4016064257028112,
        "raw_signal_ev": -0.1138,
        "raw_signal_ev_display": "-11.4%"
      }
    }
  },
  "fixture_id": 1496683,
  "generated_at_utc": "2026-09-07T15:59:26.199361+00:00",
  "lang_id": "en"
}

Obtén predicciones premium para Molde II & Aalesund II!

Desbloquea análisis en profundidad, consejos de apuestas exclusivos y pronósticos de partidos con nuestro servicio de suscripción premium.

Suscríbete ahora
Volver a Estadísticas
Tercera División - Grupo 2 de Noruega Tercera División - Grupo 2 de Noruega — Clasificación
# EQUIPO PJ G E P Pts
1 Volda 21 14 4 3 46
2 Strindheim 21 13 4 4 43
3 Melhus 21 10 5 6 35
4 Byåsen 21 10 4 7 34
5 Rosenborg II 21 9 4 8 31
6 Herd 21 8 5 8 29
7 Molde II 21 8 5 8 29
8 Spjelkavik 21 8 4 9 28
9 Nardo 20 8 2 10 26
10 Ranheim II 21 6 5 10 23
11 NTNUI 21 5 7 9 22
12 Kvik Trondheim 21 6 4 11 22
13 Orkla 21 5 5 11 20
14 Aalesund II 20 6 2 12 20
# EQUIPO PJ GF GC +/- Pts
1 Strindheim 21 57 30 +27 43
2 Volda 21 55 23 +32 46
3 Molde II 21 55 67 -12 29
4 Ranheim II 21 53 69 -16 23
5 Rosenborg II 21 49 36 +13 31
6 Melhus 21 48 27 +21 35
7 Byåsen 21 47 39 +8 34
8 Nardo 20 47 45 +2 26
9 Herd 21 45 38 +7 29
10 Spjelkavik 21 39 43 -4 28
11 Orkla 21 39 58 -19 20
12 Aalesund II 20 37 59 -22 20
13 NTNUI 21 31 47 -16 22
14 Kvik Trondheim 21 31 52 -21 22