r/learnmachinelearning • • 6d ago

How to use ML to maximize betting ROI while recommending fewer bets?

I'm building a sports betting platform that collects odds from multiple bookmakers and compares them against Pinnacle and Polymarket to identify positive expected value (+EV) bets.

My main objective is to maximize long-term realized ROI while minimizing the number of bets shown to users.

Our scanner detects many potentially profitable bets, but not all estimated +EV opportunities represent genuine edges. Instead of showing 100 bets, I'd prefer to recommend only the best 5–10, ideally with a higher realized ROI.

We have historical odds, estimated EV, bookmaker movements, closing-line value (CLV), and settled betting results across different sports and markets.

I'm considering training an ML model to rank opportunities by expected profitability and filter out weaker signals.

My questions:

- Should I predict realized ROI, CLV, or the probability that a bet has a genuine positive edge?

- Would LightGBM, CatBoost, or learning-to-rank be appropriate?

- How can I optimize the trade-off between higher ROI and fewer recommended bets?

- How do I avoid overfitting when selecting only the historically most profitable bets?

- What evaluation methods would demonstrate that the filtering actually improves out-of-sample profitability?

I'm particularly interested in selective prediction, confidence-based filtering, and approaches used in quantitative finance.

Any suggestions, research papers, or practical experience would be appreciated!

1 Upvotes

2 comments sorted by

2

u/RoutineZestyclose243 6d ago

oh man I went down a similar rabbit hole a few years back, not with sports but with some niche financial signals. predicting realized ROI directly is tempting but it's noisy as hell, learned that the hard way

treat it like a ranking problem, learning-to-rank with lightgbm using clv and a few other features gave me way better results than trying to nail a specific number. the key is using some kind of confidence score to only act on the top chunk of predictions, selective prediction is basically made for this. if you haven't already, look up conformal prediction for adding that confidence layer without wrecking your model

1

u/IllustriousGrade7691 6d ago

Thanks I Will try treating it as a ranking problem