Limiti e cosa non copriamo

Una piattaforma seria deve dire chiaramente cosa non fa, non solo cosa fa. Sotto trovi tutti i limiti noti di AppaltIntel — perché esistono, in che misura ti riguardano e cosa abbiamo in programma di fare in futuro.

Lag dei dati

Le diverse fonti hanno tempi di pubblicazione diversi. La pagina Fonti dei dati ha la tabella riassuntiva. In sintesi:

  • Bandi europei sopra-soglia (TED): li abbiamo entro 24 ore dalla pubblicazione su Tenders Electronic Daily. Se cerchi "bandi che si chiudono questa settimana", li trovi.
  • Bandi italiani sotto-soglia (ANAC): il dataset completo è pubblicato a fine mese, lo carichiamo a inizio del mese successivo. Quindi un bando aggiudicato il 15 marzo è consultabile su AppaltIntel intorno al 5-6 aprile.
  • Portali regionali integrati: per le regioni coperte aggiriamo il ritardo mensile di ANAC interrogando direttamente il portale upstream. Le quattordici integrazioni regionali / nazionali attive coprono Emilia-Romagna (Intercent-ER), Lombardia (SinTel), Toscana (START), Valle d'Aosta (PlaCe), Veneto, Cons. Reg. Campania, SUAM Marche, SUAR Liguria, EmPULIA Puglia (Regione + ASL + AOU), Soresa SIAPS Campania (sanità multi-ente con multi-lotto), Calabria (settore edilizia residenziale via ATERP), A.re.a.Com Abruzzo (soggetto aggregatore regionale multi-ente), Provincia di Teramo SUA.TE (Comuni teramani + ASL Teramo) e il portale nazionale del MIT che aggrega 144 stazioni appaltanti (ANAS, RFI, Carabinieri, Provveditorati OO.PP. ecc.). Si aggiungono nove Città Metropolitane (Bari, Catania, Venezia, Genova, Cagliari, Reggio Calabria, Palermo, Roma Capitale, Napoli). Lista bandi aggiornata ogni ora (PlaCe VdA ogni 6 ore per via del volume basso), dettaglio dove disponibile ogni 6 ore o 4 volte al giorno. Il bando della regione coperta appare su AppaltIntel entro un'ora dalla pubblicazione invece che dopo un mese.
  • Storico (ANAC + OCP): dal gennaio 2018 al mese scorso. ANAC OCDS è la fonte primaria con copertura continuativa (backfill esteso a maggio 2026 per coprire l'intero storico 2020-presente). Il dataset OCP italian_anac resta caricato come cross-check per il periodo 2020-04 → 2025-09.

Se devi fare un'azione "veloce" (rispondere a un bando che si chiude domani) il TED è la fonte giusta per le gare sopra-soglia europea, e i portali regionali integrati lo sono per le regioni coperte. Se stai facendo un'analisi di mercato di lungo periodo, il ritardo mensile di ANAC non è un problema.

Volumi 2023 inferiori — transizione OCDS ANAC

Sull'overview Italia e sui drill regionali e per categoria, l'anno 2023 appare con volumi circa la metà del 2022 e un terzo del 2024. Non è un nostro bug. È un fenomeno upstream con due cause concomitanti:

  • Entrata in vigore del nuovo Codice Contratti Pubblici (D.Lgs. 36/2023, 1 luglio 2023). Il cambio normativo ha introdotto un periodo di transizione nelle pipeline tecniche delle stazioni appaltanti e di ANAC. Molti bandi del 2° semestre 2023 sono stati pubblicati con ritardo o non sono mai stati versati nel feed OCDS che usiamo.
  • Migrazione del feed OCDS ANAC stesso. Il bulk OCDS è entrato a regime di produzione nel corso del 2023; prima di metà 2023 ANAC pubblicava i dati attraverso canali diversi non integralmente rifluiti nel bulk OCDS retrospettivo.

In numeri concreti, contando i CIG distinti con tender_period_start nell'anno:

AnnoCIG distinti ANAC
2021350.535
2022334.164
2023161.044
2024581.556
2025331.435

Abbiamo verificato che il bulk OCP italian_anac/3222 (la fonte cross-check storica) ha 93k bandi 2023, ma sono CIG completamente sovrapposti a quelli ANAC: niente di "nascosto" in OCP da recuperare. I dati 2023 non pubblicati nel feed OCDS non sono recuperabili da fonti pubbliche aperte.

Implicazione pratica: per analisi storiche di trend multi-anno, trattare il 2023 come anno di transizione con sotto-rappresentazione strutturale. Per la lettura dei top buyer / top fornitori a scope multi-anno il bias è ridotto (i player principali sono comunque presenti), ma il valore aggiudicato totale risente del buco.

Livello di dettaglio per portale regionale

Il livello di dato esposto in modalità anonima cambia da portale a portale, perché ciascuna piattaforma decide autonomamente cosa rendere pubblico senza autenticazione operatore. AppaltIntel importa solo ciò che il portale stesso pubblica: non aggiriamo paywall né autenticazioni operatore SPID/CIE.

  • Intercent-ER (Emilia-Romagna): il più ricco. Espone anagrafica completa, chiarimenti pubblicati (Q&A operatori-stazione appaltante) e documenti di gara scaricabili (capitolato, disciplinare, modulistica) con verifica di integrità SHA256.
  • SinTel (Lombardia): anagrafica + lotti con CIG distinti per multilotto + nomi dei file allegati. Chiarimenti, partecipanti e documenti scaricabili sono dietro login operatore.
  • MIT, Veneto, Campania, ATERP Calabria, CM Bari/Catania/Venezia (vendor PortaleAppalti): listing esiti con CIG, oggetto, ente, importo, tipologia, stato. L'enrichment del dettaglio aggiunge CUP, RUP e descrizione estesa dove presenti. Niente chiarimenti né documenti scaricabili anonimi.
  • CM Genova / Reggio Calabria / Palermo / Cagliari (vendor TUTTOGARE): listing DataTables AJAX anonimo con CIG, oggetto, ente, importo, stato, tipologia e fase. Stato multiplo nel listing (bandi attivi + aggiudicazioni con CIG/CUP). Niente arricchimento dettaglio: la lista è già abbastanza ricca per la mappa di mercato e gli alert pre-gara.
  • CM Roma Capitale / Napoli (vendor AF Soluzioni — AFLink): feed RSS XML pubblico anonimo con schema strutturato namespace afs:. Contiene CIG, CPV, oggetto, ente, importo, scadenza, tipo procedura e stato. Stesso vendor di PlaCe VdA. Dettaglio = SPA Joomla non scrapabile, ma il listing è già ricco.
  • START Toscana: listing-only (CIG, oggetto, ente, importo, stato). Il dettaglio è una single-page application JavaScript non scrapabile in plain HTTP. La lista è comunque sufficiente per la mappa di mercato e gli alert pre-gara.
  • PlaCe VdA: listing-only via feed RSS XML (CIG, oggetto, ente proponente e appaltante, importo, scadenza, tipo di procedura). Il dettaglio è anonimo ma non strutturato.
  • EmPULIA Puglia (vendor AF Soluzioni UTF-16LE): listing-only via feed RSS XML (~23K record multi-ente: Regione + ASL + AOU + Comuni pugliesi). Il dettaglio è una pagina SharePoint dietro autenticazione operatore.
  • Soresa SIAPS Campania (Drupal + backend EprocNext): listing pubblico su tre sezioni (Bandi/Avvisi, Consultazioni Preliminari, Convenzioni). Il dettaglio espone anagrafica completa, tabella multi-lotto con CIG per ciascun lotto, importo, procedura, criterio, termini, e allegati di gara scaricabili con verifica di integrità SHA256. Partecipanti, punteggi e verbali restano dietro login operatore sulla piattaforma operativa So.Re.Sa.
  • SUAM Marche e SUAR Liguria: listing pubblico con CIG, oggetto, ente, importo, tipologia, stato. Niente arricchimento dettaglio anonimo.
  • A.re.a.Com Abruzzo (vendor AFLink RSS): feed RSS XML pubblico anonimo con schema namespace afs: standard. Contiene CIG, oggetto, ente proponente e appaltante, importo, scadenza, tipo procedura e stato. Multi-ente regionale abruzzese. Listing-only: dettaglio è SPA Joomla.
  • Provincia di Teramo SUA.TE (vendor PortaleAppalti): listing esiti con CIG, oggetto, ente, importo, tipologia, stato. Per evitare il widget Friendly Captcha presente sul form POST il sync resta sui 10 esiti più recenti del listing GET diretto.

Per i campi che non vediamo dal portale regionale (lista partecipanti perdenti, punteggi tecnici/economici, verbali di gara strutturati) il riferimento resta ANAC OCDS dopo l'aggiudicazione, con il consueto ritardo mensile.

Copertura geografica delle stazioni appaltanti

TED espone la regione in modo strutturato (codici NUTS3 ufficiali Eurostat). I bandi ANAC invece non hanno un campo "regione" pulito: la stazione appaltante è identificata da nome e partita IVA, ma non c'è un'indicazione formale del territorio in cui opera.

Per agganciare la stazione appaltante a una regione italiana usiamo un'euristica sul nome (es. "ASST Bergamo Est" → Lombardia, "Comune di Cesenatico" → Emilia-Romagna). L'euristica funziona bene per i nomi che contengono esplicitamente regione, provincia o capoluogo, ma fallisce in alcuni casi:

  • Enti nazionali (ANAS, INPS, Agenzia delle Entrate): sono attivi in tutta Italia, e infatti restano "Non geo-mappato" — non è un errore, è una caratteristica del dato.
  • Enti con denominazione molto generica ("ARIA Lombardia" ha "AZIENDA REGIONALE PER L'INNOVAZIONE..." senza la parola "Lombardia" nel nome → non matcha).
  • Piccoli Comuni con denominazione bilingue (es. Bolzano/Bozen) o con caratteri speciali nei nomi possono mancare alcune varianti.

La copertura complessiva dell'euristica è di circa il 70-80% del valore aggiudicato. Quando filtri per regione, le righe non agganciate finiscono in "Non geo-mappato" — c'è anche un filtro esplicito per ispezionarle.

CPV mancanti su ANAC

Ogni procedura ANAC dovrebbe contenere uno o più codici CPV, ma in pratica il tag non è sempre popolato. Le funzioni che usano il filtro CPV (mappa del mercato, top fornitori per categoria, watchlist su CPV) si appoggiano per ora sul dataset OCP storico, dove la copertura è migliore. Per i bandi sotto-soglia ANAC più recenti, alcune funzioni CPV-based potrebbero mostrare meno risultati di quanti ne esistono realmente.

Estraiamo i CPV dal campo annidato tender.items.classification di ogni release ANAC. Sul ~40% delle release post-2025 il CPV è popolato, sul restante il dato è assente o NULL nel sorgente — è un limite della pubblicazione ANAC a monte, non della nostra estrazione. Quando ANAC migliorerà la copertura del campo, il miglioramento si propagherà automaticamente sul prodotto.

"Aggregatori" e accordi quadro con migliaia di fornitori

Alcune piattaforme di acquisto centralizzato (MEPA, Consip, accordi quadro regionali) producono "award elenco fornitori" con centinaia o migliaia di soggetti aggiudicatari. Sono un fenomeno reale ma producono outlier nelle statistiche per fornitore (un fornitore può essere "vincitore" in un accordo quadro senza aver effettivamente venduto nulla). AppaltIntel applica un cap a 50 fornitori per singola procedura, sotto questa soglia le aggiudicazioni sono incluse normalmente; sopra vengono escluse dalle statistiche aggregate.

Ribassi: solo dove c'è la base d'asta

Il ribasso praticato (importo a base d'asta − importo aggiudicato) ÷ base d'asta × 100 si calcola solo sulle gare per cui sono disponibili entrambi i valori. In molti affidamenti diretti e in alcune tipologie di accordo quadro la base d'asta non è esposta o non è applicabile, quindi il campione effettivo è più piccolo del numero totale di aggiudicazioni. Sulla pagina del singolo fornitore mostriamo sempre la dimensione del campione utilizzato (es. "calcolato su 22 aggiudicazioni").

Linguaggio descrittivo, non valutativo

AppaltIntel non emette mai etichette qualitative su soggetti terzi. Vedrai numeri ("ribasso mediano del 18%", "quota di mercato del 12% nel CPV X"), non aggettivi ("comportamento aggressivo", "rischio elevato", "fornitore affidabile"). Questa scelta non è solo un'eleganza stilistica:

  • Solidità tecnica: i numeri rimangono validi nel tempo. Le etichette qualitative invecchiano male e dipendono dal contesto (un ribasso del 30% può essere "alto" in un mercato e "normale" in un altro).
  • Prudenza legale: classificare un soggetto terzo con un'etichetta qualitativa ha implicazioni in materia di tutela della reputazione. Preferiamo mostrare il dato nudo e lasciare a te le valutazioni.

Cosa NON è incluso

Per chiarezza, alcune cose che esistono nel mondo degli appalti pubblici e che AppaltIntel non copre:

  • Documentazione di gara (bandi tecnici, capitolati, schemi di contratto): non li raccogliamo. Stanno sui portali delle singole stazioni appaltanti o sul MEPA.
  • Scoring di affidabilità dei fornitori o delle stazioni appaltanti: come spiegato sopra, è un'attività che non ci compete.
  • Anti-corruzione e segnalazioni di anomalie: esistono progetti pubblici dedicati (l'ANAC stessa, alcune piattaforme civiche). Noi abbiamo un altro scopo.
  • Subappalti e variazioni in corso d'opera: il dato OCDS contiene la spina dorsale dell'aggiudicazione iniziale, non l'esecuzione contrattuale dettagliata.
  • Dati personali di RUP, amministratori e referenti: pur essendo presenti nel dato OCDS, li minimizziamo nel display per scelta GDPR. Mostriamo il ruolo, non sempre il nome.

Regioni e portali non integrati

Per chiarezza elenchiamo i portali esaminati e archiviati, con la motivazione tecnica (la pagina Fonti dei dati ha la lista breve):

  • Sicilia: portale con certificato TLS scaduto da 18 mesi e Friendly Captcha sul listing pubblico — gli stessi visitatori umani devono risolvere una sfida prima di vedere i dati. Bypassare entrambe le barriere significherebbe tradire la promessa di accesso "anonimo, dichiarato, plain-HTTP".
  • Piemonte: i bandi della Regione Piemonte vengono pubblicati su CONSIP MEPA (RDO), non su un portale regionale dedicato. Il sito di Regione Piemonte è un Drupal editoriale senza dati strutturati.
  • Trentino: il portale Contracta ha un'API REST moderna e funzionante, ma la generazione del cookie JWT anonimo è gestita da JavaScript lato client; servirebbe un browser headless (Playwright) per replicare il flow.

Città Metropolitane non ancora integrate: Torino pubblica i bandi in pagina Drupal manuale (single-buyer, ~5-10 procedure totali, volume troppo basso per un parser custom). Firenze, Milano, Bologna e Messina sono in fase di recon.

Le altre Regioni (Lazio, Sardegna, Sicilia non sopra, Friuli, Umbria, Molise, Abruzzo, Basilicata, P.A. di Bolzano, P.A. di Trento) usano combinazioni di MEPA, CONSIP, portali Jaggaer/Net4Market non ancora reconnoiscati o piattaforme specifiche di centrale acquisti regionale che richiedono recon dedicato. La copertura cresce in base alle richieste degli utenti.

Hai trovato un bug nei dati?

Se vedi un numero che secondo te è sbagliato, o un fornitore/SA che non dovrebbe essere lì, scrivici a info@appaltintel.it: la maggior parte dei "bug" finora ha rivelato una stranezza nei dati upstream (il dataset OCDS non è perfetto) ma alcune sono stati nostri errori di parsing che abbiamo corretto.


Questa pagina ti è stata utile? Sezione assente o poco chiara? Scrivici a info@appaltintel.it.

CIG

OCID:

Per i bandi italiani ANAC/OCP non esiste una pagina pubblica per singolo CIG. Copia il codice e usalo nel sistema della tua stazione appaltante o nei portali di centrale di committenza.

Contatta AppaltIntel

Questo modulo ti mette in contatto con il servizio clienti AppaltIntel, non con l'ente o l'azienda che stai visualizzando.

Inviando il modulo accetti che i tuoi dati vengano usati per risponderti (vedi privacy). Non li inseriamo in mailing list senza il tuo consenso esplicito.