diff --git a/platform/backend/app/analytics/daily_card_generator.py b/platform/backend/app/analytics/daily_card_generator.py index c60f924..e1e0b08 100644 --- a/platform/backend/app/analytics/daily_card_generator.py +++ b/platform/backend/app/analytics/daily_card_generator.py @@ -416,7 +416,8 @@ def _finalize_confidence_score( adjusted += _clamp((true_prob - 0.56) * 10.0, -2.5, 3.0) adjusted += _clamp((ev_percent - 3.0) * 0.10, -1.2, 2.6) adjusted += _clamp((edge_percent - 2.0) * 0.08, -1.0, 2.4) - adjusted += _stable_confidence_jitter(match_id, market_type, selection, recommendation, target_odds) + confidence_jitter = _stable_confidence_jitter(match_id, market_type, selection, recommendation, target_odds) + adjusted += confidence_jitter if market_tier in {'exact_score', 'speculative', 'sgp'} or risk_level in {'speculative', 'sgp'}: floor = 12.0 @@ -449,6 +450,12 @@ def _finalize_confidence_score( if ceiling < floor: floor = max(8.0, ceiling - 8.0) + if adjusted <= floor: + floor_lift = (confidence_jitter + 2.4) * 0.55 + floor_lift += _clamp((true_prob - 0.10) * 3.0, 0.0, 1.8) + floor_lift += _clamp(ev_percent * 0.035, 0.0, 1.4) + adjusted = floor + floor_lift + return round(_clamp(adjusted, floor, ceiling), 1)