Vai al contenuto

Banche, assicurazioni e finanzaBI, AI e ML per l'azienda

Sinistri auto e scatola nera

La denuncia racconta un urto, la scatola nera registra velocità, frenata e accelerazioni. Muvia le mette accanto: ogni sinistro secondo per secondo, un punteggio in Python ricalcolato ogni mattina, e l'ufficio sinistri sa quali denunce mandare in perizia e quali pagare subito.

Scenario illustrativo: descrive un caso tipo, non il progetto di un cliente.

La denuncia dice «urto violento». La scatola nera può dire se è vero.

Per ogni sinistro di un veicolo con scatola nera, la compagnia ha velocità, frenata e forza dell'urto registrate secondo per secondo. Spesso però quelle tracce restano nel portale del fornitore telematico, e il liquidatore confronta denuncia e dati a mano, una pratica alla volta.

Mettere denunce e telematica nello stesso posto permette di confrontarle tutte, ogni giorno: pagare prima i sinistri confermati dai dati e mandare in perizia quelli che non tornano.

Per chi
Ufficio sinistri e liquidatori, antifrode, attuari e analisti della compagnia.
Le denunce dal sistema sinistri su SQL Server, le tracce della scatola nera dal fornitore telematico via SFTP, le polizze da Oracle e le officine convenzionate in Excel entrano in Muvia, dove una funzione del team confronta denuncia e telematica; escono un punteggio per ogni sinistro, le analisi secondo per secondo, un cruscotto per l'ufficio sinistri e un report ogni lunedì.

In Muvia, passo per passo

Schermate vere del prodotto, registrate su un progetto con dati di esempio.

1 di 5

Il video · La denuncia racconta un urto, la scatola nera registra velocità, frenata e accelerazioni. Muvia le mette accanto: ogni sinistro secondo per secondo, un punteggio in Python ricalcolato ogni mattina, e l'ufficio sinistri sa quali denunce mandare in perizia e quali pagare subito.

Cosa ottieni

Si pagano prima i sinistri veri
Quando la scatola nera conferma l'urto, la pratica non aspetta: i dati la sostengono.
La perizia dove serve
Le denunce che non tornano con la telematica emergono ogni mattina, con il motivo scritto accanto.
Un sinistro si legge in un grafico
Velocità, frenata e urto secondo per secondo, e i sinistri simili sovrapposti: il liquidatore vede la dinamica, non solo un numero.
Regole della compagnia
Soglie e segnali li decide la compagnia; cambiarli è una nuova versione della funzione, provata prima in un'esecuzione che non scrive nulla.

Per il team tecnico

Come si costruisce in Muvia

  1. 1

    Collega denunce e telematica

    Il sistema sinistri e le polizze sono copiati su programma, in modo incrementale; le tracce della scatola nera arrivano come file via SFTP. Ogni sorgente diventa una tabella.

  2. 2

    Guarda un sinistro in Analisi

    Velocità, accelerazione e forza g sullo stesso asse dei tempi, secondo per secondo: l'urto, la frenata che lo precede e cosa succede dopo.

  3. 3

    Allinea i sinistri sull'urto

    La vista Strati sovrappone i sinistri di un giorno sull'istante dell'urto: un urto vero ha una forma riconoscibile, una denuncia senza urto si vede subito.

  4. 4

    Confronta in Python, ogni mattina

    Una funzione confronta ogni denuncia con la sua traccia, urto registrato, orario e importo, e calcola un punteggio con i motivi. Un flusso la esegue ogni mattina alle 7 su tutte le pratiche aperte.

  5. 5

    Dai all'ufficio sinistri dove guardare

    Un cruscotto mostra le denunce da mandare in perizia, l'importo in gioco e la forza registrata contro l'importo richiesto; il report del lunedì arriva per email.

Funzione Python

import numpy as np

def transform(inputs, params, ctx):
    df = inputs["rows"]
    urto = df["g_massimo"] >= params["soglia_urto_g"]
    scarto_min = (df["ora_dichiarata"] - df["ora_urto"]).abs().dt.total_seconds() / 60
    segnali = {
        "nessun urto registrato": ~urto,
        "orario diverso dalla traccia": urto & (scarto_min > params["tolleranza_min"]),
        "importo alto per l'urto": df["importo_richiesto"] > df["g_massimo"] * params["euro_per_g"],
    }
    out = df[["numero_sinistro", "polizza", "importo_richiesto", "g_massimo"]].copy()
    out["punteggio"] = sum(s.astype(int) for s in segnali.values())
    nomi = np.array(list(segnali))
    accesi = np.column_stack([s.to_numpy(dtype=bool) for s in segnali.values()])
    out["motivi"] = ["; ".join(nomi[riga]) for riga in accesi]
    out["esito"] = np.where(out["punteggio"] > 0, "perizia", "urto confermato")
    ctx.logger.info("denunce confrontate: %d", len(out))
    return {"rows": out}
Ogni denuncia confrontata con la sua traccia telematica: il punteggio dice quanto non torna, i motivi dicono che cosa.
I dati che servono
  • Denunce con data, ora, dinamica dichiarata e importo richiesto, dal sistema sinistri su SQL Server
  • Tracce della scatola nera, con velocità, accelerazioni e forza g secondo per secondo, file ricevuti via SFTP
  • Polizze e veicoli assicurati, da un database Oracle
  • Officine convenzionate, da un file Excel
Le parti di Muvia usate

Portaci una domanda a cui oggi non sai rispondere.

Partiamo da una domanda vera della tua azienda e ti mostriamo il percorso dalla fonte al cruscotto, con i tuoi sistemi e non con quelli di una demo.