Be', il tuo programma dovrebbe essere il player usato dall'utente per riprodurre i file; a questo punto dovresti avere in un database una riga per ogni canzone, e memorizzare in un campo il numero di riproduzioni, nell'altro la somma delle percentuali di canzone a cui si è arrivati ogni volta.
Quando la canzone termina (perché skippata o finita) aggiungi uno al numero di riproduzioni, e aggiungi all'altro campo la percentuale di canzone a cui si è arrivato. In questa maniera hai una media mobile del punto a cui è skippata la canzone; tendenzialmente se non viene mai skippata (media del punto di skip: 100% della canzone) vuol dire che piace, se viene skippata sempre immediatamente (media: 0%) allora non piace. In base a questo ti puoi costruire la tua lista di canzoni in ordine di gradimento.