E-commerce
Prezzi dinamici senza rompere la fiducia
Il prezzo dinamico è lecito, ma lo sconto deve riferirsi al prezzo più basso dei 30 giorni precedenti e il prezzo personalizzato va dichiarato prima dell'acquisto.
In sintesi
- Formattare un milione di prezzi con un Intl.NumberFormat nuovo per ogni valore costa 52,444 µs a prezzo: con un formattatore riusato 0,995 µs.
- Applicare una regola di prezzo e arrotondare al centesimo costa 0,0086 µs, 31 volte meno di toFixed(2) sullo stesso ciclo.
- L'art. 17-bis del Codice del Consumo, introdotto dal D.Lgs. 26/2023, impone di indicare il prezzo più basso applicato nei 30 giorni precedenti ogni annuncio di riduzione.
- L'art. 49, comma 1, lett. e-bis) del Codice del Consumo impone di dichiarare il prezzo personalizzato da un processo decisionale automatizzato.
Un prezzo dinamico è lecito in Italia, ma la fiducia si rompe quando il cliente scopre che il prezzo è cambiato senza sapere perché. La regola pratica: cambia il prezzo solo su condizioni che sai dichiarare, e quando annunci uno sconto indica il prezzo più basso applicato nei 30 giorni precedenti.
Il prezzo è un dato, non un'opinione
Un motore di prezzo riceve tre ingressi: costo, disponibilità e domanda. Se una delle tre non è scritta da nessuna parte, il prezzo nasce da un'impressione e non lo sai spiegare domani. Prima di cambiare un prezzo, prova a raccontare in una frase perché è cambiato: se la frase non esiste, la regola non esiste.
Il vincolo che nessun motore di pricing conosce
L'art. 17-bis del Codice del Consumo, introdotto dal D.Lgs. 7 marzo 2023 n. 26 e in vigore dal 2 aprile 2023, stabilisce che ogni annuncio di riduzione di prezzo indichi il prezzo precedente applicato dal venditore nei 30 giorni prima della riduzione, e non un prezzo scelto a piacere. L'art. 49, comma 1, lett. e-bis) dello stesso codice, che recepisce l'art. 6 della direttiva 2011/83/UE come modificata dalla direttiva (UE) 2019/2161, impone di informare il consumatore quando il prezzo è stato personalizzato sulla base di un processo decisionale automatizzato. Il GDPR (regolamento (UE) 2016/679, artt. 13 e 22) aggiunge l'obbligo di dire su quale base tratti i dati e di dare una spiegazione quando la decisione è solo automatica.
Quanto costa calcolare un prezzo
Il calcolo non è il problema: 0,0086 µs per prezzo significa che un core può valutare cento milioni di regole al secondo. Il costo sta nella formattazione. Se la lista mostra 60 prodotti e ogni prezzo crea un formattatore nuovo, il browser paga 3,15 ms solo per i numeri; su un listino di 10.000 prezzi la stessa scelta costa 524 ms contro 9,95 ms con un formattatore riusato. Il secondo costo è la query: una regola che legge tre tabelle per ogni prodotto nella lista è più lenta del calcolo di quattro ordini di grandezza.
node -e "const f=new Intl.NumberFormat('it-IT',{style:'currency',currency:'EUR'});let t=performance.now();for(let i=0;i<1e5;i++)new Intl.NumberFormat('it-IT',{style:'currency',currency:'EUR'}).format(i+0.9);console.log('nuovo',(performance.now()-t).toFixed(1),'ms');t=performance.now();for(let i=0;i<1e5;i++)f.format(i+0.9);console.log('riusato',(performance.now()-t).toFixed(1),'ms')"
Tre regole che tengono la fiducia
Dove la fiducia si rompe davvero
I tre errori che finiscono in segnalazione all'AGCM non sono algoritmi sofisticati: countdown che ripartono al refresh, «solo 3 pezzi» che restano tre per una settimana, e sconti calcolati su un prezzo di listino mai applicato. Sono pratiche ingannevoli ai sensi degli artt. 20-23 del Codice del Consumo, e il costo non è solo la sanzione: è il cliente che non torna. Un prezzo più alto per chi ha già comprato si difende solo se la regola è dichiarata e se il cliente può verificarla.
Il limite di questa misura
Abbiamo misurato il costo di calcolo e di formattazione, non la percezione. Una variazione del 2% è invisibile, una del 15% alla seconda visita viene ricordata, e nessun benchmark dice dove cade la soglia per il tuo pubblico. L'unico test valido è un esperimento controllato con due gruppi, che misura il riacquisto a 90 giorni invece della conversione del giorno, perché il prezzo dinamico sposta spesso la vendita e non la crea.
Da dove partire
Domande frequenti
Il prezzo dinamico è legale in Italia?
Sì, se il prezzo dipende da condizioni dichiarabili e se il cliente è informato. Diventa illecito quando nasconde una condizione, quando simula scarsità o quando lo sconto è calcolato su un prezzo mai applicato: sono pratiche ingannevoli ai sensi degli artt. 20-23 del Codice del Consumo.
Devo dichiarare che il prezzo è personalizzato?
Sì. L'art. 49, comma 1, lett. e-bis) del Codice del Consumo impone di informare il consumatore quando il prezzo è stato personalizzato sulla base di un trattamento automatizzato di dati. L'informativa deve arrivare prima che il consumatore sia vincolato dal contratto.
Lo sconto deve riferirsi al prezzo dei 30 giorni?
Sì. L'art. 17-bis del Codice del Consumo, in vigore dal 2 aprile 2023, chiede che ogni annuncio di riduzione indichi il prezzo più basso applicato alla generalità dei consumatori nei 30 giorni precedenti. Un prezzo di listino vecchio di mesi non è un prezzo precedente valido.
Quanto pesa in performance un prezzo calcolato al volo?
Poco: 0,0086 µs per regola e arrotondamento. Pesa invece la formattazione, 0,995 µs con un formattatore riusato e 52,444 µs se ne crei uno per ogni prezzo. Su una lista da 10.000 voci la differenza è 9,95 ms contro 524 ms.
Posso cambiare il prezzo dopo averlo mostrato?
Puoi cambiarlo per le visite successive, non per un ordine già confermato: il prezzo mostrato al momento dell'acquisto vincola il contratto. Se il prezzo era palesemente errato, la strada è annullare l'ordine e rimborsare, spiegando l'errore, non addebitare la differenza.