- Check out the full season 2023 MLB Betting Results
June 1, 2023 MLB Baseball Betting Cards details:
I still believe in the current model setup, it just needs more time to get a meaningful number of games under its belt to grind out consistent profit. I kicked the latest version into gear on May 26th.
Backtesting since May 26th:
- Main: 21 units bet, +0.30 units won
- Runts: 20 units bet, -9.2 units lost
Since May 1st:
- Main: 138 units bet, +52.05 units won
- Runts: 84 units bet, +18.16 units won
The backtesting is showing I was just late to the party in May so I’m confident in the current model to give it room to run.
June Adjustment:
Also the calendar has turned to June 1st. The 2nd Unit Value adjustment will occur starting with today’s games. I’m moving the Unit Values down to $1.10. This reflects the current bankroll on the season being just above 20 units won and assumes a starting bankroll of 100 units. $1.10 keeps the unit size slightly under 1% which is my goal with each adjustment (lower in percentage terms the higher the profit is to best preserve it, this month is ~0.90% and last month was ~0.80%) . This should preserve the bankroll if the May losing streak continues into June, but hopefully June proves to be profitable.
*See Glossary at bottom of page for details to help explain terms and other recent model changes.
*Final Results:
___________________________________
___________________________________
Glossary of terms:
- Card: Denotes the reason for team selection
- Main: The main choice for a bet, criteria is any team favored to win a game with a >50% WP% and eROI >6%.
- Runts: Underdogs in terms of WP% that were selected as bets after the Favorite couldn’t be bet due to unfavorable odds (unqualified eROI after line shopping). Must be > 10% in terms of eROI for Runts card qualification, otherwise entire game is scratched from card.
- WP% = Win Probability %
- This is the key to my model, I source these typically from Fangraphs as they do a pretty accurate job based on backtesting of past data. I also add my own adjustments to make them more accurate. The data as a whole is accurate, but at a team level it has some variation. My adjustment adds or subtracts to the WP based on winning records of teams playing.
- ML Odds = The Moneyline odds that the sportsbook is offering for the bet
- BE ML = Breakeven Moneyline
- This is a calculation to convert the Moneyline into a percentage format to highlight how often the bet would have to win to show a breakeven in money won/loss on a bet with the given odds.
- eROI = expected Return on Investment
- This is the expected Return on Investment a bet would return overtime if we were able to consistently place a similar bet. The formula is WP/BE ML.
- For example a bet with an eROI of 10% would be expected to show a net profit of 10% over the true odds. If a bet had a WP = 50%, meaning it would win half the time, we would expect to show a profit of 10% on our bets if we won 5 and lost 5.
- Unit size terms = These are factors I’m using to determine the appropriate unit size to bet
- Base = 1 unit if qualifying
- Edge= awards a bonus unit if BE ML < 50% (+ odds).
May Adjustment
- I’ve alluded to the idea of adjusting unit values and the beginning of a given month seems an appropriate time for a 6 month season of baseball
- Entering May the bankroll for the season is up over 60 units.
- Assuming the initial bankroll to start the season was 100 Units that means so far the bankroll has increased over 60% and in order to see relative gains throughout the season we need to increase unit sizes.
- A safe measure of increase is 30%, about half of the gains so far this season.
- Going forward the Unit Values will be adjusted from $1 to $1.30
- The plan is to report all unit gains in terms of the orginal season starting value of $1, but know that the daily value of those units wagered going forward are now higher.
Model 7.4:
- I tweaked the multiplier to the L9 adjustor to a constant that best fit game data for the month of May so far.
- I also raised the eROI qualifying criteria to 9.5% for both Main and Runts, was previously 4.5% Main and 9.5% Runts.
- In addition the qualifying criteria for a game was moved down to 47.5% BE ML/ >+110 odds. All games bet will be plus odds going forward.
- These changes were backtested and resulted in a 33% ROI based on games that met qualifications in May.
- Due to the tighter qualifications I upped the unit size on the Main bets from 1 to 3 units. Due mostly to the lower number of eligible games there will be each day.
- My overall goal is to churn through my bankroll every 40 games or so. Which is about 2.5 units per game and this 3 unit Main / 2 unit Runts should be close to that spot.
- It’s all about profitability. The current algorithm suggests a high level of ROI for the model based on it’s current inputs and I’m looking to press it to churn through the bankroll efficiently.
Model 7.3:
Changed eROI cutoff for Main bets to 4.5% from 6%:
- The Yankees were at 4.94% eROI today based on best odds value of -170. I couldn’t find -175 to bring them over the edge. Instead I backtested a change to 4.5%.
- This season so far shows a net loss -1 unit on Main card plays between 4.5% and 6% eROI
- Further examination reveals the win/loss record is 13-8, meaning more of these games are won than lost. And 4/5 2 unit plays resulted in losses which would account for this underperformance.
- A move down to 4.5% shouldn’t prove too troublesome and may be a more a 2 unit play issue on the Mains which I’ll have to examine further. The Yankees game is a 1 unit play today and the cutoffs for 1 unit Main plays at 4.5%-6% eROI show a profit of 3.6 units so far this season.
Changed eROI cutoff for Runt bets to 9.5% from 10%:
- The Dodgers were at 9.9% eROI today based on best odds value of +180. I backtested a change to 9.5%.
- This season so far shows a net gain of +0.7 units on Runt card plays between 9.5% and 10% eROI. There were only 2 games to review with this criteria with a 1-1 record.
- The data showed no harm in lowering this threshold, so it was lowered to accomodate the Dodgers today.
Model 7.2:
I tinkered with the adjustor some more, but further testing showed that the current L9 review period is the best based on backtesting 2023 games. However an adjustment to the final adjustment numbers for each team by cutting them in half showed a significant improvement. I tested dividing them by 1.5 or having them not apply at all as a baseline and it showed that dividing the adjustor numbers in half showed best improvement.
In addition I tested the qualifying criteria for Runts plays were shown to be unprofitable unless I upped the eROI criteria to 10%+. Main plays were profitable at 6%+. So i changed the criteria on these to their profitable eROI cutoffs.
The criteria cutoff is a big change as it will remove a lot of games from the cards. Overall this is for the best as profitability should increase tremendously by being more selective. I would like to press my bankroll more on these plays going forward, but I also don’t want single game risk to devastate the bankroll when things go awry. For now I’ll be keeping unit sizes the same in the 1-2 unit range until this more selective format shows actual profit for the bankroll.
Model 7.1:
The new adjustor was set at L15 tracking. I mentioned this was preferrable to an L21 as it would capture team changes at a quicker pace. After further review I decided this is in fact not quick enough. I would like to have a large sample size, hence my preference for L21, but each day lost in time of review for the adjustor represents lost money. Unfortunately the luxury of time is not available when deciding whether a team is playing above or below expectations.
The new model here moves it to a Last 9 Days review period (L9). This should quickly account for a bad series plus another game or two and immediately start penalizing teams if they are coming off a hot streak.
I always try to backtest any changes when possible and continuing the review process of backtesting the model changes to May games so far it has the following improvements.
- Model 7.0 L15 adjustor: 17 days of May games | 234 units bet, 25.9 units won | 11.1% ROI
- Model 7.1 L9 adjustor: 18 days of May games | 249 units bet, 40.0 units won | 16.1% ROI
Model 7.0:
Adjustor changes:
- The Last 14 Days (L14) adjustor is becoming the Last 15 Days (L15) adjustor and its getting a major upgrade.
- Yesterday I implemented an expanded Penalty Box rule to deduct WP% from teams that have cost me money this year. I’ve decided to change my approach to it as I don’t like it being arbitrarily dependent on just games I’ve bet on so far this season.
- Instead I’m changing my adjustor so I no longer have to manually track Wins/Loss separately for teams and calculate a daily adjustment factor on a sliding scale of -10%-+10% for teams. Now the L15 adjustor will automatically know which teams based on daily score inputs I place in my model at the end of each day for all the possible bets that day.
- I keep track of all games and their respective opening lines and WP% from Fangraphs each day. Only do I delete out rainouts, games with no lines by sportsbooks due to unknown pitchers, and occaisonal doubleheaders from this dataset .With this organized dataset I was able to create a rolling adjustor that will be able to identify a team’s rolling L15 Actual Win Percentage and the average Fangraphs WP% during that time.
- This information is important because I’m going to adjust team’s WP% each day based on their over/under performance to their average Fangraphs WP% during the L15. Team’s like Oakland are constant underperformers and everyone knows it. This just formalizes the process in how I track it and keeps it consistent for all teams and not just those I placed bets.
- This Adjustor change is also beneficial because it creates wider swings in the adjustment due to a team’s performance. Before teams were limited to just a 10% variance, but now I currently have both the Dodgers and the Rockies (yes, the Colorado Rockies) given a +23% WP% adjustment factor based on how well they’ve performed to their average Fangraphs WP% during the L15. And teams like the Pirates get a current adjustment downward of -25%.
- I wanted around 21 days to really get the sample size going, but back testing showed that it lacked the speed to account a new up/down trend for teams. The Pirates were one of the hottest teams in April, but at the beginning of May they were on a big spike downward. A L21 adjustor would take too long to correct, but L15 was able to switch their adjustment down to a negative after a 4-5 game losing streak.
- As a result of these changes the Penalty Box will be removed completely as unit ranges are only 1-2 units so penalizing losing teams more here is likely hurting potential returns when they do win. The new adjustor will be devastatingly cruel to them based on L15 performance, no need to compound it further with unit deductions.
Qualifying Bet Criteria/ Edge Changes:
- I also made a few changes to the bet criteria in that I moved down the qualfiication from 3% eROI for a bet, to 2%. This helps increase volume of game selections as backtesting shows that profitability in total units wons is increased with this bump down.
- I also adjusted the Edge unit criteria for bets to only be applicable if they offer postive + odds,
- All ML BE bets under 50% are the only games that qualify for the additional Edge unit
- Still needs to be at least 10% eROI to earn it.
- Lastly in regards to the adjustor I backtested various scenarios and found with the following changes the Model suggest profitability for May:
- 234 units bet, 25.9 units won | 11.1% ROI
- This is backtested with the new criteria so the changes should be on solid ground going forward.
Model 6.2:
Scratch Model 6.1 and Forced Runts. The L14 adjustor is back and also there is no more Base Unit bonus. All games that meet the qualifying criteria will receive 1 Base unit for a bet.
Qualifying criteria:
- eROI > 3%
- BE ML < 64%. Best Odds for a pick have to be better than -180.
Picks can receive up to one additional Edge unit if the eROI is > 10%. Thus the maximum bet size is now limited to 2 units.
As usual Main card, favorites based on WP% > 50%, will get first attempt at qualifying for a bet if the Main pick is ineligible a Runt pick is attempted on that game if the criteria qualifies. Otherwise the game is scratched.
Lastly I decided to at least take advantage of one trend, one that’s so simple that most other bettors are already doing this in some form. I’m adjusting the WP% calculation for teams in my betting penalty box. Previously I would just reduce the unit sizes, but I’m going to penalize their WP% to make it more likely I place a bet against those teams and take advantage of their losing ways.
The bottom 2 teams, currently Oakland and Texas will get a 10% adjustment downward and the next bottom 3 will get an adjustment of 5% downward. The teams in the penalty box can be reviewed on my MLB Season stats page.
Model 6.1:
Return of L14 adjustor and introduction of Forced Runts, plays where Main card bets with eROI >10% are automatically forced to be Runt plays based on their overall performance YTD.
Model 6.0:
Two changes here, one to the units and one major change to the WP% calculation.
Units:
- Unit sizes will be reduced to have a maxium of 3 units.
- 1 Base unit for any qualifying bet where the picks has eROI% >3%
- A 2nd Base unit if the pick has WP% > 60%
- A 3rd possible unit if the eROI% > 10%
These unit changes should award only those bets where the WP% or eROI is large enough to be deserving. Then the swing between bets that barely meet qualifying criteria will only be 1-2 units of difference. This sould give every game some meaning and not be seen as a rounding error in the days final results.
WP% Adjustments:
- I made changes to the adjustment the other day by adding a 2% boost to Away calculations as it appears they are being undervalued by Fangraphs. They still are, but I’m going to go about the adjustment in a different way and to save some work.
- I’m removing the L14 adjustor as the results didn’t in the data showed a similar gap in accuracy to the unadjusted WP% straight from Fangraphs. This part takes a little bit of time each day to setup and calculate so removing it also removes extra work with no benefit on my part.
- The overall accuracy gap is on average off about 8% this resulted in about 16 more Away games won so far this season than a perfect WP% match would project. I’m adding a 5% multiplier to all Away probabilites going forward. So the WP% for Away teams will be multiplied by 1.05. Reviewing season results thus far with this change in place shows that the number of extra games won by Away teams compared to this adjusted WP% is only 0.5 games higher. Practically spot on.
- Now its obviously not guaranteed to hold, but it’s a good reset to get the model more aligned with actual results this season. The WP% will be monitored for any changes in accuracy going forward.
Model 5.5 Update:
Upon further review yesterday I noticed that with the success of Runts bets that I was overbetting Main bets. The problem was on the risk management side due to large bet sizes needed to win similar profits on these plays where the odds were skewed as heavy favorites typically.
I’m making a committment more to the value side of bets going forward and it means that the determination of unit sizes needed to be adjusted.
BASE: All picks will get 1 Base units as long as the eROI% is > 3%. If a pick is showing >60% on the WP% then 1 additional Base unit will be applied, giving Main Bets a max of 2 Base units possible and Runts a limit of 1.
EDGE: The minimum for a bet to be placed is an eROI% of > 3%, but the 1st edge unit will kick in at 5%. I might adjust this down the road, but for now Edge units are set to provide 1 Edge unit for every 5% interval up to a cap of 3 units or 15%+ eROI.
Model 5.4 adjustment:
Those damn Runts have surpassed Main card bets in profitability in just over a week on the scene. The issue appears to be not only credited to the Runts successful performance, but the Main cards underperformance. The Runts have saved what would be some even worse days without them. A closer examination at the Main bets is needed to identify the fault.
Accuracy of the Model:
Digging into the model it’s important to track the accuracy of the WP% as that is the driver which determines if a bet is Positive Expected Value (+EV/+eROI%).
The way I track accuracy is by comparing the data on hand for the season and block the WP% into bins of 5% intervals. I then compare the overall Win/Loss records of those bins to the expected Win % for that grouping to see if the performance is in line.
- The performance for Away Teams are overperforming their overall Bins by 15.5 games without the adjustor and by 16 games with the adjustor.
- This Away overperformance means that Away teams are winning more games than expected, the adjustor isn’t really making an impact here.
- The only way I see to correct this is to either let the season course correct or force in another adjustor factor. After 40+ days in the season I would say something is amiss this season for the MLB in regards to Away team performance. The one indicator I notice that Away Teams overperform is in Extra Innings. They have some sort of pychological edge here with the ghost runner, where they have the ability to jump out to a lead first, winning more than 50% of extra inning games. And this stat goes back to its implementation in 2020 not just this season.
- In addition I reviewed Fangraphs Splits for 2023 and there have been 41 Extra Inning games so far compared to just 26 by this same time in 2022.
- The larger number of Extra Inning games not only signals a benefit for the Away team, but also a sign of closer parity as teams are neck and neck forcing extras more often.
- Also something with the pitch clock and bigger bags could be forcing an issue that hasn’t been caught yet to benefit one side.
- I’ve decided that some factor is incorrect on the Fangraphs sourced WP% in regards to Away teams this season and I will be forcing a +2% adjustment to all Away Teams going forward. Immediately with this in effect it shifts the overperformance to only 6.6. It’s not a full correction, but that’s also because I’m unsure if the WP% advantage for Away teams will correct and this is only temporary. So this partial improvement should be a good test to see if accuracy improves and holds for the model going forward.
Banning of Breakeven (BE) odds > 64%/ -180:
Lastly I will be making one other model adjustment to continue the process of mitigating risk. All bets with BE odds >64% are now banned, meaning they will result in an automatic Runt selection or scratch. Reviewing my bets with odds >64% / -180 ML has shown about a 22 unit loss so far this season.
“The Juice is not worth the Squeeze” when it comes to these high odds plays that require significant invesment in unit sizes to see similar returns in regards to Runts play
Model 5.2 update:
Currently the Runts card has a 3% threshold in place for eROI and it just made sense to apply the same standards to the Main card picks.
The data I have on hand of bets made so far this season support this decision.
- Since the beginning of the season there have been 94 Main card picks with a sub 3% eROI. These picks have resulted in a net profit of 2 units.
- Going back to just April 12th there have been 57 such Main card picks resulting in a net loss of 22 units.
With this minor change it will have minimal impact on the overall picks produced each day, maybe throwing some more the Runts way and creating more profit. But overall it should be a small change that helps improve overall eROI as these low value plays are removed from consideration going forward.
Model 5.12:
The Team Penalty unit which currently deducts one unit off all eligible bets for a team if that team is currently in the bottom 5 of profitability on the season (See 2023 MLB Betting Results teams data). This list is dynamic as it changes each day, but going forward to prevent Oakland or any other future team from being a drain of underpeformance I’ve upped the penalty to 2 units for the last place team. Note that these penalties will never reduce bet size to less than 1 unit if the team is eligible for a bet.
The overall goal here is increase the volume of plays while reducing risk. As a result the finances of your bankroll should improve as the strategy should capitalize on postive ROI plays resulting in more overall units won/ profits in a faster timeframe.
Model 5.11 Update:
RUNTS card added. These are opposite picks of bets that failed to materialize for a certain team due to negative eROI. They are added if a targeted MAIN card favorite team doesn’t have a positve eROI after line shopping. The opposing team is then reviewed for a positive eROI of 3%+. If that is the case then the RUNT team is added as a bet and at a fixed unit size of 2.
A second minor change with Model 5.11 is that I added a Unit Reduction factor called Team. This is a flag of the bottom 5 teams in profitability that you can review each day in my 2023 MLB Seasons Results page. The idea is that these teams have already burned me quite a bit this year, so they will be penalized 1 unit so that I’m not stretching a bigger bet on teams that just have trouble winning when needed. This list is dynamic each day so the bottom 5 teams could be different if somehow these reduced bets or RUNT cards get these teams back in my good graces.
Model 5.0 Update:
Base Units needed to be recalibrated to allow 1 unit bets to return. Previous Model had 1 base unit for every 5% of Win Probability % (WP%) above 45%. Due to recent adjustments in the Model no bets under 50% were no longer being placed, so no bet of 1 unit was possible.
New Model scales up Base Unit floor to 50% on the WP% and allows up to 3 units for every level of 5% above it.
In addition a Bonus unit was added if both the Base Unit and Edge Units were each providing at least 2 Units apiece on a given bet. Meaning now up to 6 units is the new Max Unit size that is feasible.
For example, any bet where WP% >60% will provide 3 Base Units and containing an eROI > 10% will provide an additional 2 Edge Units and since both Unit sources are 2+ in size a bonus unit is added to give us a 6 unit bet .
______________________________
Don’t forget to check out the AT&T Byron Nelson event going on now. I provide a detailed step by step process on how I created the card and also includes a list of my top ranked players that I used to make the selections.
Also the Wells Fargo tournament last week was very rewarding. It had 4 hits in the top 10. The card ended up generating 124% ROI!
___