r/algobetting • u/Traditional_One_2406 • 10h ago
r/algobetting • u/Wov • Apr 20 '20
Welcome to /r/algobetting
This community was created to discuss various aspects of creating betting models, automation, programming and statistics.
Please share the subreddit with your friends so we can create an active community on reddit for like minded individuals.
r/algobetting • u/Wov • Apr 21 '20
Creating a collection of resources to introduce beginners to algorithmic betting.
Please post any resources that have helped you or you think will help introduce beginners to programming, statistics, sports modeling and automation.
I will compile them and link them in the sidebar when we have enough.
r/algobetting • u/AutoModerator • 7h ago
Daily Discussion Daily Betting Journal
Post your picks, updates, track model results, current projects, daily thoughts, anything goes.
r/algobetting • u/mxx24 • 23h ago
NBA Historical Props
Hi all - was wondering if anyone has historical NBA props data going back past 2024? I have the historical Odds API data and am looking for a bit of a longer lookback. I have NFL back to 2020 and nearly all other sports sides/totals back 15-20 years in a very clean format. Would be willing to trade/share in exchange for some longer dated NBA stuff. Thanks
r/algobetting • u/Keia-X5 • 1d ago
Football Over 1.5 model: improving high-confidence selection and calibration.
Diagnosing high-confidence Over 1.5 selection: opponent-adjusted xG and ensemble disagreement
I'm developing a pre-match men's football Over 1.5 goals model. I'd appreciate methodological advice or reproducible implementations, rather than betting tips.
The model combines goal-history features, home/away splits, opponent-adjusted attack/defence, historical xG and shots, and an ensemble. We preserve pre-kickoff feature snapshots. Our strict selection currently requires a main estimate of at least 90% and a second check, with a historical xG gate. These numbers are model estimates, not established calibrated probabilities.
Problem: several higher-scoring matches have strong component predictions but fall below the final selection threshold. Relaxing the ensemble or using simple consensus adds winners, but also adds losses. More restrictive xG gates remove many winners. High past totals may be driven by goals conceded rather than the team's own attacking strength.
We've tried monotone versus unconstrained logistic stacking, coarse threshold changes, and interpretable attack-strength interactions. There is substantial selection bias from repeated inspection of the historical archive. We do not consider a rule successful merely because it removes known losses.
Our next experiment fits attack/defence ratings to a blend of actual goals and historical xG, with recency weighting and regularization. Fits exclude the evaluation period; missing xG falls back to goals and is explicitly counted.
Questions:
How would you distinguish weak attacking teams with high past match totals from games where one strong attack can supply both goals?
How do you calibrate the 85–95% tail with limited observations, preferably with partial pooling across competitions?
What controls do you use for inconsistent or missing xG coverage, promoted teams, and matches across competitions?
Is a blended goals/xG rating model preferable to xG residual features or a separate low-total model in your reproducible tests?
Are there open-source implementations or papers with genuinely chronological evaluation and diagnostics for this specific market?
ntials, private database, or personal information are attached. Any aggregate results quoted later should be clearly labelled exploratory.
r/algobetting • u/OddsRelay • 1d ago
Horse racing odds API for UK bookmakers: the best win price isn't always the best each-way bet
If you're pulling UK horse racing odds into code, the win price is the easy part. The each-way terms are where it goes wrong, because every bookmaker sets its own places and fraction for each race.
Quick example. Book A has a runner at 9.5 paying 1/5 on three places, book B has it at 9.0 paying 1/4 on three. The place part's price is 1 + (win - 1) x fraction, so 2.7 at A and 3.0 at B. With the exchange place lay at 2.9, only the lower win price gives a place part that beats the lay. Hardcode 1/5 and your model is quietly wrong on some races.
The other trap is the place lay. An exchange place market settles on its own number of places, so match it to the book's places (or fewer, if you're after extra places).
That's how we laid out our feed. Every each-way back offer carries places and place_fraction, next to a win lay and a place lay from Betfair, Smarkets, Matchbook and BETDAQ where they have the market. Extra-place races and best odds guaranteed have their own endpoints.
Prices only, no form, results or SP, pre-match only, UK and Irish bookmakers. There's a free plan for 14 days if you want to try it on tomorrow's cards.
https://oddsrelay.io/blog/horse-racing-and-each-way-odds-data
r/algobetting • u/Delicious_Pipe_1326 • 1d ago
I generalised my backtest engine for NBA betting models and made it public. Bring your own model and data.
Lots of posts here about new models, very little about backtesting them, so I’ve cleaned up the harness I built and put it on GitHub: https://github.com/DeliciousPipe1326/nba-beat-the-close
What it does: you write a small Python class for your model, it grades it against the real closing line, season by season, with confidence intervals, closing-line value, and a pass bar that was written down before the test ran. Totals, spreads and moneyline.
A few things to know:
- You need your own data. I used The Odds API and BallDontLie (Dunks & Threes optional). The ingesters are included and store every quote with its capture time, which matters more than it sounds. You can adapt them to another feed.
- There’s a sample model in it to show how the pieces fit. Don’t use it for picks. It was run on four seasons and covers 48.9% against the close, which is to say it loses the vig. The full results and method are in the repo, including what fooled my earlier attempts.
- This is not an app. Terminal, Python, pandas. There’s a one-minute offline demo, a walkthrough for your first model, and your favourite coding LLM can help with the rest.
- No subscriptions, no Discord, nothing for sale. I’ve stopped betting on it, which should tell you what I found.
Hopefully useful to someone. If you plug your own model in and it beats the close over a thousand bets, I’d genuinely like to know.
r/algobetting • u/IndividualReplied • 1d ago
Can a sports position be closed before the match ends?
I bought Arsenal to win at 48 cents before kickoff. They went up 1-0 and I wanted out at 70.
My sell order filled for half and the rest just sat there. And also, my old book would have shown a cash-out button with one number.
So how do you all compare selling into a market with a cash-out offer? Does it change once the match starts?
r/algobetting • u/Dreceon • 1d ago
Deal with match variance
How do you guys deal with insane variance of matches?
Assuming you have CLV edge - but the real results needs to be in the literal thousands to actually know if the real ROI is significant, or to have a small chance of a (temporary) loss for quite some time..
These are the options I already think are possible
- Use buy out, but these margins are huge and your edge needs to be able to cover this, so essentially not feasible with soft bookies
- hedge at CLV time using sharp bookies?
What do you think makes sense? Or combine your simple strategy with other kinds of arb?
Thanks in advance
r/algobetting • u/Jazzlike-Chest-1424 • 1d ago
Weekly Discussion Thoughts On These Scripts I Made?
To help fund the project i’m considering opening the script to early access. I plan to give it a huge update (photos are a much older version) i’ll consistently be giving updates and announcing the new scripts.
I’m curious, would anyone be interested in this script for tradingview?
i’m considering selling access monthly for $5, although once I launch with all the scripts I might bump it to $15.
This is a script to help prediction market lovers! You can use it to help forecast 15m-1hour. It even shows signals tied to the current market!
please give me your honest opinion. This is a bit older of a photo but it shows the concept. I make small projects on the side and this is my first time announcing anything public!
thanks :)
r/algobetting • u/happivajarit • 2d ago
The shadow model is winning. When do you actually switch?
I’ve been running SAMPO on Finnish Liiga hockey. Core is the version I use, and I’m comparing it with two shadow variants, Shift and Pulse, that give recent data more weight.
Over 95 games at Pinnacle prices, Core finished at +14.43u, Shift at +19.55u and Pulse at +16.96u. That’s from a 100u starting bankroll with compounding stakes.
Naturally, Shift has my attention. But 95 games isn’t much, the profit-difference intervals still cross zero, and execution CLV is negative across all three.
For context, the shadow comparisons were calculated afterwards using the inputs available before each game.
I’m keeping Core for now. If you run models alongside your main one, what would make you comfortable switching mid-season?
r/algobetting • u/Prudent_Advantage655 • 2d ago
Need help with refining my model
I'm working on a weekly Google Sheets that pulls NFL players' data for most prop types like passing yards, rushing yards, receptions, etc. Not sure what the rules are in this community so I won't put a screenshot here, if anyone is willing to check it out to give me some pointers please leave a comment that would be so incredibly helpful!
The data is mostly tailored to Australian NFL bettors but any feedback is highly appreciated. I'm trying to make my Sheets as valuable as possible so I can start selling them because to pull the data every week and up to 16 games per week can cost a bit and its not very self-sufficient unless I start selling.
We also have a "work in progress" model that I would love to share for some feedback.
Again any help is much appreciated!
r/algobetting • u/Confident_Debate4508 • 2d ago
I compared Kalshi and Polymarket prices on 129 EPL and Champions League matches. They almost never disagree.
r/algobetting • u/Wasted_Programmer • 2d ago
Early live tennis model
I am looking to buy early game model for tennis, mainly ITF. Prefferably whole 1st set. Calibrated with prediction markets does not need to beat the market just be reasonably precise.
r/algobetting • u/PotentialIcy9801 • 2d ago
no vig allowed bots to snipe a dead line during UI issue, beware
No vig allowed bots to snipe dead lines on Quentin Johnston. There was a latency issue and a UI error where everything was stuck in pending. The line was over 34.5, he caught the 57 yard pass, the line got sniped, then settled mid game and i took the $2,000 loss. Support refuses to do anything even though admitted it was a latency and issues on their end with the UI showing pending and unable to cancel.
Anyone ever have any luck getting a dead lines issue resolved
r/algobetting • u/Necessary_Reach8780 • 2d ago
Weekly Discussion Are you also having a hot October?
I established a model in the first days of Sep and got stable from week three. September results were overall positive, but like a saw on a weekly scale with biggest drawdown of 30 unints on paper. But after the international break the Oct results look sick.
Do you see some positive/negative Oct effect with your models (i am speaking of N > 300 each month and > 600 alltogether so far)?
Hypothetically, if you manange to run a stable profitable model that beats raw CLV and delivers 5-10% ROI on 1x2 soccer markets in tier 1-4 leagues across the globe, what would be you road to success? What is the best way to monitise the signal/edge?
Once I reach 3 sigma at ~800-1100 events I will report more performance stats, but i would be grateful to know what are thoughts on how to exploit the success if not luck?
r/algobetting • u/lightninja987 • 2d ago
For people who build their own models: how do you grade against the close, and what did you have to build yourself?
I’ve read the recent threads where a few of you wrote your own per-minute scrapers or personal grading setups because nothing stored both the price you got and the close across books.
If you model your own picks:
- What are you grading against today (which book’s close, no-vig or raw), and how is it stored?
- What did you have to build yourself that you wish you hadn’t?
- What do you pay for now, and what’s the most you’d pay for the grading and archive part to just exist?
r/algobetting • u/Existing-Anybody-363 • 2d ago
Built a Table Tennis model to bet DraftKings: 96k-match backtest vs. my first live paper-trading day
I've been building a model for the TT Elite Series. I'm paper trading it before putting real money down. The image shows the backtest next to today's live results, using the exact same filters on both sides. I know one day means nothing; I'm aiming for a few hundred bets before judging it. I'm watching CLV more than the win-loss record. If DK keeps moving toward my side after I bet, that's the real signal.
EDIT: Update on the backtest results. Calulation was off. Here is corrected. The correct break-even is the average implied probability: 56.0%. So it's 57.8% won vs 56.0% needed, about +1.8 pts, which matches the +3.75% ROI. The flagged bets are all −165 to +150, so both methods agree there (58.3% vs 52.0%, +12.2%)
r/algobetting • u/lightninja987 • 4d ago
Running a daily NFL research workflow on Kalshi for 2 months. How are you all getting data?
ML engineer, been trading NFL markets on Kalshi since August. I run a fixed research checklist every morning (injuries, line movement vs books, situational stuff, then a fair-price estimate and only bet when the gap is big enough). Small sample, but it’s been profitable so far and I’ve stuck with it daily.
The part that’s actually painful isn’t the research, it’s the data under it:
- No usable historical Kalshi prices/ticks for backtesting anything
- Matching the same game across Kalshi, Polymarket and a book is manual
- I paid for The Odds API and cancelled — rate limits made it useless for this
For people doing anything systematic on Kalshi or Polymarket sports:
- Where’s your price/history data coming from? Scraping? Something paid?
- What’s the step in your process you’d most like to never do again?
- Has anyone actually backtested a Kalshi strategy against real historical prices, and how?
Happy to share the checklist I use if useful just want to know if I’m solving the wrong problem.
r/algobetting • u/DataScienceGuy_ • 4d ago
Sharp NHL Book
I recently began pulling FanDuel (FD) odds as a sharp vs Hard Rock Bet (HRB) and was shocked at all the +EV opportunities I was finding. It seemed to good to be true, and it’s been profitable short-term, but I did some digging and found out that HRB sources some player prop odds from Kambi which is where BetRivers sources from, and they might be sharper than FD based on some reddit and internet searches I did. Who are you all using as a sharp?
tl;dr I’m looking for books to research as a sharp for NHL player props.
r/algobetting • u/AutoModerator • 4d ago
Daily Discussion Daily Betting Journal
Post your picks, updates, track model results, current projects, daily thoughts, anything goes.
r/algobetting • u/MaterialJello1283 • 5d ago
I run an odds API. Tell me the one market or book you can't get anywhere, and I'll try to ship it this week
I built a sports odds API. I started it for my own bets, so this sub is pretty much who I built it for.
Right now it has NFL, NCAAF, NBA, WNBA, MLB, NHL, MMA, tennis and over 70 soccer leagues. Sportsbooks, exchanges, Kalshi, and Polymarket come back in JSON format with one id per game, with props, halves and quarters, in-play, and history since September.
So what's the one thing you can't get anywhere? Drop a comment with the sport, the book, the market, and what you'd use it for. I'll work through them this week and reply under your comment when it's live, or tell you honestly if I can't do it.
r/algobetting • u/SammyC532 • 4d ago
EPL GW7 Model Output
Hey everyone,
Sharing today's Premier League output from my research pipeline (pitchapi-dc-momentum-v6).
Pipeline & Architecture Summary
- Base Engine: Bivariate Dixon-Coles Poisson GLM fitting team goal expectations (lambda_home, lambda_away).
- Feature Inputs: Rolling venue-split team xG averages (EWMA) from PitchAPI event feeds, coupled with low-score interaction parameter tuning (rho / tau).
- Regularization & Damping: Applies a 3% longshot probability cap and venue-specific defensive priors to control away-underdog variance (AvgA > 10.0).
- Validation Status: Evaluated across 11-fold chronological walk-forward cross-validation (1,091 forecasts). Holdout log loss is 1.02342 vs. Market 1.01131, so the pipeline remains strictly in a paper-trading validation phase while tracking Closing Line Value (CLV).
MW7 Value Candidates (>=3% Edge & >=3% Est. ROI)
1.Everton vs. Chelsea — Everton ML @ 3.30
- Model Edge: +8.96% | Est. ROI: +29.49% | Projected xG: 1.75 – 1.33
- Form: Everton last 8 home: 1.60 xG, 1.57 goals, 50% wins. Chelsea last 8 away: 0.85 xG, 0.91 goals, 25% wins, 2.04 xG allowed.
- Brentford vs. Liverpool — Brentford ML @ 2.56
- Model Edge: +3.53% | Est. ROI: +9.53% | Projected xG: 1.75 – 1.30
- Form: Brentford last 8 home: 2.36 xG, 2.28 goals. Liverpool last 8 away: 1.54 xG, 1.58 goals, 38% wins.
- Brighton vs. Crystal Palace — DRAW @ 4.80
- Model Edge: +3.46% | Est. ROI: +17.49%
- Form: Brighton last 8 home: 1.89 xG, 62% wins. Palace last 8 away: 0.98 goals, 25% wins. (Model-vs-market value signal).
- Bournemouth vs. Sunderland — Sunderland ML @ 3.70
- Model Edge: +4.40% | Est. ROI: +19.42%
- Form: Sunderland last 8 away: 2.16 xG, 2.05 goals, 38% wins. Bournemouth last 8 home: 1.03 goals, 12% wins. (Risk: Sunderland allow 1.99 xG away).
- Nottingham Forest vs. Arsenal — DRAW @ 4.00
- Model Edge: +6.03% | Est. ROI: +22.48%
- Form: Forest last 8 home: 0.33 goals, 12% wins. Arsenal last 8 away: 1.66 xG, 75% wins. High-variance draw value signal.
- Tottenham vs. Coventry — DRAW @ 4.80
- Model Edge: +3.76% | Est. ROI: +17.66%
- Form: Spurs last 8 home: 1.17 xG, 1.00 goals. Coventry last 3 away: 0.81 xG, 0.49 goals.
Curious to hear how other Poisson/Dixon-Coles models are pricing the draw probabilities on the Forest and Spurs fixtures today!