Yesterday was a split card. Two wins, two losses, a net of +0.48 units. Not a great day, not a disaster. The kind of day where the process matters more than the results because one of those losses was a process failure and the other was an accepted risk.
I'm going to walk through all four plays, what happened, and what it means going forward. This is the part most people skip. They post the wins, bury the losses, and move on. That's not how you get better.
May 25 Results: 2-2, +0.48u
Brewers 5-1, Knicks 130-93. Both legs were never in doubt. Misiorowski was as dominant as projected. The Knicks completed the sweep. The parlay structure turned two heavily juiced favorites into a +163 payout. This is exactly how the heavy juice rule is supposed to work. Don't lay -185 straight. Pair it with another strong leg and get plus money.
Phillies 3, Padres 0. Schwarber hit one out early, Marsh added a two-run shot. The xFIP thesis was validated. Luzardo's underlying stuff was always better than his ERA suggested, and the road split confirmed it. This is the kind of play where second-layer data (xFIP, SIERA, home/away splits) finds value the market misses.
Astros 9, Rangers 0. Final total: 9. Texas held up their end of the bargain with zero runs. Houston decided to light up the scoreboard. The under thesis assumed both teams would be flat after travel. One was, one wasn't. This exposed a blind spot: asymmetric scoring. A game can blow past the total even when one team gets shut out. The data pointed to a flat game. It was flat on one side.
Hurricanes 3, Canadiens 2 in overtime. Svechnikov scored the OT winner. Montreal led in the third period. This was a plus-money home dog that led with 10 minutes left in regulation. I accepted the risk at +120 and the process was clean. Sometimes the other team has a better player and he shows up. That's hockey in the playoffs.
Process Check
The under thesis needs refinement
Game totals are still 9-2 overall, the best bet type in the portfolio. But the Houston blowout revealed something I need to account for: one-sided explosions. When both teams are expected to be flat, I also need to check if either offense has the upside to go off alone. Houston's lineup was always capable of a crooked number game. The under was a MEDIUM edge play (24.5%), not a HIGH. I should have sized it accordingly.
Badge inflation was a real problem
Both "HIGH" edge labels on yesterday's card were wrong. 24.5% and 29.6% are MEDIUM. The HIGH threshold is 30%+. Zero plays on May 25 cleared 30%. That should have been flagged before building the card. When no plays clear the high bar, the honest move is to say so. Not to stretch the labels to fill slots. This has been fixed in the engine code.
The parlay structure keeps working
Parlays are now 4-4 on the year. The successful ones share a pattern: strong pitching leg + strong side in a different sport. The MIL+NYK parlay yesterday is the template. Two uncorrelated legs, both with overwhelming data, structured to avoid laying heavy juice on either one individually.
xFIP regression plays are 2-0
Both times I've played a pitcher whose xFIP was significantly lower than his ERA (meaning he's been unlucky), the play has cashed. Small sample, but the underlying logic is sound. Pitchers whose contact quality metrics are elite but whose results lag are due for correction. I'll keep tracking this.
Running Numbers
By bet type:
Game totals / F5 unders: 9-2
Straight MLs: 15-13
Parlays: 4-4
Props: 3-5
Other: 7-2
What's on Deck Tonight
Full MLB slate on a Monday. I'll work through the matchups and post the card when it's ready.
If the engine produces zero HIGH edge plays, I'll say so. No forcing action on a Monday to fill a quota. Selectivity is what separates a 12% ROI from a 0% ROI.