A method for predicting a shot type, comprising: retrieving, by a computing system, ball-by-ball data for a plurality of sporting events, wherein the ball-by-ball data is obtained by an optical-based tracking system; generating, by the computing system, a trained neural network, by: generating a plurality of training data sets based on the ball-by-ball data by supplementing the ball-by-ball data with ball-by-ball match context features, the ball-by-ball data including no shot, forward defensive, backward defensive, fended, leave, padded, shoulders arms, worked, pushed, steer, dropped, drive, sweep, cut, slog-sweep, hook, upper cut, pull, glance, reverse sweep, flick, late cut, slog, scoop, and/or switch hit data labels; generating, from the ball-by-ball data, personalized embeddings based on a batsman and a bowler for each delivery; and learning, by a neural network associated with the computing system, to predict a shot type based on the ball-by-ball data and the personalized embeddings; receiving, by the computing system, a target batsman and a target bowler for a pitch to be delivered in a target event; identifying, by the computing system, target ball-by-ball data for a window of pitches preceding the pitch to be delivered; retrieving, by the computing system, historical ball-by-ball data for each of the target batsman and the target bowler; generating, by the computing system, target personalized embeddings for both the target batsman and the target bowler based on the historical ball-by-ball data; and predicting, by the computing system using the trained neural network, a target shot type for the pitch to be delivered based on the target ball-by-ball data and the target personalized embeddings, wherein the neural network comprises: a long term-short term memory (LSTM) network; and a feed forward neural network; and, wherein learning, by the neural network, to predict the shot type based on the ball-by-ball data and the personalized embeddings comprises: inputting the ball-by-ball data into the LSTM network; and generating, by the LSTM network, an output based on the ball-by-ball data; and, further comprising: concatenating the output of the LSTM network with the personalized embeddings to generate concatenated data; and inputting the concatenated data into the feed forward neural network. retrieving, by a computing system, ball-by-ball data for a plurality of sporting events, wherein the ball-by-ball data is obtained by an optical-based tracking system; generating, by the computing system, a trained neural network, by: generating a plurality of training data sets based on the ball-by-ball data by supplementing the ball-by-ball data with ball-by-ball match context features, the ball-by-ball data including no shot, forward defensive, backward defensive, fended, leave, padded, shoulders arms, worked, pushed, steer, dropped, drive, sweep, cut, slog-sweep, hook, upper cut, pull, glance, reverse sweep, flick, late cut, slog, scoop, and/or switch hit data labels; generating, from the ball-by-ball data, personalized embeddings based on a batsman and a bowler for each delivery; and learning, by a neural network associated with the computing system, to predict a shot type based on the ball-by-ball data and the personalized embeddings; generating a plurality of training data sets based on the ball-by-ball data by supplementing the ball-by-ball data with ball-by-ball match context features, the ball-by-ball data including no shot, forward defensive, backward defensive, fended, leave, padded, shoulders arms, worked, pushed, steer, dropped, drive, sweep, cut, slog-sweep, hook, upper cut, pull, glance, reverse sweep, flick, late cut, slog, scoop, and/or switch hit data labels; generating, from the ball-by-ball data, personalized embeddings based on a batsman and a bowler for each delivery; and learning, by a neural network associated with the computing system, to predict a shot type based on the ball-by-ball data and the personalized embeddings; receiving, by the computing system, a target batsman and a target bowler for a pitch to be delivered in a target event; identifying, by the computing system, target ball-by-ball data for a window of pitches preceding the pitch to be delivered; retrieving, by the computing system, historical ball-by-ball data for each of the target batsman and the target bowler; generating, by the computing system, target personalized embeddings for both the target batsman and the target bowler based on the historical ball-by-ball data; and predicting, by the computing system using the trained neural network, a target shot type for the pitch to be delivered based on the target ball-by-ball data and the target personalized embeddings, wherein the neural network comprises: a long term-short term memory (LSTM) network; and a feed forward neural network; and, wherein learning, by the neural network, to predict the shot type based on the ball-by-ball data and the personalized embeddings comprises: inputting the ball-by-ball data into the LSTM network; and generating, by the LSTM network, an output based on the ball-by-ball data; and, further comprising: concatenating the output of the LSTM network with the personalized embeddings to generate concatenated data; and inputting the concatenated data into the feed forward neural network.