@St3ve Non volevo dilungarmi e seccarvi troppo, per questo non ho aggiunto altri dettagli, credevo fossero sufficienti. Provo a spiegarmi un pò meglio e ringrazio anticipatamente te e chiunque risponderà.
Vorrei creare una piattaforma che faccia previsioni accurate delle partite di basket, volley e tennis in ambito di betting. In questa piattaforma web, tramite broweser, si potranno iscrivere gli utenti con un piccolo abbonamento e calcolare, in base alle loro preferenze di tornei, campionati e segni da giocare sulle schedine.
SCRAPING: DATABASE NECESARIO
Per prima cosa quindi, c'è bisogno di un database in cui fare scraping (anche da servizi a pagamento) dei nomi dei tornei e delle squadre di cui sono composti. Conto di voler aggiungere circa 50 tornei. Poi fare uno scraping settimanale per aggiornare il calendario degli eventi composto da data, giornata (da 1 a 40), match delle due squadre o giocatori che si affrontano, risultati finale. In aggiunta anche lo scraping settimanale delle quote dei bookmakers (non parlo solo di vittoria o sconfitta, ma di decine e decine di altri segni). Con questi dati basi posso iniziare ad elaborare i modelli matematici e gli algoritmi vari. Le query che serviranno per i calcoli sono quelle relative a: tutte le giornate dalla 1a alla 40a (perchè devo calcolare le ultime 10 giornate giocate, le ultime 7 ecc, l'intero torneo, ecc), ai risultati dei match di tutte le giornate, alle quote dei bookmakers che fanno parte dei calcoli. Poi vabbè, ci sono le cose che andranno solo mostrate senza calcoli come date, nomi dei match, ecc. Ovviamente bisogna aggiornare i dati, tramite scraping, una o due volte a settimana, in modo da avere sempre più dati disponibili con cui la piattaforma può imparare a fare previsioni più accurate.
COSA PUO' FARE l'UTENTE
Una volta che l'utente avrà avuto accesso al sito con user e password, con la sua schermata principale del sito potrà scegliere diverse modalità di previsione del pronostico: o singolo torneo a sua scelta con i relativi match, o elaborare tutti i 50 tornei contemporaneamente, ricercando però fra tutti i match solo quelli con la probabilità più alta (ovviamente dovranno essere elaborati comunque tutti i match di tutti i 50 tornei). L'utente, quindi, può scegliere l'appena dette modalità di ricerca, con l'aggiunta di una decina di checkbox di opzioni come preferenza di ricerca.
MODELLI MATEMATICI E CALCOLO
Sono un dilettante nella programmazione, ma sono un matematico, quindi dopo un pò di ricerca, studio e test eseguiti, ho individuato una 10-15 di modelli matematici utili. Non sembrano molti, ma sono molto ripetitivi perchè saranno applicati per elaborare le previsioni di un atleta/squadra che sia in gioca in casa che fuoricasa, come anche tutti i match in generale senza distinzione casa/fuori. Quindi 10-15 modelli matematici x 3 (casa, fuori, generale) e sono già 30 o 45 modelli matematici da applicare solo ad un match, o meglio, ad ogni match di un torneo.
L'utente cliccando sul pulsante "Calcola previsione", attiverà un controllo automatico preventivo di questi 30-45 modelli matematici su ogni match della giornata del torneo (mediamente composto da 10 matchs). In pratica la piattaforma farà nello stesso istante un controllo di 30-45 modelli per uno stesso match per verificarne il risultato finale. Importante. Tengo a precisare che questi modelli matematici saranno controllati su un match quasi contemporaneamente, o meglio, eseguiti in successione veloce uno dopo l'altro (eseguito e controllato con un modello, si passa ad un altro, poi ancora ad un altro, e così via). Se tutti i risultati dei 30-45 modelli, relativi ad un match, rispettano alcune aspettative pre-impostate, allora il match avrà previsione positiva.
PESANTEZZA
Quindi 30-45 modelli matematici di lunghi algoritmi su 10 partite eseguiti contemporaneamente per un singolo torneo, mentre l'utente aspetta di vedere le previsioni finali. Questo se sceglie un solo torneo, ma può scegliere anche di fare ciò per tutti i 50 tornei contemporaneamente (che sarà il pezzo forte della piattaforma).
Quindi se come detto se un solo torneo conterà 30-45 modelli x 10 partite giornaliere = 300-450 modelli matematici a torneo
Di conseguenza x 50 tornei contemporaneamente sono 15.000 - 22.500 operazioni nello stesso momento, o meglio, come detto sopra, per nello stesso momento indendo nello stesso momento in seguito del click sul pulsante "Calcola", ma il controlli con gli algoritmi sarà eseguito in successione veloce uno dopo l'altro (eseguito e controllato con un modello, si passa ad un altro, poi ancora ad un altro, e così via).
Consideriamo inoltre che sulla piattaforma ci saranno vari utenti ad elaborare questi dati (chi di un solo torneo e chi di tutti i 50 tornei contemporaneamente). Ne ho contati un minimo di 20 utenti a un massimo di 100.
INTELLIGENZA ARTIFICIALE
Nella piattaforma vorrei implementare anche alcuni algoritmi di Machine Learning per l'apprendimento automatico dagli errori.
Quindi volevo avere qualche informazioni sul miglior linguaggio di programmazione nel mio caso da utilizzare. Stavo pensando a Python, ma so che come tutti i linguaggi ha i suoi pro e i suoi contro. Dal quel che so, i contro sono la lentezza a gestire contemporaneamente così tante operazioni, così come anche a gestire un database molto ampio. Spero di sbagliarmi. Puoi darmi qualche dritta per favore? Qualche informazioni base in modo da dire agli sviluppatori che troverò "Mi serve questa piattaforma, però dovete realizzarla così, così e così". Non vorrei che impostassero fin dall'inizio tutto il progetto in maniera sbagliata, facendomelo passare per oro.
Grazie e scusami per la lunghezza del post