Documentazione Tecnica e Architetturale
Career Intelligence Platform
per l'Orientamento
Professionale Data-Driven
Dicembre 2025
Bozza 1.0 | Documento Confidenziale
Abstract
Il presente documento descrive l'architettura tecnica e il modello di elaborazione dati della piattaforma HR Trails, un sistema di orientamento professionale data-driven destinato a giovani professionisti nelle fasi cruciali delle loro scelte formative e di carriera. A differenza degli approcci tradizionali basati su test attitudinali e percezioni soggettive, HR Trails sfrutta una base dati proprietaria di mappature di competenze reali per generare insight personalizzati e benchmark comparativi. Il cuore del sistema è il Career Intelligence Engine, un modulo di elaborazione che implementa algoritmi proprietari per lo scoring dei percorsi formativi, l'analisi dei gap di competenze e la predizione delle traiettorie professionali. Il documento presenta l'architettura a microservizi, il catalogo dei datapoint disponibili, le modalità di integrazione dati e la roadmap di sviluppo.
Indice
HR Trails è una piattaforma di Career Intelligence progettata per supportare giovani professionisti (17-27 anni) in decisioni formative e di carriera ad alto impatto. A differenza degli approcci tradizionali basati su test attitudinali e valutazioni qualitative, HR Trails utilizza dati empirici del mercato del lavoro per generare benchmark quantitativi e predizioni evidence-based.
La piattaforma si fonda su tre pilastri metodologici:
La piattaforma integra quattro dataset proprietari (skill mappings, career histories, compensation benchmarks, labour market trends) per generare cinque categorie di output:
Il modello di segmentazione è articolato su tre coorti di utenti, differenziate per fase del lifecycle professionale:
Tabella 1. Segmentazione del target e relative esigenze informative.
| Segmento | Età | Momento Decisionale | Domande Chiave |
|---|---|---|---|
| Pre-universitari | 17-19 | Scelta dell'università e del corso di laurea | Quale ateneo? Quale corso? Quali sbocchi? |
| Studenti / Neolaureati | 20-25 | Ingresso nel mercato del lavoro e prime esperienze | Cosa mi manca? Quanto chiedere? Quale primo lavoro? |
| Giovani professionisti | 24-27 | Crescita professionale e ottimizzazione carriera | Sono pagato bene? Come crescere? Posso cambiare ruolo? |
L'architettura operativa si articola in tre layer sequenziali (Figura 1):
Figura 1. Il flusso operativo di HR Trails.
Il sistema implementa un'interfaccia guidata basata su query strutturate, eliminando la necessità di competenze analitiche da parte dell'utente finale.
L'architettura della piattaforma implementa un modello modulare: ogni segmento di utenti accede a un set specifico di moduli di analisi, ciascuno dei quali interroga il database di workforce intelligence secondo parametri predefiniti (Figura 2).
Figura 2. Architettura modulare per segmento.
Ciascun modulo esegue query predefinite sul database (filtri per segmento, ruolo, geografia, esperienza) e restituisce aggregazioni statistiche, confronti o gap analysis. L'utente può eseguire più moduli in sequenza per ottenere una vista completa delle proprie opportunità.
Il segmento pre-universitari richiede supporto decisionale nella fase di selezione del percorso formativo. I moduli disponibili implementano confronti multi-dimensionali basati su outcome misurabili post-laurea (placement rate, compensation, mobilità settoriale) derivati da coorti omogenee di dimensione statisticamente significativa (N > 500 per ateneo). L'approccio elimina bias soggettivi tipici dell'orientamento tradizionale, sostituendo valutazioni qualitative con benchmark quantitativi evidence-based.
Marco, 18 anni, deve scegliere tra Economia alla Bocconi, Economia a Bologna, o Ingegneria Gestionale al Politecnico di Milano. Vuole capire quale percorso gli offrirà le migliori opportunità.
Tabella 2. Moduli disponibili per il segmento Pre-Universitari.
| Modulo | Query | Output |
|---|---|---|
| Confronto Università | Filtro per ateneo + corso | Aggregazioni: RAL mediana, placement rate, top employer, settori |
| Analisi Ruolo Target | Filtro per ruolo + città | Percorsi formativi più comuni + outcome (RAL, tempo impiego) |
| Percorsi di Carriera | Filtro per ateneo + corso | Pattern: ruoli tipici a 1/3/5 anni post-laurea |
Il segmento studenti/neolaureati si concentra sull'ottimizzazione dell'ingresso nel mercato del lavoro. I moduli eseguono analisi comparative tra il profilo dell'utente e profili target (skill gap analysis), benchmark retributivi per ruoli entry-level filtrati per geografia e settore, e pattern analysis su traiettorie di carriera post-laurea. Il sistema quantifica distanze skill-based mediante metriche normalizzate (distanza euclidea), restituendo roadmap di upskilling prioritizzate per massimizzare employability e compensation potential.
Sara, 23 anni, neolaureata in Informatica al Politecnico di Milano, vuole capire su quali competenze investire per massimizzare le sue opportunità nella consulenza tech e quanto può aspettarsi come RAL iniziale.
Tabella 4. Moduli disponibili per il segmento Studenti/Neolaureati.
| Modulo | Query | Output |
|---|---|---|
| Gap di Competenze | Confronto: skill utente vs skill mediane ruolo target | Gap analysis + roadmap upskilling prioritizzata |
| Benchmark per Ruolo | Filtro per ruolo entry-level + città + settore | RAL mediana, skill richieste, aziende tipiche |
| Analisi Primi Impieghi | Pattern: "primo ruolo X" → outcome a 3 anni | Career paths tipici + RAL progression + mobilità |
Il segmento giovani professionisti richiede strumenti di ottimizzazione della progressione di carriera. I moduli implementano benchmark retributivi basati su coorti filtrate per ruolo, esperienza, settore e geografia (±1 anno di tenure), analisi di fattibilità per transizioni inter-ruolo (skill gap + success rate + RAL delta), e assessment di readiness per avanzamenti verticali mediante confronto con profili seniority +1. Le distribuzioni percentilari permettono posizionamento preciso rispetto al mercato e identificazione di gap retributivi o competenze statisticamente significativi (> 1 deviazione standard).
Luca, 26 anni, lavora come Data Analyst in una PMI da 2 anni con RAL di 32k. Vuole capire se è pagato correttamente rispetto al mercato e se può fare il salto verso un ruolo di Data Scientist.
Tabella 5. Moduli disponibili per il segmento Giovani Professionisti.
| Modulo | Query | Output |
|---|---|---|
| Benchmark Retributivo | Filtro: ruolo + città + esperienza + settore | Distribuzione percentilica RAL + posizionamento utente |
| Transizioni di Ruolo | Pattern: "da ruolo X a ruolo Y" | Skill gap + tempi medi + success rate + RAL delta |
| Analisi Promozione | Confronto: skill utente vs skill mediane seniority +1 | Gap analysis + timeline tipica + requisiti aziendali |
L'output layer genera un Report Personalizzato strutturato in cinque sezioni:
La delivery avviene su due canali paralleli: interfaccia web interattiva con drill-down su dati granulari, e PDF statico ottimizzato per presentazioni executive.
Il Career Intelligence Engine (CIE) costituisce il nucleo elaborativo della piattaforma, implementando un'architettura a layer che integra tecniche di statistical computing, pattern recognition e optimization theory. Il sistema elabora i 9 moduli analitici del Capitolo 2 attraverso una pipeline multi-stage che combina operazioni di cohort construction, distributional analysis e predictive scoring.
L'engine garantisce latenze inferiori a 2 secondi (p95) attraverso l'utilizzo di materialized views pre-computate, columnar indexing su dimensioni chiave (ruolo, geo, seniority, skill) e strategie di query optimization basate su cost-based analysis. Le aggregazioni statistiche operano su coorti di dimensione N≥500 per garantire significatività statistica (confidence interval 95%, margin of error <5%).
L'architettura del CIE è organizzata in quattro layer funzionali interconnessi:
Figura 7. Architettura a layer del Career Intelligence Engine.
L'architettura di HR Trails segue un modello three-tier con separazione netta tra presentation layer, business logic e data layer. Il sistema è progettato per garantire scalabilità orizzontale, manutenibilità e tempi di risposta contenuti (<2s per query complesse).
Figura 8. Architettura high-level del sistema HR Trails.
La comunicazione tra layer avviene tramite API RESTful con payload JSON. Il sistema implementa pattern di graceful degradation: in caso di indisponibilità di componenti non critici (es. cache), il servizio continua a operare con performance ridotte anziché fallire completamente.
La scelta dello stack tecnologico bilancia modernità, performance e pragmatismo implementativo, privilegiando tecnologie con ecosistemi maturi e community attive.
Tabella 8. Stack tecnologico frontend.
| Componente | Tecnologia | Motivazione |
|---|---|---|
| Framework | Next.js 14+ (App Router) | SSR/SSG, ottimizzazione SEO, developer experience |
| Linguaggio | TypeScript | Type safety, refactoring sicuro, IDE support |
| Styling | Tailwind CSS | Utility-first, design system coerente, bundle ottimizzato |
| Data Visualization | Recharts / D3.js | Grafici interattivi, customizzazione avanzata |
| State Management | Zustand + React Query | Stato client leggero, caching server state |
Tabella 9. Stack tecnologico backend.
| Componente | Tecnologia | Motivazione |
|---|---|---|
| API Server | Python / FastAPI | Performance async, auto-documentazione OpenAPI, typing |
| Data Processing | Pandas / Polars | Elaborazione dataframe efficiente, aggregazioni complesse |
| ML/Statistics | Scikit-learn / Statsmodels | Modelli predittivi, analisi statistica |
| Task Queue | Celery + Redis | Job asincroni per report generation |
Tabella 10. Stack infrastrutturale.
| Componente | Tecnologia | Motivazione |
|---|---|---|
| Frontend Hosting | Vercel | Edge network globale, deploy automatici, preview environments |
| Backend Hosting | Railway / Render | Container managed, scaling automatico, CI/CD integrato |
| Database | PostgreSQL (Supabase/Neon) | ACID compliance, JSON support, estensioni statistiche |
| Cache | Redis (Upstash) | Caching query frequenti, session storage, rate limiting |
| CDN | Cloudflare | Edge caching, DDoS protection, SSL/TLS |
Il data layer implementa una strategia di storage ibrida ottimizzata per i diversi pattern di accesso ai dati della piattaforma.
PostgreSQL gestisce i dati strutturati core con uno schema normalizzato (3NF) per le entità principali e denormalizzato per le tabelle di aggregazione pre-computate.
Figura 9. Schema logico semplificato del database.
Per garantire latenze <2s anche su query complesse, il sistema utilizza materialized views pre-computate per le aggregazioni più frequenti:
Le materialized views vengono refreshate con cadenza giornaliera (off-peak hours) tramite job schedulati, garantendo dati freschi senza impattare le performance in produzione.
Redis implementa una strategia di caching multi-livello:
Data la natura sensibile dei dati trattati (informazioni professionali, retribuzioni), il sistema implementa controlli di sicurezza multi-livello conformi a GDPR e best practice di settore.
Tabella 11. Compliance GDPR per categoria di dati.
| Requisito GDPR | Implementazione |
|---|---|
| Base legale | Legittimo interesse per dati pubblici; consenso esplicito per dati utente |
| Diritto di accesso | Export dati personali disponibile da dashboard utente |
| Diritto all'oblio | Procedura di cancellazione completa entro 30 giorni |
| Portabilità | Export in formato JSON/CSV machine-readable |
| Data retention | Policy di retention con cancellazione automatica dati obsoleti |
HR Trails opera su un dataset proprietario di workforce intelligence che viene alimentato, arricchito e sincronizzato attraverso una pipeline di data integration strutturata. Questo capitolo descrive la fonte dati principale, il catalogo dei datapoint disponibili, i flussi di sincronizzazione e i meccanismi di quality assurance.
HR Trails usufruisce della base dati di SkillSherpa, piattaforma di data provisioning che raccoglie informazioni pubbliche sul mercato del lavoro. SkillSherpa fornisce la materia prima: dati grezzi su profili professionali, percorsi di carriera e offerte di lavoro.
Il valore aggiunto di HR Trails sta in ciò che avviene dopo l'acquisizione dei dati grezzi. La piattaforma trasforma informazioni non strutturate in intelligence azionabile attraverso:
In sintesi: SkillSherpa fornisce i dati grezzi, HR Trails li trasforma in insight di valore per studenti, professionisti e career counselor.
Il dataset di HR Trails comprende cinque macro-categorie di datapoint, ciascuna con specifiche caratteristiche di copertura, granularità e frequenza di aggiornamento.
Tabella 12. Datapoint categoria Educazione.
| Datapoint | Tipo | Copertura | Fonte |
|---|---|---|---|
| Ateneo | Categorico | 100% università italiane | Profili pubblici |
| Corso di laurea | Categorico (normalizzato) | ~95% | Profili pubblici |
| Anno di laurea | Numerico | ~90% | Profili pubblici |
| Tipo laurea (triennale/magistrale) | Categorico | ~85% | Inferito |
| Master/MBA | Booleano + dettaglio | ~80% | Profili pubblici |
Tabella 13. Datapoint categoria Esperienza Professionale.
| Datapoint | Tipo | Copertura | Note |
|---|---|---|---|
| Ruolo attuale | Categorico (normalizzato) | 100% | Tassonomia proprietaria ~500 ruoli |
| Azienda attuale | Entità linkable | 100% | Match con database aziende |
| Settore | Categorico (NACE) | 100% | Derivato da azienda |
| Storico posizioni | Array di oggetti | ~85% | Ultime 5 posizioni |
| Tenure per posizione | Numerico (mesi) | ~80% | Calcolato da date |
| Seniority level | Ordinale (1-6) | 100% | Inferito da titolo + tenure |
| Località | Geo (città/regione) | ~90% | Normalizzata |
Tabella 14. Datapoint categoria Competenze.
| Datapoint | Tipo | Copertura | Note |
|---|---|---|---|
| Skill dichiarate | Array categorico | ~70% | Normalizzate su tassonomia ~2000 skill |
| Skill inferite | Array categorico | 100% | Derivate da ruolo + settore + azienda |
| Proficiency score | Numerico (0-100) | 100% | Modello proprietario multi-fattore |
| Certificazioni | Array categorico | ~40% | Solo se dichiarate |
| Lingue | Array + livello | ~60% | CEFR quando disponibile |
Tabella 15. Datapoint categoria Retribuzione.
| Datapoint | Tipo | Copertura | Note |
|---|---|---|---|
| RAL stimata | Numerico (€) | ~70% | Modello predittivo + survey data |
| RAL range | Intervallo (p25-p75) | 100% | Per combinazione ruolo/geo/seniority |
| Compensation trend | % YoY | Per ruolo | Aggregato, non individuale |
Oltre ai datapoint individuali (anonimizzati e aggregati), il sistema pre-computa metriche aggregate per università, ruolo, settore e geografia:
Il data layer di HR Trails viene alimentato attraverso una pipeline ETL (Extract-Transform-Load) con sincronizzazione incrementale per minimizzare latenza e costi computazionali.
Figura 10. Pipeline di data integration.
La fase di trasformazione applica una serie di operazioni di normalizzazione e arricchimento:
Tabella 16. Schedule dei job di sincronizzazione.
| Job | Frequenza | Finestra | Durata tipica |
|---|---|---|---|
| Incremental sync | Giornaliera | 02:00 - 04:00 CET | ~45 min |
| Full refresh | Settimanale (domenica) | 01:00 - 06:00 CET | ~4 ore |
| Materialized views | Giornaliera | 05:00 - 06:00 CET | ~30 min |
| Analytics aggregation | Settimanale | Domenica 06:00 CET | ~2 ore |
La qualità dei dati è essenziale per generare insight affidabili. Il sistema effettua controlli automatici su ogni dato in ingresso.
Ogni record viene verificato automaticamente:
Il sistema monitora costantemente la qualità dei dati con soglie di allarme:
Tabella 17. KPI di data quality.
| Metrica | Target | Soglia allarme |
|---|---|---|
| Completeness (campi obbligatori) | ≥98% | <95% |
| Accuracy (validation pass rate) | ≥95% | <90% |
| Freshness (dati <30 giorni) | ≥80% | <70% |
| Duplicate rate | <2% | >5% |
Il sistema rileva automaticamente dati sospetti o incoerenti:
I record sospetti vengono segnalati per verifica manuale e, se confermati errati, esclusi dalle statistiche per mantenere l'affidabilità dei benchmark.
Lo sviluppo di HR Trails segue un approccio incrementale strutturato in tre fasi, ciascuna con obiettivi specifici e deliverable misurabili. Ogni fase costruisce sulle fondamenta della precedente, permettendo validazioni progressive del prodotto.
La prima fase è dedicata alla progettazione dell'esperienza utente e alla definizione dell'identità visiva del prodotto. L'obiettivo è creare tutti gli asset di design necessari per le fasi successive.
Tabella 18. Deliverable Fase 1.
| Area | Deliverable | Priorità |
|---|---|---|
| Homepage | Design e sviluppo della landing page hrtrails.net | P0 |
| Customer Journey | Wireframe completi dei flussi utente principali | P0 |
| UI Design | Interfacce grafiche di tutte le schermate della piattaforma | P0 |
| Design System | Componenti UI, tipografia, palette colori, iconografia | P1 |
Al termine della Fase 1 saranno disponibili:
La seconda fase trasforma i design della Fase 1 in un prodotto funzionante, collegato a un dataset di dimensioni limitate. L'obiettivo è validare l'esperienza utente e la fattibilità tecnica prima dell'integrazione con il database completo.
Tabella 19. Deliverable Fase 2.
| Area | Deliverable | Priorità |
|---|---|---|
| Frontend | Implementazione delle interfacce progettate in Fase 1 | P0 |
| Dataset Demo | Import e configurazione di un dataset di test limitato | P0 |
| Funzionalità Core | Navigazione dati, visualizzazioni, confronti funzionanti | P0 |
| Infrastruttura | Setup ambiente di sviluppo e staging | P1 |
Al termine della Fase 2 sarà disponibile un prototipo funzionante che permette di:
La terza fase prepara la piattaforma per il lancio sul mercato, integrando il database completo fornito da SkillSherpa e implementando l'infrastruttura API necessaria per operare in produzione.
Tabella 20. Deliverable Fase 3.
| Area | Deliverable | Priorità |
|---|---|---|
| API Layer | Sviluppo e implementazione delle API di produzione | P0 |
| Database Integration | Configurazione e collegamento al database completo SkillSherpa | P0 |
| Performance | Ottimizzazione query, caching, scalabilità | P0 |
| Sicurezza | Autenticazione, autorizzazione, protezione dati | P0 |
| Monitoring | Sistema di logging, alerting e analytics | P1 |
Al termine della Fase 3 la piattaforma sarà pronta per il go-to-market con:
Questa appendice fornisce una descrizione dettagliata di tutti i datapoint disponibili nel sistema HR Trails, organizzati per categoria. Per ogni datapoint sono specificati: tipo di dato, formato, modalità di acquisizione e note d'uso.
I dati anagrafici sono trattati in forma aggregata e anonimizzata. Non è possibile risalire all'identità di singoli individui attraverso la piattaforma.
| Campo | Tipo | Formato | Note |
|---|---|---|---|
age_range |
Categorico | Enum: "18-22", "23-25", "26-30", "31+" | Range anziché età esatta per privacy |
gender |
Categorico | Enum: "M", "F", "Other", "Unknown" | Inferito quando non dichiarato |
location_region |
Categorico | Codice regione ISTAT | Regione di residenza/lavoro |
location_city |
Categorico | Nome città normalizzato | Solo per città >50k abitanti |
| Campo | Tipo | Formato | Note |
|---|---|---|---|
university_id |
Foreign Key | UUID | Riferimento a tabella universities |
university_name |
String | Testo normalizzato | Nome ufficiale ateneo |
university_type |
Categorico | Enum: "public", "private", "online" | Tipologia di ateneo |
degree_type |
Categorico | Enum: "bachelor", "master", "single_cycle" | Tipo di laurea |
degree_field |
Categorico | Codice ISCED-F | Campo di studio (classificazione internazionale) |
degree_name |
String | Testo normalizzato | Nome corso di laurea |
graduation_year |
Numerico | YYYY | Anno di conseguimento |
has_master |
Booleano | true/false | Presenza di master post-laurea |
has_mba |
Booleano | true/false | Presenza di MBA |
| Campo | Tipo | Formato | Note |
|---|---|---|---|
current_role |
Categorico | Codice tassonomia ruoli | ~500 ruoli standardizzati |
current_role_title |
String | Testo normalizzato | Job title leggibile |
current_company_id |
Foreign Key | UUID | Riferimento a tabella companies |
company_size |
Categorico | Enum: "1-10", "11-50", "51-200", "201-1000", "1000+" | Dimensione aziendale |
industry_code |
Categorico | Codice NACE Rev.2 | Settore industriale |
seniority_level |
Ordinale | 1-6 | 1=Entry, 2=Junior, 3=Mid, 4=Senior, 5=Lead, 6=Executive |
total_experience_months |
Numerico | Integer | Esperienza totale in mesi |
current_tenure_months |
Numerico | Integer | Tenure nella posizione attuale |
career_moves |
Array | JSON Array di oggetti | Storico transizioni (max 5) |
| Campo | Tipo | Formato | Note |
|---|---|---|---|
skills |
Array | Array di skill_id | Competenze associate al profilo |
skill_name |
String | Testo normalizzato | Nome della competenza |
skill_category |
Categorico | Enum: "technical", "soft", "domain", "tool" | Categoria della skill |
proficiency_score |
Numerico | Float 0-100 | Score di proficiency calcolato |
skill_source |
Categorico | Enum: "declared", "inferred", "certified" | Modalità di acquisizione del dato |
certifications |
Array | Array di oggetti | Certificazioni con ente e data |
languages |
Array | Array di {lang, level} | Lingue con livello CEFR |
| Campo | Tipo | Formato | Note |
|---|---|---|---|
salary_estimate |
Numerico | Integer (€) | RAL stimata (modello predittivo) |
salary_confidence |
Numerico | Float 0-1 | Confidence della stima |
salary_p25 |
Numerico | Integer (€) | 25° percentile per ruolo/geo |
salary_p50 |
Numerico | Integer (€) | Mediana per ruolo/geo |
salary_p75 |
Numerico | Integer (€) | 75° percentile per ruolo/geo |
salary_growth_yoy |
Numerico | Float (%) | Crescita anno su anno per ruolo |
Le seguenti metriche sono calcolate a livello aggregato (università, ruolo, settore) e non sono associate a singoli profili.
| Metrica | Tipo | Formato | Note |
|---|---|---|---|
placement_rate_6m |
Numerico | Float 0-1 | % occupati a 6 mesi dalla laurea |
placement_rate_12m |
Numerico | Float 0-1 | % occupati a 12 mesi dalla laurea |
time_to_employment_days |
Numerico | Integer | Mediana giorni al primo impiego |
career_velocity_months |
Numerico | Integer | Tempo mediano tra livelli seniority |
transition_probability |
Numerico | Float 0-1 | P(ruolo B | ruolo A) |
sample_size |
Numerico | Integer | N profili nella coorte (per significatività) |
— Fine del documento —
HR Trails — Documentazione Tecnica v1.0
Dicembre 2025