Bookmaker odds are such that the bookmaker guarantees themselves a net profit over time assuming that they assessed each player or teams win probabilities correctly. One could use machine learning to attempt to beat the bookmaker, however, one is unlikely to outperform the bookmaker significantly by simply attempting to get a higher accuracy in predicting the outcome of a sports game. For example, using binary-cross entropy to assess win probabilities in a head-to-head game will give you good accuracy in predicting the outcome of a game, but not good enough to beat the bookmaker.
We performed an exercise where instead of binary-cross entropy we use a custom loss function, that also accounts for the bookmaker odds in order to check if a particular game offers fair odds. This way we optimise on identifying faults in the bookmaker odds rather than on predicting the outcome of games as good as possible.
The full blog post can be found here:https://medium.com/vantageai/beating-the-bookies-with-machine-learning-7b429a0b5980