Banche, assicurazioni e finanzaBI, AI e ML per l'azienda
Frodi nei pagamenti con carta
Ogni pagamento con carta lascia una riga: importo, esercente, paese, ora. In Muvia una funzione Python scritta dal vostro team confronta ogni pagamento con le abitudini del cliente e gli dà un punteggio che dice perché, e un allarme avvisa l'antifrode quando i casi sospetti si addensano.
Scenario illustrativo: descrive un caso tipo, non il progetto di un cliente.
Una frode da sola si nota. Un'ondata notturna, spesso, solo al mattino.
I controlli in autorizzazione fermano i casi evidenti. Restano i pagamenti plausibili uno per uno ma strani per quel cliente: un orario mai visto, un paese nuovo, una categoria in cui non compra mai. Quando arrivano a decine nella stessa notte, sono un attacco.
Per vederlo servono le abitudini di ogni cliente accanto a ogni pagamento, un punteggio che dica perché un pagamento è sospetto e un allarme che guardi l'insieme, non il singolo caso.
- Per chi
- Antifrode e monitoraggio delle transazioni, data scientist della banca, risk management e operations delle carte.
In Muvia, passo per passo
Schermate vere del prodotto, registrate su un progetto con dati di esempio.
Il video · Ogni pagamento con carta lascia una riga: importo, esercente, paese, ora. In Muvia una funzione Python scritta dal vostro team confronta ogni pagamento con le abitudini del cliente e gli dà un punteggio che dice perché, e un allarme avvisa l'antifrode quando i casi sospetti si addensano.
Cosa ottieni
- Un punteggio che si spiega
- Ogni pagamento sospetto porta con sé i motivi: chi lo guarda sa perché è stato segnalato, senza aprire il codice.
- L'ondata, non solo il caso
- L'allarme guarda quanti pagamenti sospetti arrivano insieme, così un attacco notturno si vede come tale.
- Il modello resta del team
- Segnali, pesi e soglie li decide la banca; un modello nuovo è una nuova versione della funzione, provata prima di andare in produzione.
- Ogni decisione resta scritta
- Chi ha preso in carico l'episodio, cosa ha bloccato e perché resta nel registro allarmi.
Per il team tecnico
Come si costruisce in Muvia
- 1
Porta in Muvia i pagamenti
Un file ogni ora via SFTP aggiunge le nuove transazioni alla tabella dei pagamenti; core banking e disconoscimenti sono copiati su programma. Ogni sorgente diventa una tabella interrogabile.
- 2
Ricava le abitudini del cliente
Una query calcola per ogni cliente orari, paesi, categorie e importo tipico degli ultimi mesi e li salva come dataset con campi stabili.
- 3
Scrivi il punteggio in Python
Una funzione confronta ogni pagamento con quelle abitudini e somma cinque segnali in un punteggio, con i motivi scritti accanto. Il team può sostituirla con un modello scikit-learn o ONNX addestrato altrove; prima la provi in un'esecuzione di prova, che non scrive nulla.
- 4
Guarda l'ondata
Un cruscotto mostra i pagamenti sospetti per ora e categoria in una mappa di calore e il punteggio contro l'importo: un attacco notturno si riconosce a colpo d'occhio.
- 5
Metti un allarme sull'insieme
Un flusso apre un episodio quando i pagamenti sopra soglia superano un numero in un'ora. Nel registro l'antifrode lo prende in carico e annota cosa ha bloccato; il resoconto della settimana è un notebook.
Funzione Python
import numpy as np
def transform(inputs, params, ctx):
df = inputs["rows"]
segnali = {
"ora insolita": df["quota_ora_cliente"] < 0.02,
"paese nuovo": df["paese"] != df["paese_abituale"],
"categoria nuova": df["quota_categoria_cliente"] == 0,
"importo alto": df["importo"] > 3 * df["importo_mediano_cliente"],
"raffica": df["pagamenti_ultima_ora"] >= params["raffica"],
}
pesi = params["pesi"]
out = df[["id_pagamento", "id_carta", "data_ora", "importo"]].copy()
out["punteggio"] = sum(pesi[k] * s.astype(int) for k, s in segnali.items())
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["sospetto"] = out["punteggio"] >= params["soglia"]
ctx.logger.info("pagamenti valutati: %d", len(out))
return {"rows": out}- I dati che servono
- Pagamenti con carta con importo, esercente, categoria, paese e canale, in file orari ricevuti via SFTP
- Clienti e carte dal core banking su Oracle
- Disconoscimenti e segnalazioni dei clienti, letti da un'API REST
- Categorie degli esercenti e livelli di rischio, da un file Excel
- Le parti di Muvia usate
Altri casi della stessa linea
Tutti i casi d'uso- Clienti a 360° e segmentazionePagamenti, storni, assistenza e newsletter stanno in quattro sistemi diversi. Muvia li unisce cliente per cliente, ogni lunedì una funzione Python li divide in segmenti per recenza, frequenza e valore, con il motivo, e Athena dice chi richiamare e prepara la lista per le filiali.
- Sinistri auto e scatola neraLa 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.
- Rischio di portafoglio e correlazioniUn portafoglio diversificato resta tale finché le correlazioni reggono. Muvia legge i prezzi dei fondi minuto per minuto, una funzione Python calcola volatilità e drawdown, l'Analisi allinea i picchi e il comitato vede la correlazione che cambia segno prima del rendiconto.
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.