E' possibile prevedere come andrà a finire un'asta di eBay? Sembra impossibile, ma la risposta è sì: qualche anno fa ho sviluppato un programma che fa proprio questo.
Tutto è iniziato perchè volevo comprare un portatile su eBay: dato che lo stesso modello veniva venduto a 150 euro in più su aste diverse, non volevo prendere fregature all'ultimo minuto e spendere troppo! L'ideale sarebbe stato conoscere in anticipo le aste più convenienti da seguire, cioè quelle che sarebbero finite ad un prezzo basso.
Studiare le aste e il comportamento degli utenti
L'asta online utilizza le stesse regole dell’asta tradizionale (quella col banditore e il martelletto per intenderci) e, come ogni forma di mercato, può essere studiata per analizzare il comportamento dei partecipanti, valutare le condizioni di equilibrio tra domada e offerta, e derivare un modello in grado di prevedere il prezzo finale del bene venduto. Per fare questo però servono dei dati, anzi molti dati, in modo da poterli analizzare e scoprire correlazioni interessanti. Ho pensato che se avessi avuto un archivio storico di eBay, avrei potuto usare gli algoritmi di data mining, machine learning e intelligenza artificiale (che uso per il mio lavoro) per estrarre pattern e fare previsioni sul futuro.
Nei decenni passati infatti gli studi delle aste "normali" sono stati limitati dalla poca disponibilità di dati. Molti studi in letteratura riguardano esclusivamente aste statali. L’avvento di eBay e di altri siti ha cambiato la carte in tavola, perchè molti dati sono pubblici e sul Web.
La sfida era affascinante e in teoria avevo i mezzi per affrontarla, così ho deciso di tentare. Con 3 obiettivi:
- Prevedere se un'asta avrà un vincitore (problema che non coincide con il problema di previsione “Prezzo finale > 0”)
- In caso di vincita, prevedere se il vincitore utilizzerà l'asta o l'opzione "Compralo Subito" (Buy It Now)
- In caso di vincita con asta, prevedere il prezzo finale
Prima di tutto ho controllato se qualcuno avesse fatto qualcosa di simile: navigando su Google e sugli archivi accademici si trovano molti studi nel campo dell’Economia e del Data Mining sulle aste online. Tuttavia i ricercatori hanno studiato la descrizione del meccanismo d’asta e il comportamento dei partecipanti, ma non hanno formulato un modello di predizione. Gli unici (recenti) studi di questo tipo si trovano in Predicting the End-Price of Online Auctions e Forecasting Winning Bid Prices in an Online Auction Market: Data Mining Approaches, ma trattano solo il problema 3. Ottimi per capire lo stato dell'arte, ma a me serviva qualcos'altro.
Raccolta e analisi dati
Il primo passo è stato implementare un crawler specifico per eBay, ovvero un software in grado di navigare all’interno del sito, riconoscere e interpretare le pagine HTML ed estrarre le informazioni sulle aste. Ci sono molti aspetti che devono essere memorizzati: tutti i prodotti in vendita differiscono per caratteristiche e condizione, e l'asta è influenzata anche dalle spese di spedizione, l’affidabilità del venditore, l’aspetto della pagina.
Il crawler (implementato in C#) ha operato automaticamente per più di un mese e ha raccolto informazioni su migliaia aste, nelle quali sono stati venduti beni per un ammontare complessivo di alcuni milioni di dollari. I dati sono stati memorizzati in forma strutturata (in un database insomma) e preparati opportunatamente per le analisi (preprocessing e transformation in gergo).
A questo punto sono entrati in gioco gli algoritmi. Dopo infinite combinazioni e varianti di tecniche e parametri, sono arrivato ad un modello che prevede il prezzo finale delle aste con un margine di errore di circa 60$ (problema 3). Si può fare di meglio: invece di prevedere un valore preciso in regressione, si può prevedere la fascia di prezzo (es. "prezzo compreso tra 1000 e 1050 euro"), con la cosiddetta classificazione multi-classe: in questo caso il software prevede la giusta fascia di prezzo (classe) nel 94,3% dei casi. Per la cronaca l'algoritmo di classificazione più performante è stato MultiBoosting [1] associato al classico C4.5 [2].
Inoltre nel 90% dei casi il modello prevede se ci sarà un vincitore (problema 1) e nell'80% dei casi se il vincitore userà "Compralo Subito". I risultati sono molto buoni, in molti casi l’accuratezza è superiore a quella degli altri studi!
[1] Webb G., MultiBoosting: A Technique for Combining Boosting and Wagging, Machine Learning, 40(2), Kluwer Academic Publishers, Boston, 2000.
[2] Quinlan R., C4.5: Programs for Machine Learning
, Morgan Kaufmann Publishers, San Mateo, CA, 1993.
Risultati
Analizzando i risultati e la struttura dei modelli generati, emergono alcuni aspetti interessanti, riportati in seguito. Un nota: i valori e le soglie erano valide al tempo dello studio (dicembre 2004), oggi probabilmente sono variati, anche se i princìpi di fondo dovrebbero essere gli stessi
Ci sarà un vincitore?
Le aste con prezzo base (cioè di partenza) minore di 720 US$ hanno più probabilità di avere un vincitore, e la probabilità aumenta se è stato impostato un prezzo di riserva. Questo concorda con le teorie economiche che affermano che la presenza del prezzo di riserva assieme ad un prezzo base basso ha un effetto positivo sul prezzo finale dell’asta.
Se il prezzo base è maggiore di 720 US$ e il venditore ha abilitato l’opzione "Compralo Subito", il compratore spesso la utilizza, probabilmente per evitare che il prezzo salga ulteriormente tramite il meccanismo d’asta. Se non è disponibile l’opzione "Compralo Subito", la presenza di un vincitore dipende principalmente dalle caratteristiche del laptop, che devono giustificare l’alto prezzo base.
Asta o Compralo Subito?
L’opzione "Compralo Subito" è utilizzata quando è presente un elevato prezzo di partenza. La soglia che fa optare il partecipante per l’acquisto a prezzo fisso (che spesso è più elevato del prezzo base, ma evita il rischio che l’asta lo alzi ulteriormente) varia a seconda della configurazione del laptop. Con elevati quantitativi di RAM (maggiori di 1Ghz) la soglia è di circa 900 US$, mentre con processori lenti (< 1.5 Gh) è di circa 500 US$.
Inoltre se il prezzo di base è basso, la presenza di prezzo di riserva incentiva ad evitare la competizione e ad acquistare a prezzo fisso.
Il prezzo finale sarà...
Il prezzo finale dipende molto dalla configurazione hardware e software del notebook. Ad esempio, è stato rilevato come all’aumentare del quantitativo di RAM o della velocità del processore, aumenti il prezzo finale.
Tuttavia è possibile inferire alcuni fatti non banali, che sono probabilmente indipendenti dal bene in vendita e validi anche per aste che non riguardano laptop.
- Un prezzo di partenza basso e la presenza di un prezzo di riserva hanno effetti positivi sul prezzo finale delle aste. La presenza del prezzo di riserva aumenta del 15% il prezzo finale. Questo perché probabilmente il prezzo di riserva si comporta come un offerente aggiuntivo all’asta in competizione, fino a quando il prezzo non è raggiunto.
- In media il prezzo finale aumenta all’aumentare della durata dell’asta. Le aste di 7 giorni e di 10 giorni sono rispettivamente più alte di quelle da 3 e 5 giorni (simili) del 24% e 42%. La correlazione è stata rilevata attraverso l’analisi visiva tramite grafico scatter plot e confermato dagli algoritmi di correlazione.
Conclusioni
Tutto facile? Ovviamente no.
Innanzitutto, con i dati pubblici ricavabili da Web è impossibile fare un modello universale: nel mio progetto ho considerato solo la categoria dei notebook, semplificando notevolmente il problema. Anche i paper citati seguono lo stesso approccio. Non è da escludere che eBay, con i dati interni (es. quelli sul traffico e comportamento degli utenti), possa fare previsioni su mercati più ampi.
Anche se i dati sono pubblici, non è scontato arrivare a dei modelli efficaci. E' un po' come in Google, dove alcune persone riescono a trovare le informazioni meglio e prima degli altri, utilizzando le giuste parole chiave.
Per cercare di ottimizzare il più possibile il mio modello, il recupero, il trattamento e l’elaborazione dei dati sono stati guidati non solo dalle teorie e dai risultati precedenti nel campo del data mining, ma anche dalle attuali teorie economiche e marketing. E il margine di miglioramento rispetto agli altri non deriva tanto dagli algoritmi - anzi le reti neurali utilizzate dai ricercatori cinesi a me davano risultati pessimi. Il trucco è stato utilizzare alcuni dati (intuiti dalle teorie economiche) che altri avevano ignorato.
Per saperne di più
Se siete interessati a questo argomento e volete saperne di più a livello teorico e pratico, consiglio di leggere il già citato Predicting the End-Price of Online Auctions: è un articolo che spiega in dettaglio come e quali dati raccogliere, come modificarli e come fare le analisi. Insomma un tutorial tecnico da utilizzare come punto di partenza.