Vai al contenuto

Come funziona — Tipster Intelligence (TIL)

Il Tipster Intelligence Layer cattura i pronostici pubblicati da fonti pubbliche (canali Telegram, YouTube, blog — italiane e internazionali) e li misura contro il mercato reale. Principio fondante (ADR-0010): il tip non si segue, si misura — l'LLM non giudica mai, struttura soltanto; ogni valutazione è deterministica.

La pipeline, passo per passo

fonti pubbliche ──▶ 1. CATTURA          worker deterministico (timer ~30min, no LLM)
                    (documenti)          → POST /api/admin/til/documents
                                         → source_documents (raw IMMUTABILE, dedup content_hash)
                ──▶ 2. ESTRAZIONE       agente LLM til-extractor: dal raw a tip strutturati
                    (LLM, solo struttura) con span_citation VERBATIM verificata server-side;
                                         normalizzazione quote/mercato/linea deterministica
                ──▶ 3. ANCORAGGIO       risoluzione del tip alla fixture reale (squadre +
                    (fixture)            kickoff) e, per i player-prop, al giocatore
                ──▶ 4. MARKET CHECK     la quota DICHIARATA dal tipster è verificata contro
                    (quota vs mercato)   i NOSTRI mercati salvati as-of cattura (forward-only)
                ──▶ 5. DEDUP            i repost/ricicli dello stesso tip su più canali sono
                    (repost)             deduplicati semanticamente (stessa giocata = 1 tip)
                ──▶ 6. GRADING          doppio, deterministico e SEPARATO:
                    (CLV + storico)      · CLV fair-vs-fair vs closing (de-vig intero mercato)
                                         · won/lost + ROI dal risultato (settlement v2)
                ──▶ 7. RECORD           scoreboard per fonte con soglia campione minima
                    (per fonte)          → serving pubblico su pagina match + admin

1. Cattura — deterministica e immutabile

Un worker senza LLM raccoglie i documenti dalle fonti registrate e li deposita così come sono, con hash del contenuto per il dedup. Lo snapshot nostro è la verità: se la fonte edita o cancella una giocata persa, il raw originale resta a database — il record non è manipolabile a posteriori.

2. Estrazione — LLM con citazione obbligatoria

Un agente LLM trasforma il testo grezzo in tip strutturati (mercato, selezione, linea, quota dichiarata, eventuale stake). Regola dura anti-allucinazione: ogni campo estratto deriva da una span_citation verbatim che il server verifica contro il documento originale — se la citazione non esiste nel raw, il tip è rifiutato. La normalizzazione di quote, mercati e linee è fatta da funzioni pure deterministiche, non dall'LLM.

3. Ancoraggio alla fixture

Il tip viene risolto contro il calendario reale (nomi squadra + finestra di kickoff); i player-prop vengono ancorati anche al giocatore. Un tip che non si ancora a una partita verificabile non entra nel circuito di misura.

4. Market check — la quota dichiarata non si fida

La quota scritta dal tipster viene confrontata con i mercati che BAP ha realmente salvato (lavagna Bet365 + snapshot multi-book) as-of il momento della cattura, forward-only. Quota dichiarata troppo distante dal mercato reale → il tip viene trattato di conseguenza (quota di mercato o esclusione), mai preso per buono.

5. Dedup dei repost

Lo stesso pronostico ripubblicato su più canali o in più formati viene riconosciuto e contato una volta sola: il record di una fonte non si gonfia col riciclo.

6. Grading doppio: CLV e storico, separati

  • CLV (qualità predittiva): confronto fair-vs-fair tra la quota alla cattura e la closing line — de-vig dell'intero mercato su entrambi i lati, book di riferimento il più sharp disponibile. Tip catturato dopo il kickoff = ungradable con motivo esplicito — mai retrodatare.
  • Storico won/lost + ROI (settlement v2): l'esito reale della giocata, risolto deterministicamente dal risultato del match; copre la grande maggioranza dei tipi di giocata (1X2, doppia chance, over/under, BTTS, handicap, risultato esatto, multigol, corner, cartellini, combo).

Le due misure restano separate per scelta: un tipster può vincere per varianza con CLV negativo (fortuna) o perdere con CLV positivo (sfortuna) — il CLV dice l'abilità, lo storico dice cosa è successo.

7. Record per fonte, con soglia campione

Ogni fonte ha uno scoreboard rolling. Gate di pubblicazione: nessun claim di qualità (score CLV, win rate) sotto una soglia minima di tip valutati (30); il record grezzo W-P-A (vinte-perse-annullate) è pubblico da subito perché è un conteggio, non un claim.

Dove si vede

  • /tipster: la leaderboard pubblica delle fonti — record grezzo W-P-A da subito, CLV medio pubblicato sopra la soglia di 30 tip gradati (sotto: stima regolarizzata).
  • /consensus: le prossime partite (48h) dove più fonti misurate concordano o c'è un edge verificato vs la quota fair.
  • Sulla pagina match: sezione "Cosa suggeriscono le fonti" (consenso unificato per selezione, con numero di fonti concordi e record storico della fonte inline) e Tipster Intel (tip singoli con citazione e market check) — sempre con il disclaimer misure-non-consigli.
  • Lato admin: anagrafica fonti con scoreboard CLV, timeline tip, segnali per fixture.

Sezione tipster e analisi sulla pagina match

Le 5 tabelle

Tabella Ruolo
tip_sources anagrafica fonti (platform, handle, trust_tier, enabled)
source_documents raw catturato, immutabile (lo snapshot nostro è la verità)
tips tip estratti, span-cited, ancorati a match/player
tip_grades misura per-tip: CLV vs closing + won/lost/ROI storico
source_scores scoreboard rolling per fonte (soglia minima campione)

Perché è diverso da un sito di pronostici

BAP non seleziona "i tipster migliori da seguire": costruisce un track record verificato e immune al selection bias — anche una fonte popolare con CLV negativo è informazione (segnale contrarian). Termini come CLV e settlement sono nel Glossario; cosa questo layer NON è (un servizio di pronostici) è in Limiti & disclaimer.