Metodo
Come raccogliamo e verifichiamo i dati
Aggiornato il
I dati sui concorsi arrivano da fonti ufficiali di pubblicazione, non da altri aggregatori. Vengono estratti con parsing deterministico: nessun modello linguistico legge un bando storico e nessun numero dell'archivio è generato da un'intelligenza artificiale. Le graduatorie vengono pubblicate solo in forma aggregata, mai con nomi. Le statistiche si mostrano solo sopra una soglia minima di osservazioni: sotto quella soglia la sezione sparisce invece di mostrare un numero fragile.
Le fonti
Da dove arrivano i dati
La fonte primaria è la sede legale di pubblicazione dei concorsi pubblici italiani, non un portale di comodo. Quello che non passa dalla pubblicazione ufficiale, sul piano giuridico, in larga parte non esiste.
- Gazzetta Ufficiale della Repubblica Italiana, 4ª Serie Speciale «Concorsi ed esami». È la sede ufficiale di pubblicazione, ed è la nostra fonte primaria. Ogni pagina di bando riporta gli estremi esatti della pubblicazione: serie, numero del fascicolo, data e codice redazionale, insieme al permalink ELI, l'indirizzo stabile con cui lo Stato stesso identifica l'atto. Chiunque può quindi verificare quello che scriviamo contro il documento originale, senza passare da noi e senza fidarsi di noi.
- Sezioni «Bandi di concorso» di Amministrazione Trasparente delle singole amministrazioni, pubblicate in adempimento del D.Lgs. 33/2013 e in parte catalogate come open data.
- Atti di approvazione delle graduatorie pubblicati dagli enti, da cui ricaviamo esclusivamente dati aggregati.
Una fonte che non usiamo, e perché
Non facciamo nessuna richiesta automatizzata al portale inPA. Il suo file robots.txt vieta l'accesso automatico all'intero host, e quel divieto lo rispettiamo per intero anche dove non saremmo obbligati. Un servizio che costruisce il proprio archivio violando le regole di accesso di un portale della pubblica amministrazione non è un servizio di cui fidarsi su nient'altro.
inPA resta la fonte pubblica e ufficiale a cui rimandiamo i candidati: pubblica l'elenco dei concorsi e invia avvisi gratuiti. Quello che facciamo noi è un passo diverso, non un duplicato.
La raccolta
Come ci comportiamo con i server pubblici
Un programma che raccoglie dati da un servizio pubblico può fargli male. Le regole che seguiamo sono vincoli, non buone intenzioni:
- Un solo agente identificato, con un contatto raggiungibile nella stringa di identificazione.
- Il file robots.txt di ogni host viene letto e rispettato con un parser vero, anche dove non esiste un obbligo di legge.
- Al massimo una richiesta ogni due secondi per singolo host, con finestra preferenziale notturna. Il limite si può configurare solo verso il basso, mai verso l'alto.
- Attesa progressiva in caso di errore o di limitazione da parte del server, con rispetto dell'intestazione Retry-After.
- Ogni nuovo scaricamento usa If-Modified-Since ed ETag: se il documento non è cambiato non lo riscarichiamo.
- Mai un accesso a risorse protette da autenticazione, captcha o limitazione deliberata.
Il principio è uno solo: non danneggiare il servizio pubblico. Un programma che satura un portale della pubblica amministrazione nei giorni di scadenza delle domande è un problema legale, non solo tecnico.
L'estrazione
Come leggiamo un bando
L'estrazione dei dati da un bando è deterministica: stesse regole, stesso documento, stesso risultato, sempre, e verificabile a ritroso. I bandi arrivano come PDF, a volte come scansioni, a volte dentro buste firmate digitalmente: il testo viene estratto, e quando il documento è una scansione si passa al riconoscimento ottico dei caratteri in italiano.
Nessun modello linguistico legge, riassume o interpreta l'archivio storico. Un numero che compare in una pagina di statistica viene da un conteggio su documenti reali, mai da una generazione. Dove usiamo l'intelligenza artificiale, e cioè solo sui concorsi ancora aperti e solo per aiutare la lettura dei requisiti, lo diciamo nella pagina in cui accade.
Verificabile contro una fonte di Stato
È il punto su cui questo servizio si distingue da un aggregatore. Un aggregatore chiede di credergli. Ogni pagina di dato di nafasi.it porta invece gli estremi dell'atto in Gazzetta Ufficiale e il collegamento diretto al documento originale: se sbagliamo, si vede, e chi legge se ne accorge senza doverci scrivere.
È anche il motivo per cui la fonte primaria è la Gazzetta e non un portale più comodo da leggere. Un portale è un'interfaccia, la Gazzetta è la sede legale di pubblicazione: quello che non passa di lì, sul piano giuridico, in larga parte non esiste.
Quando un dato non c'è
Un dato assente e un dato uguale a zero sono cose diverse e non le confondiamo mai. Se l'atto di approvazione di una graduatoria non riporta il numero di idonei, la pagina scrive che il numero non è riportato, non scrive «0 idonei», che affermerebbe un fatto diverso e falso.
Allo stesso modo, quando un campione è troppo piccolo perché una media abbia senso, la sezione non compare. Una statistica assente costa meno di una statistica sbagliata per eccesso di sicurezza, perché la seconda viene copiata, citata e ripetuta per anni.
Privacy
Le graduatorie contengono nomi. Il nostro archivio pubblico no.
Nessun nome di persona compare in nessuna pagina pubblica di nafasi.it, in nessun titolo, in nessun indirizzo e in nessun dato strutturato. Le pagine di graduatoria riportano solo aggregati: numero di posti banditi, numero di idonei quando è dichiarato nell'atto, punteggio minimo utile, data di approvazione, eventuali scorrimenti.
La posizione individuale si mostra soltanto alla persona che ha partecipato a quella procedura, dentro la sua area personale, e soltanto la sua.
Stato attuale
L'archivio pubblico dei concorsi, delle graduatorie e delle statistiche non è ancora online. La raccolta dei dati è in corso e questa pagina descrive il metodo con cui verrà costruito. Finché non ci sono dati misurati, su questo sito non compare nessun numero: preferiamo una sezione assente a una cifra plausibile.
Se abbiamo letto male
Se trovi un errore nella nostra lettura di un bando, segnalacelo: info@nafasi.it, indicando l'ente e la procedura. Lo verifichiamo contro il documento originale e correggiamo.