Data Engineering · Automazione

Dashboard Monitoraggio
Bandi e Gare

Pipeline automatizzata che raccoglie, classifica e presenta bandi e gare d'appalto rilevanti per il profilo dell'azienda. Scraping giornaliero, scoring di pertinenza e alert personalizzati per non perdere nessuna opportunità.

Python FastAPI Scrapy PostgreSQL Streamlit scikit-learn
4Portali monitorati
1.8kBandi/mese raccolti
89%Precisione matching
<6hTempo di alert
Pipeline di acquisizione e classificazione
🌐
Scraping
MePA, TED, SimoG, ANAC
🧹
Pulizia & ETL
Dedup, normalizzazione
🎯
Classificazione
TF-IDF + profilo azienda
🗄️
PostgreSQL
Storico + metadati
📊
Dashboard + Alert
Streamlit + email
Anteprima dashboard
🔍 Bandi Finder — Acme Solutions S.r.l.
🏷️ IT & Software
💰 > €50k
📍 Veneto
📍 Nazionale
⏰ Scadenza < 30gg
23
Nuovi oggi
8
Match alto
5
In scadenza
€2.4M
Valore totale
Bando Ente Importo Scadenza Match Stato
Fornitura sistema gestionale ERP ASL Venezia €320.000 18/05/2026 94% ● Nuovo
Sviluppo piattaforma dati integrata Regione Emilia-R. €185.000 22/05/2026 91% ● Aperto
Manutenzione infrastruttura cloud Università di Padova €95.000 12/05/2026 76% ● In scadenza
Servizi consulenza data analytics Fondazione Cariplo €140.000 30/05/2026 88% ● Nuovo
Digitalizzazione archivio documentale Camera di Comm. VE €62.000 25/05/2026 72% ● Aperto

Componenti del sistema

🕷️ Scraping Engine

Spider Scrapy dedicati per ogni portale (MePA, TED, SimoG, ANAC). Scheduling giornaliero via cron. Gestione rate-limiting, retry e rotazione user-agent.

🧹 ETL & Deduplicazione

Pipeline Pandas per normalizzazione campi (importi, date, CPV). Deduplicazione fuzzy con similarità testuale. Arricchimento con metadati ente e storico.

🎯 Scoring di Pertinenza

Matching TF-IDF tra descrizione del bando e profilo competenze dell'azienda. Score 0-100% con soglia configurabile per alert automatici.

📊 Dashboard & Alert

Frontend Streamlit con filtri per settore, importo, area geografica, scadenza. Alert email giornalieri per bandi ad alto match. Export CSV per il team commerciale.

Distribuzione bandi per categoria — ultimo trimestre
IT & Software 34% Data & Analytics 24% Cloud & Infra 18% Consulenza 14% Formazione 6% Altro 4%

Snippet chiave

import scrapy
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity
import pandas as pd

# Profilo competenze azienda
company_profile = """
Sviluppo software, data engineering, machine learning,
piattaforme cloud, integrazione sistemi, analytics,
automazione processi, gestione documentale digitale
"""

# Scoring pertinenza con TF-IDF
def score_tenders(tenders_df, profile):
    corpus = tenders_df['description'].tolist() + [profile]
    tfidf = TfidfVectorizer(stop_words='italian', max_features=5000)
    matrix = tfidf.fit_transform(corpus)
    
    # Cosine similarity vs profilo azienda
    profile_vec = matrix[-1]
    scores = cosine_similarity(matrix[:-1], profile_vec).flatten()
    tenders_df['match_score'] = (scores * 100).round(1)
    return tenders_df.sort_values('match_score', ascending=False)

# Alert per bandi ad alto match
high_match = scored_df[scored_df['match_score'] >= 75]
send_email_alert(high_match, recipients=["commerciale@acme.it"])

Risultati e applicabilità

Il sistema raccoglie e classifica in media 1.800 bandi al mese da 4 portali, con una precisione di matching dell'89% rispetto alla valutazione manuale del team commerciale.

Il tempo tra pubblicazione del bando e notifica all'azienda è inferiore alle 6 ore, contro i 2-3 giorni del monitoraggio manuale precedente. Questo ha permesso di candidarsi a bandi che prima venivano scoperti troppo tardi.

Lo scoring di pertinenza riduce il "rumore" dell'80%: invece di scorrere centinaia di bandi, il team commerciale ne valuta solo quelli realmente rilevanti, con un risparmio stimato di 15+ ore settimanali.

Il sistema è configurabile per qualsiasi settore e profilo aziendale. Il profilo competenze è aggiornabile in autonomia e il modello di scoring si adatta automaticamente. Integrabile con CRM aziendali per tracciare l'intero ciclo dal bando alla candidatura.

← Tutti i progetti Prossimo progetto →