Quanto valgono e come sono affidati gli appalti delle mense scolastiche in Italia?
I lotti di affidamento del servizio di ristorazione scolastica pubblicati dall'Autorità Nazionale Anticorruzione (ANAC) dal 2020, per territorio, stazione appaltante e aggiudicatario. Importi, durata e aggiudicatari descrivono il contratto pubblico: non misurano pasti serviti, tariffe o qualità del servizio.
Sintesi
Il servizio è individuato dai codici CPV (Common Procurement Vocabulary, vocabolario comune per gli appalti pubblici) 55524000 e 55523100, e dai lotti con codici di ristorazione di ordine superiore la cui descrizione indica un servizio scolastico. Ogni lotto è attribuito al comune del luogo di esecuzione, quando è indicato (11.266 lotti). Se manca, il luogo è dedotto dalla sede della stazione appaltante solo per i comuni, le province e gli enti i cui altri lotti cadono tutti nella stessa provincia (410 lotti, contati a parte). Restano senza territorio 407 lotti, per 0,77 miliardi di euro: sono bandi di agenzie regionali, centrali di committenza e ministeri, che servono più territori.
Mappa, appalti della ristorazione scolastica per provincia
Nessuna provincia selezionata
Clic su una provincia per vedere numero di lotti, importo aggiudicato e importo annualizzato.
Come leggere i dati
Una procedura può comprendere più lotti, ciascuno con il proprio codice identificativo (CIG) e il proprio aggiudicatario. L'unità di conto della vista è il lotto: il dato di una provincia somma i lotti del periodo 2020-2025 per i codici del servizio.
L'importo di aggiudicazione si riferisce all'intera durata del contratto, di norma pluriennale. Per confrontare i lotti l'importo è diviso per la durata in anni, ma solo dove la durata è nota: dichiarata nella Banca dati (4.855 lotti) oppure ricavata dal testo del bando, per esempio «dal 01/09/2025 al 31/07/2029» o il numero di anni scolastici (2.774 lotti). L'importo annualizzato è quindi calcolato sul 63% dei lotti e non è la somma annua degli appalti del territorio. Il valore a base di gara e l'importo di aggiudicazione sono due cose diverse e sono tenuti separati.
Gli appalti non misurano i pasti serviti, le tariffe pagate dalle famiglie né l'utenza: sono il contratto tra la stazione appaltante e l'operatore. Per la diffusione del tempo pieno e le tariffe in cinque città si veda la vista Mense scolastiche.
Per chi vuole il dettaglio metodologico
I dati vengono dai file mensili CIG dell'ANAC, dal 2020 al 2025, uniti ai file delle aggiudicazioni e degli aggiudicatari tramite il codice CIG. La selezione include i lotti con CPV 55523100 o 55524000 (servizi di ristorazione scolastica, 8.833 lotti) e i lotti con CPV di ristorazione di ordine superiore la cui descrizione cita esplicitamente il servizio scolastico. Sono solo servizi. L'attribuzione al comune usa il codice ISTAT del luogo di esecuzione (6 cifre, con la provincia nelle prime 3). Sono esclusi dai totali di importo i lotti con importo di aggiudicazione oltre dieci volte il valore a base di gara e i contratti di partenariato che comprendono la costruzione di un centro pasti. L'affidamento diretto riguarda 6.063 lotti (50%). I dati arrivano al 31 dicembre 2025.
Analisi
Servizio di ristorazione scolastica, gennaio 2020 - dicembre 2025. Di questi 2.344 hanno un valore a base di gara inferiore a 40.000 euro.
Somma delle aggiudicazioni di 7.531 lotti, per l'intera durata dei contratti. Mediana per lotto: 111.000 euro.
Luogo di esecuzione dichiarato in 11.266 lotti su 12.083.
Enti distinti che hanno bandito almeno un lotto: comuni, unioni, centrali di committenza.
Per anno
| 2020 | 585 | 845,5 mln € | 259 | 405,1 mln € |
| 2021 | 1.627 | 2.437,9 mln € | 765 | 1.584,4 mln € |
| 2022 | 1.915 | 2.206,2 mln € | 813 | 1.306,1 mln € |
| 2023 | 2.044 | 1.746,9 mln € | 820 | 786,7 mln € |
| 2024 | 2.674 | 1.842,2 mln € | 2.139 | 1.128,4 mln € |
| 2025 | 3.238 | 2.663,5 mln € | 2.735 | 987,5 mln € |
I dodici lotti di importo più alto
| Intercent-ER Agenzia Regionale di Sviluppo dei Mercati Telematici | Non attribuibile | 2022 | 93.624.000 | 60 mesi | 55524000 | Procedura aperta |
| Roma Capitale | Roma | 2021 | 79.171.488 | Non nota | 55524000 | Procedura aperta |
| Comune di Bologna | Bologna | 2020 | 77.321.322 | Non nota | 55524000 | Procedura aperta |
| Intercent-ER Agenzia Regionale di Sviluppo dei Mercati Telematici | Non attribuibile | 2022 | 66.270.000 | 60 mesi | 55524000 | Procedura aperta |
| Roma Capitale | Roma | 2021 | 64.314.245 | Non nota | 55524000 | Procedura aperta |
| Roma Capitale | Roma | 2021 | 63.923.994 | Non nota | 55524000 | Procedura aperta |
| Roma Capitale | Roma | 2021 | 55.159.706 | Non nota | 55524000 | Procedura aperta |
| Roma Capitale | Roma | 2021 | 54.740.921 | Non nota | 55524000 | Procedura aperta |
| Roma Capitale | Roma | 2021 | 52.873.589 | Non nota | 55524000 | Procedura aperta |
| Roma Capitale | Roma | 2021 | 51.032.275 | Non nota | 55524000 | Procedura aperta |
| Comunità della Valle dei Laghi | Trento | 2022 | 45.015.269 | 102 mesi | 55524000 | Procedura aperta |
| Roma Capitale | Roma | 2021 | 40.778.318 | Non nota | 55524000 | Procedura aperta |
Lotti esclusi dai totali di importo
| Comune di Castell'Arquato | 2025 | 899.593 | 88.728.763 | Importo di aggiudicazione oltre dieci volte il valore a base di gara (incoerente) |
| Comune di Modena | 2021 | 126.280.516 | 120.940.442 | Contratto di partenariato che include la costruzione di un centro pasti (perimetro non omogeneo) |
| Comune di La Spezia | 2020 | 44.704.140 | 44.248.158 | Contratto di partenariato che include la costruzione di un centro pasti (perimetro non omogeneo) |
| Comune di Cortemaggiore | 2025 | 783.416 | 75.066.112 | Importo di aggiudicazione oltre dieci volte il valore a base di gara (incoerente) |
| Comune di San Vito sullo Ionio | 2025 | 4,46 | 59.976 | Importo di aggiudicazione oltre dieci volte il valore a base di gara (incoerente) |
Aggiudicatari
Dei 6.393 lotti aggiudicati con aggiudicatario registrato, gli operatori che sono persone giuridiche distinti per codice fiscale sono 1.156. I cinque più frequenti compaiono nel 24,1% delle partecipazioni. La tabella elenca i quattordici operatori presenti nel maggior numero di lotti, in ordine di numero di lotti: non è una graduatoria di qualità né un giudizio sulla concorrenza.
| CAMST soc. coop. a r.l. | 456 | 894,0 mln € |
| Cooperativa Italiana di Ristorazione S.C. | 410 | 818,1 mln € |
| Sodexo Italia S.p.A. | 226 | 358,2 mln € |
| Dussmann Service S.r.l. | 214 | 359,5 mln € |
| Euroristorazione S.r.l. | 199 | 275,2 mln € |
| Serenissima Ristorazione S.p.A. | 157 | 394,4 mln € |
| Vivenda S.p.A. | 131 | 439,1 mln € |
| Elior Ristorazione S.p.A. | 111 | 153,7 mln € |
| SER.CAR. Ristorazione Collettiva S.r.l. | 78 | 76,2 mln € |
| Scamar S.r.l. | 74 | 43,1 mln € |
| Markas S.r.l. | 71 | 35,7 mln € |
| Nenè Services Società Cooperativa Sociale di Tipo B | 63 | 12,9 mln € |
| SIR - Sistemi Italiani Ristorazione S.r.l. | 61 | 23,0 mln € |
| Ladisa S.r.l. | 60 | 164,1 mln € |
Province
| Agrigento | Sicilia | 66 | 1 | 41 | 2.413.969 | 2.235.033 | 27 |
| Alessandria | Piemonte | 155 | 3 | 92 | 40.771.103 | 9.486.832 | 70 |
| Ancona | Marche | 83 | 0 | 59 | 51.599.708 | 6.318.024 | 35 |
| Arezzo | Toscana | 79 | 11 | 61 | 33.947.564 | 8.329.569 | 26 |
| Ascoli Piceno | Marche | 92 | 0 | 61 | 20.703.256 | 6.480.187 | 27 |
| Asti | Piemonte | 53 | 2 | 34 | 10.840.748 | 7.933.969 | 29 |
| Avellino | Campania | 181 | 3 | 106 | 7.471.635 | 3.421.977 | 89 |
| Bari | Puglia | 101 | 2 | 53 | 48.465.046 | 22.701.319 | 32 |
| Barletta-Andria-Trani | Puglia | 22 | 1 | 9 | 9.060.011 | 1.912.649 | 9 |
| Belluno | Veneto | 111 | 4 | 74 | 17.769.075 | 5.143.917 | 35 |
| Benevento | Campania | 158 | 2 | 75 | 10.157.677 | 7.141.436 | 66 |
| Bergamo | Lombardia | 247 | 6 | 166 | 87.457.033 | 22.009.511 | 137 |
| Biella | Piemonte | 84 | 0 | 47 | 4.669.736 | 1.183.513 | 40 |
| Bologna | Emilia-Romagna | 70 | 5 | 50 | 184.611.060 | 17.802.816 | 33 |
| Bolzano/Bozen | Trentino-Alto Adige/Südtirol | 205 | 8 | 170 | 51.293.351 | 8.440.589 | 45 |
| Brescia | Lombardia | 260 | 21 | 194 | 141.859.037 | 36.863.395 | 114 |
| Brindisi | Puglia | 47 | 2 | 18 | 13.999.581 | 2.509.000 | 15 |
| Cagliari | Sardegna | 52 | 4 | 29 | 22.441.536 | 6.667.868 | 15 |
| Caltanissetta | Sicilia | 28 | 0 | 15 | 9.087.895 | 2.251.981 | 13 |
| Campobasso | Molise | 107 | 3 | 79 | 3.460.533 | 2.097.718 | 48 |
| Caserta | Campania | 247 | 3 | 134 | 17.519.640 | 6.641.244 | 93 |
| Catania | Sicilia | 107 | 2 | 57 | 8.238.078 | 5.761.891 | 34 |
| Catanzaro | Calabria | 158 | 6 | 87 | 16.137.088 | 9.465.827 | 60 |
| Chieti | Abruzzo | 137 | 0 | 101 | 21.692.902 | 4.086.595 | 65 |
| Como | Lombardia | 171 | 6 | 98 | 39.822.805 | 14.698.028 | 90 |
| Cosenza | Calabria | 234 | 0 | 138 | 14.224.656 | 6.144.437 | 109 |
| Cremona | Lombardia | 102 | 5 | 66 | 35.400.634 | 7.008.390 | 53 |
| Crotone | Calabria | 66 | 1 | 30 | 5.719.263 | 2.304.493 | 21 |
| Cuneo | Piemonte | 233 | 7 | 131 | 36.039.972 | 11.390.929 | 109 |
| Enna | Sicilia | 48 | 0 | 30 | 16.027.707 | 800.323 | 18 |
| Fermo | Marche | 60 | 0 | 43 | 6.677.999 | 2.895.970 | 26 |
| Ferrara | Emilia-Romagna | 46 | 3 | 36 | 24.229.165 | 7.037.048 | 17 |
| Firenze | Toscana | 71 | 0 | 56 | 117.548.792 | 101.996.892 | 22 |
| Foggia | Puglia | 172 | 3 | 86 | 23.754.377 | 8.078.088 | 53 |
| Forlì-Cesena | Emilia-Romagna | 44 | 1 | 30 | 23.775.977 | 6.301.311 | 20 |
| Frosinone | Lazio | 107 | 1 | 56 | 7.347.505 | 3.610.002 | 60 |
| Genova | Liguria | 105 | 6 | 49 | 30.675.689 | 6.287.194 | 40 |
| Gorizia | Friuli-Venezia Giulia | 33 | 2 | 25 | 11.913.336 | 615.905 | 20 |
| Grosseto | Toscana | 46 | 1 | 28 | 33.544.993 | 9.929.777 | 17 |
| Imperia | Liguria | 53 | 2 | 33 | 17.533.095 | 7.400.923 | 30 |
| Isernia | Molise | 39 | 0 | 29 | 1.446.377 | 459.306 | 25 |
| L'Aquila | Abruzzo | 152 | 0 | 103 | 219.729.360 | 10.336.835 | 58 |
| La Spezia | Liguria | 38 | 0 | 31 | 9.676.199 | 3.180.369 | 18 |
| Latina | Lazio | 49 | 0 | 24 | 11.664.315 | 2.605.779 | 25 |
| Lecce | Puglia | 198 | 10 | 98 | 32.540.308 | 8.965.267 | 73 |
| Lecco | Lombardia | 100 | 13 | 55 | 18.329.502 | 4.356.149 | 51 |
| Livorno | Toscana | 42 | 0 | 29 | 45.896.627 | 9.897.474 | 14 |
| Lodi | Lombardia | 68 | 2 | 39 | 15.931.340 | 3.515.213 | 42 |
| Lucca | Toscana | 63 | 1 | 33 | 37.158.087 | 12.235.125 | 25 |
| Macerata | Marche | 75 | 4 | 56 | 26.520.420 | 6.570.177 | 36 |
| Mantova | Lombardia | 63 | 1 | 47 | 31.845.313 | 8.141.781 | 36 |
| Massa-Carrara | Toscana | 27 | 0 | 22 | 38.389.306 | 3.450.149 | 14 |
| Matera | Basilicata | 48 | 0 | 32 | 10.356.013 | 2.236.847 | 24 |
| Messina | Sicilia | 153 | 1 | 90 | 11.882.362 | 7.472.744 | 57 |
| Milano | Lombardia | 177 | 5 | 127 | 365.170.792 | 78.589.189 | 83 |
| Modena | Emilia-Romagna | 74 | 9 | 49 | 84.422.934 | 16.663.965 | 30 |
| Monza e della Brianza | Lombardia | 61 | 3 | 49 | 111.819.440 | 18.987.916 | 39 |
| Napoli | Campania | 263 | 13 | 147 | 200.162.084 | 60.795.760 | 85 |
| Novara | Piemonte | 102 | 6 | 64 | 55.237.704 | 8.253.043 | 49 |
| Nuoro | Sardegna | 136 | 1 | 66 | 17.446.284 | 8.327.559 | 58 |
| Oristano | Sardegna | 74 | 7 | 31 | 4.437.026 | 2.219.611 | 30 |
| Padova | Veneto | 128 | 4 | 76 | 53.253.155 | 11.585.470 | 69 |
| Palermo | Sicilia | 123 | 0 | 80 | 19.882.326 | 20.163.923 | 47 |
| Parma | Emilia-Romagna | 76 | 0 | 63 | 54.452.157 | 12.076.008 | 31 |
| Pavia | Lombardia | 122 | 0 | 73 | 39.038.246 | 8.918.134 | 72 |
| Perugia | Umbria | 87 | 6 | 54 | 29.214.047 | 6.515.937 | 38 |
| Pesaro e Urbino | Marche | 57 | 1 | 42 | 25.819.276 | 5.158.572 | 29 |
| Pescara | Abruzzo | 60 | 0 | 36 | 4.862.627 | 531.231 | 26 |
| Piacenza | Emilia-Romagna | 71 | 5 | 45 | 31.165.592 | 12.166.176 | 30 |
| Pisa | Toscana | 50 | 1 | 34 | 25.229.723 | 10.363.429 | 27 |
| Pistoia | Toscana | 40 | 0 | 30 | 45.945.544 | 11.973.772 | 19 |
| Pordenone | Friuli-Venezia Giulia | 72 | 4 | 52 | 49.635.913 | 4.513.457 | 34 |
| Potenza | Basilicata | 190 | 0 | 130 | 32.035.737 | 12.357.257 | 84 |
| Prato | Toscana | 33 | 0 | 30 | 40.003.094 | 21.541.737 | 6 |
| Ragusa | Sicilia | 35 | 0 | 16 | 1.325.279 | 841.327 | 9 |
| Ravenna | Emilia-Romagna | 8 | 1 | 6 | 65.400.004 | 5.432.083 | 4 |
| Reggio di Calabria | Calabria | 158 | 0 | 60 | 4.555.862 | 2.145.117 | 59 |
| Reggio nell'Emilia | Emilia-Romagna | 98 | 4 | 52 | 78.244.004 | 38.854.908 | 24 |
| Rieti | Lazio | 97 | 3 | 67 | 11.970.217 | 5.072.840 | 38 |
| Rimini | Emilia-Romagna | 50 | 0 | 35 | 47.070.348 | 7.868.514 | 19 |
| Roma | Lazio | 235 | 8 | 127 | 810.145.643 | 25.141.459 | 79 |
| Rovigo | Veneto | 66 | 1 | 46 | 12.308.375 | 4.439.974 | 27 |
| Salerno | Campania | 239 | 7 | 138 | 31.098.415 | 15.628.096 | 112 |
| Sassari | Sardegna | 146 | 4 | 72 | 33.264.300 | 11.525.626 | 66 |
| Savona | Liguria | 110 | 8 | 73 | 28.494.151 | 4.783.506 | 44 |
| Siena | Toscana | 57 | 6 | 41 | 21.100.935 | 5.301.182 | 27 |
| Siracusa | Sicilia | 57 | 1 | 34 | 4.817.326 | 3.657.612 | 16 |
| Sondrio | Lombardia | 104 | 3 | 72 | 17.027.520 | 6.431.639 | 48 |
| Sud Sardegna | Sardegna | 178 | 2 | 74 | 15.997.118 | 7.769.839 | 77 |
| Taranto | Puglia | 42 | 1 | 19 | 12.620.478 | 4.515.815 | 19 |
| Teramo | Abruzzo | 90 | 1 | 50 | 12.450.875 | 2.426.405 | 39 |
| Terni | Umbria | 44 | 0 | 28 | 9.642.583 | 1.731.786 | 25 |
| Torino | Piemonte | 438 | 11 | 248 | 375.617.170 | 91.851.106 | 195 |
| Trapani | Sicilia | 63 | 1 | 35 | 7.158.909 | 3.927.478 | 19 |
| Trento | Trentino-Alto Adige/Südtirol | 154 | 1 | 146 | 90.513.576 | 22.436.706 | 34 |
| Treviso | Veneto | 233 | 51 | 190 | 209.860.823 | 48.445.546 | 84 |
| Trieste | Friuli-Venezia Giulia | 34 | 4 | 26 | 22.982.903 | 2.436.549 | 4 |
| Udine | Friuli-Venezia Giulia | 264 | 15 | 164 | 79.651.663 | 25.928.179 | 106 |
| Valle d'Aosta/Vallée d'Aoste | Valle d'Aosta/Vallée d'Aoste | 119 | 5 | 90 | 27.918.825 | 12.429.173 | 45 |
| Varese | Lombardia | 167 | 8 | 107 | 82.367.158 | 15.444.165 | 92 |
| Venezia | Veneto | 89 | 7 | 58 | 67.234.034 | 13.177.696 | 37 |
| Verbano-Cusio-Ossola | Piemonte | 77 | 13 | 51 | 9.849.122 | 989.345 | 35 |
| Vercelli | Piemonte | 87 | 1 | 58 | 14.631.286 | 2.649.004 | 38 |
| Verona | Veneto | 184 | 9 | 124 | 60.669.348 | 15.818.757 | 77 |
| Vibo Valentia | Calabria | 105 | 0 | 47 | 4.058.808 | 1.657.413 | 41 |
| Vicenza | Veneto | 186 | 7 | 132 | 63.576.379 | 27.345.986 | 79 |
| Viterbo | Lazio | 110 | 3 | 75 | 12.089.574 | 4.253.548 | 50 |
Stesso dato della mappa, stessa fonte. Geografia a 107 province.
Limiti dell'analisi
Approfondimenti
Dove è più diffuso il tempo pieno nella primaria e quanto costa la refezione in cinque città campione?
La quota di alunni a tempo pieno in 6.282 comuni e le tariffe della refezione, accanto agli appalti.
Dove si spreca il cibo in Italia?
La ristorazione collettiva è una delle fasi della filiera in cui Eurostat misura lo spreco alimentare.
Quanto sono aumentati i prezzi alimentari in Italia?
Gli indici dei prezzi dei beni alimentari dal 2021, utili a leggere gli importi nel tempo.
Fonti e metodo
- ANAC (Autorità Nazionale Anticorruzione), Banca dati nazionale dei contratti pubblici, dataset CIG mensili, aggiudicazioni e aggiudicatari, gennaio 2020 - dicembre 2025, licenza CC BY-SA 4.0. I dati sull'aggiudicatario e sull'importo di aggiudicazione sono pubblicati in formato aperto ai sensi dell'art. 28 del D.Lgs. 36/2023
- Codici CPV 55524000 e 55523100 e descrizione del lotto, per la selezione del servizio
- Ministero dell'Istruzione e del Merito, Portale Unico dei Dati della Scuola: comuni con scuole primarie, anno scolastico 2024/2025
- ISTAT, elenco dei comuni italiani e confini amministrativi