Sponsored by

Do your searches always hit dead ends?

Nearly half of users abandon a search without getting the result they wanted. Instead, they’re stuck in a loop of irrelevant results, slow-to-load articles and contradicting advice.
 
heywa is a whole new way of searching. It gives your result as visual & concise stories, meaning you get answers at a glance. 

And if you want to explore your topic further, you can tap through your search journey without having to re-prompt and start again.

OddsBriefing

Issue 20 · Week of 15–17 May 2026

The Newsletter That Finds Money Where Bookmakers Don’t

📈 Performance Snapshot

As of close of play, 10 May 2026 · Source: Odds Briefing internal tracker.

Week 19 settled at +0.52% on bankroll — a grinder, not a fireworks week. Two wins, one push, two losses from 11% risked. Hoffenheim –0.75 at 4% was the engine: the 1–0 over Bremen split into a half-win on –0.5 and a push on –1.0 for +1.56%. Esbjerg DNB at 2% cashed cleanly on the 3–0. Como –1.0 at 2.5% pushed exactly on the 1–0 at Verona. Villa –0.5 at 1.5% lost on the 2–2 Burnley draw. Fredericia DNB at 1% lost on the 2–0 at Vejle. Net P/L: +0.52%.

Zoom out. YTD we sit at +43.69% on bankroll across 18 tracked weeks of 2026 — 14 green, 4 red. Q2 is +19.15% in six weeks. Stretch the window back to mid-2025 and that’s 45 consecutive weeks of picks posted publicly before kick-off, every Tuesday, every issue — the entire bankroll line is auditable against the live timestamps. The Villa miss closed shorter than 1.68 by Friday afternoon (CLV positive). The Como push was variance, not process. We bought the right prices. The ball didn’t always cooperate. Process holds. Sizing holds.

Bankroll growth and weekly P/L since 1 January 2026. Bars: green = profitable week, red = losing week.

🎯 The Sharp Take

Genoa vs AC Milan — Milan –0.5 @ 1.81 — 3% Stake

Serie A Matchday 37 · Sunday, 17 May 2026, 12:30 CEST · Stadio Luigi Ferraris, Genoa · Analyst: Peter Hayes

The setup

Marassi on a humid Sunday lunchtime, the Curva Nord half-empty because Genoa’s season ended a month ago when De Rossi nudged them out of the relegation zone, and Milan arriving with the worst possible advert for their own Champions League ambitions — a 2–3 home defeat to Atalanta last Sunday and a press conference in which Allegri called this match “decisive.” With Inter champions, the Champions League race is now five teams chasing three places: Napoli 70, Juventus 68, Milan 67, Roma 67, Como 65. Napoli lost 2–3 to Bologna on Monday and are not yet through. Win at Marassi and Milan stay alive into the final round. Drop points and the maths gets ugly. The line says Milan –0.5. The market is asking whether they can win a football match. We think they can.

What the market is missing

• Milan have been the better statistical side in their recent defeats. Last week’s 2–3 against Atalanta is the case in point: 1.94 xG to 1.08, 20 shots to 9, 57% possession (Sofascore). They lost because Carnesecchi made eight saves and Nkunku’s 94th-minute penalty stuck. The performance was there. The result wasn’t.

• Genoa concede 1.33 goals per match this season (48 in 36) against a 1.44 xGA (FootyStats). They don’t close clean sheets — across their last ten Serie A matches they kept just one and conceded multiples in five.

• Milan are 10–5–2 away in Serie A this season (FootyStats): 17 played, 10 wins, 5 draws, 2 losses — a 59% win rate, third-best away record in the division.

• The Champions League incentive is sharper for Milan than for Genoa. Milan sit level with Roma on 67, a point behind Juventus on 68, three behind Napoli on 70 — and Roma host Lazio in the derby in the same matchday slot, while Napoli travel to Pisa. Five teams, three places. Milan can’t afford to drop points and hope for slips elsewhere. Genoa are mid-table with nothing left to play for. The motivational gap is real, even if the exact maths is conditional on other results.

The model’s number

Hayes: “Fair value on Milan –0.5 is 1.65, derived from a venue-adjusted xG model that weights the last ten matches and adjusts for personnel availability. 1.65 implies 60.6%; the market’s 1.81 implies 55.2%. That’s a 5.4-percentage-point implied-probability edge, or roughly 9.7% ROI on stake. Three caveats and I want them on the record: Leão, Estupiñan and Saelemaekers are all suspended; Modrić is injured; Tomori is one booking away. That’s why this is –0.5 and 3% rather than –0.75 at 4%.”

Our take

3% stake — our largest of the week. The –0.5 is the right line for an away favourite with three first-XI absences: it cashes on any Milan win without demanding a clean two-goal cover. We had –0.75 on the modelling sheet at 4% conviction. The personnel pulled us back. That’s the discipline, not the picture-perfect bet.

Timing

Bet by Saturday morning. Italian books typically tighten Sunday morning matches once Asian volume arrives, and 1.81 is the early sharp price — we expect movement toward 1.72–1.75 by kick-off as the European books align with Asian limits. The minimum acceptable price is 1.72; below that, the edge thins to the point where the personnel risk isn’t paid.

🔥 This Week’s Plays

Five plays from three analysts, totalling 11% risked across the Premier League, Bundesliga, Serie A, Ligue 1 and the Danish 1st Division. The Sharp Take above is the anchor; the rest are sized below it for a reason.

🔥 High Conviction (3%)

See The Sharp Take above. Genoa vs Milan, Milan –0.5 @ 1.81. This is the issue’s biggest position.

📊 Medium Conviction (2.5%)

Lille vs Auxerre — Lille –1.0 @ 1.59 — 2.5% Stake

Ligue 1 Matchday 34 (final round) · Sunday, 17 May 2026, 21:00 CEST · Analyst: Peter Hayes

Lille are unbeaten in twelve, with three wins and two draws across their last five: 1–0 at Monaco last Sunday, 1–1 vs Le Havre, 1–0 at Paris FC, 0–0 vs Nice, 4–0 at Toulouse. They beat Lens 3–0 in early April. Across their last five matches they’re averaging 0.6 goals against per game. They’re fighting Lyon (60 pts) and Rennes (59 pts) for the third Champions League spot — Lens have second locked up on 67. Lille sit 3rd on 61 and need points to hold. Auxerre arrive 15th on 31 in real relegation-playoff danger, level with Nice on points and only four clear of Nantes below them. They need points more than they need a fight on the road in Lille. The –1.0 demands a two-goal cover or push on the one-goal win; Lille have won by two or more in three of their last five home games.

Bet by Friday evening. Ligue 1 closing lines tighten Friday into Saturday once recreational French money arrives. The 1.59 was at 1.55 on Tuesday morning and crept up as the Le Havre side of the relegation drama soaked up money. Minimum acceptable price: 1.52.

Horsens vs Hvidovre — Horsens +0 (DNB) @ 1.81 — 2% Stake

Danish 1st Division — Promotion Group · Saturday, 16 May 2026 · Analyst: Jacob Nielsen

Honest first-person aside, because the skill calls for one and I genuinely feel it on this one: I went back and forth between the +0 and the –0.25 on Horsens. The –0.25 was 2.10 and the +0 was 1.81. The lower price wins because Hvidovre are a different shape on the road — they’ve won just three of their last ten away matches. Horsens are at home, just put four past Hillerød without reply on 9 May, and have one of the better defensive records in the division at roughly 0.9 goals conceded per match this season. The DNB protects on the draw and the +0 line lets us back the home favourite without taking the variance of a flat –0.25 quarter-ball.

Bet now. Danish 1st Division lines are thin and move on any inflow. The 1.81 was 1.74 yesterday. Minimum acceptable: 1.72.

⚡ Quick Hits (1.5–2%)

Brentford vs Crystal Palace — Brentford –0.5 @ 1.81 — 2% Stake

Premier League Matchday 37 · Sunday, 17 May 2026, 15:00 BST · Analyst: James McGill

The whole bet is the Gtech. Keith Andrews has Brentford 8th on the cusp of Europe after a season where they opened as third-favourite for relegation — and the engine has been home form. Brentford are W7 D6 L3 at home in the Premier League (StatMuse), unbeaten in their last four at the Gtech, and their 28 home Premier League goals across 17 home matches works out at 1.65 per home league fixture (FBref). The pace is real: matches at the Gtech are running at 2.80 goals per 90, with their last three averaging 3.00. Igor Thiago leads the line with Dango Ouattara back into the XI for Hickey, and Jordan Henderson returns to midfield.

The Palace side. 14th in the table, away form unreliable: 1.35 goals conceded per 90 on the road, defeats in 47% of away PL matches this season. They play Manchester City away on Wednesday 13 May before this fixture, and their Conference League final against Rayo Vallecano (Wed 27 May, Leipzig) is far enough out that Glasner is unlikely to rest fully, but the City midweek game is the real fatigue point. The –0.5 line removes the draw safety net but a Brentford win at the Gtech against a tired mid-table Palace is the central case at 1.81.

Why not Medium Conviction? Because Palace are dangerous on the counter, and the –0.5 line gives no draw protection. 2% is the right size.

Bet by Friday evening. London lines hold up reasonably through Saturday morning but tighten after the City–Palace midweek game if Palace rest their attack.

Frankfurt vs Stuttgart — Stuttgart –0.25 @ 1.74 — 1.5% Stake

Bundesliga Matchday 34 (final round) · Saturday, 16 May 2026, 15:30 CEST · Analyst: Peter Hayes

Three teams chasing one Champions League spot on the final day: Stuttgart and Hoffenheim level on 61 points, Leverkusen three back on 58. Stuttgart need a result and only control their own fate with a win. Frankfurt sit eighth on 43, European spot mostly decided elsewhere, and Toppmöller will rotate after a Europa-heavy fixture sequence. The –0.25 splits the stake: half on DNB, half on –0.5. Stuttgart win, both cash; draw, half stake back; loss, both lose. We’re pricing 4% edge at 1.74. Sized at 1.5% because Bundesliga final-day chaos is real and the line is tighter than the conviction.

Bet by Friday afternoon. Bundesliga final-matchday markets get sharpened by Friday evening as German recreational money piles into Champions League scenarios. Minimum acceptable: 1.68.

📋 Picks Summary

#

Match

Bet

Odds

Stake

Advisor

Bet By

1

Genoa vs AC Milan

Milan –0.5

1.81

3.0%

Hayes

Sat AM

2

Lille vs Auxerre

Lille –1.0

1.59

2.5%

Hayes

Fri Eve

3

Horsens vs Hvidovre

Horsens +0 (DNB)

1.81

2.0%

Nielsen

Bet now

4

Brentford vs Crystal P

Brentford –0.5

1.81

2.0%

McGill

Fri Eve

5

Frankfurt vs Stuttgart

Stuttgart –0.25

1.74

1.5%

Hayes

Fri PM

TOTAL BANKROLL RISKED

11.0%

11% is below our typical 12–18% range. Deliberate. The Milan position is sized down from the modelling sheet because of three suspended starters, the Stuttgart position is sized down because Bundesliga final-day chaos rewards conservative sizing, and there’s no “sixth pick to fill the slate” this week. We’d rather risk 11% on plays we believe in than 14% on plays we manufacture.

📍 Where to Bet

• Betfair Exchange — best for Asian handicaps, tightest margins. Use for Milan –0.5, Lille –1.0, Stuttgart –0.25.

• Pinnacle — sharpest fixed-odds, high limits. Use for Brentford –0.5 and any AH if Betfair liquidity is thin.

• Bet365 / Unibet — reasonable early Danish 1st Division prices, useful for the Horsens DNB.

All odds quoted are Betfair Exchange prices captured Tuesday 12 May, 09:30 BST. Lines move — always check current prices and our minimum acceptable price per pick before placing.

⚠️ Trap Game Alert

Aston Villa vs Liverpool — Friday, 15 May 2026, 20:00 BST — Villa Park

The narrative trap. “Villa need a result to seal Champions League. Liverpool are limping into the off-season. Back Villa to win at home.” Villa to win is around 1.92 in most books, and the Asian handicap on Villa –0.25 is being aggressively offered at 2.00. The fixture was brought forward from Sunday lunchtime to Friday night precisely because Villa’s schedule is broken.

The reality. Both teams are fighting for fourth. Villa and Liverpool are level on 59 points with two matches left, and one win from either side here essentially confirms Champions League qualification (Opta gives Liverpool 96.7% and Villa 87.3% probability of finishing top five). What’s broken isn’t motivation — it’s the rotation calculation. Villa play the Europa League final against Freiburg on Wednesday 20 May in Istanbul, five days after this fixture. Unai Emery confirmed this week that he’ll rotate. Watkins, McGinn, Tielemans and Konsa are all playing through fatigue (60+ appearances). For Liverpool, Slot has rested Salah in recent matches; the question is whether he protects bodies for next season or pushes for points here. Two motivated teams managing very different rotation calculations.

Our stance. Stay away. No official play. There’s a contrarian case for Liverpool Draw No Bet at 2.40 (Slot will field a competitive XI in a must-win-or-draw fixture, and Villa’s rotation is genuine), but the variance is too high and the lineup announcements won’t come until Friday afternoon — meaning the price you can get now isn’t the price you can act on with information. Let this one play out without your money on the table.

💡 Bankroll Tip: Reading CLV When Picks Lose

Week 19 finished +0.52% — a narrow win where two of our five picks lost. The sharper question on any week, winning or losing, is the same one: did our prices beat the close? Take the Villa pick. We bought Villa –0.5 at 1.68 on Tuesday afternoon for a 1.5% position. By Friday afternoon, the market had pulled it to 1.62. Decimal odds convert to implied probability as 1 ÷ odds: 1 ÷ 1.68 = 59.52%, 1 ÷ 1.62 = 61.73%. We bought a price implying Villa would cover the –0.5 about 59.5% of the time; the market closed implying 61.7%. That’s a +2.2-percentage-point move in our direction — the market agreeing with our read of the fixture, regardless of the 2–2 result.

Why this matters: over a large sample, the bettor who consistently beats the closing line wins. Variance kills any single week. CLV survives it. If you want a simple discipline, log your bet price and the closing price on every pick — ours or anyone’s. Run that log for three months. If the average move is in your direction by 1–2 percentage points or more, your process is sound and the results will follow. If it’s flat or against you, the picks are wrong even when they win. Week 19’s two losses both closed shorter than where we bought. That’s the number to track, not the bankroll line.

One more reason to log the close on our picks. Every Odds Briefing pick goes out at 09:30 BST on Tuesday — before the lines have time to digest the volume that arrives Wednesday through Friday. The prices we quote are timestamped in every issue, the bets are publicly visible before kick-off, and the bankroll line you see in the snapshot is the arithmetic of those public calls. If our prices are sharp, the close should agree with us more often than not. That’s the experiment, and the data is there for anyone who wants to run it.

🏆 League Intel

Serie A

Inter are champions on 85. With two matches left, five teams are still alive for three Champions League league-stage places: Napoli 70, Juventus 68, Milan 67, Roma 67, Como 65. Napoli’s 2–3 home loss to Bologna on Monday means they’re still in the race despite the cushion. This Sunday (Matchday 37) Genoa-Milan, Pisa-Napoli, Juventus-Fiorentina and Como-Parma all kick off at 12:30 CEST; Roma-Lazio is at the same slot pending the Prefettura decision. Matchday 38 on 24 May: Milan-Cagliari, Verona-Roma, Torino-Juventus, Cremonese-Como, Napoli-Udinese. Our Sharp Take above is the cleanest exposure to this race; we won’t add a second Serie A position before we see Matchday 37 results.

Premier League

Top three are decided — Arsenal, Manchester City and Manchester United are mathematically through to the Champions League. Liverpool (4th) and Aston Villa (5th) are level on 59 fighting for fourth. Brentford sit 8th in surprise position under Keith Andrews after opening the season third-favourite for the drop — our Quick Hit on Brentford –0.5 above rides that home-form pattern. At the bottom, Burnley and Wolves are already relegated; Tottenham (38) and West Ham (36) are separated by two points and fighting for the final relegation spot.

Bundesliga

Bayern champions. The final-day Champions League fight is Stuttgart (61) vs Hoffenheim (61) vs Leverkusen (58) for one spot — our Stuttgart pick rides that fight. At the bottom, the relegation picture goes to the wire. We’ll have positions on the 16th-place playoff once the Bundesliga 2 second-placed side is confirmed.

Ligue 1

PSG champions on 73. Lens have second locked up on 67. The third Champions League spot is between Lille (3rd, 61), Lyon (4th, 60) and Rennes (5th, 59) — our Lille –1.0 above is our exposure to that race. Auxerre sit 15th on 31, in real relegation-playoff danger — which is part of why the Lille line is what it is.

Danish Superliga

Last weekend’s notable result: Vejle 2–0 Fredericia, which cost the slate 1% and shifted the relegation playoff picture. FCM and Aarhus continue to lead the championship round; Brøndby, FCK and Randers are battling for the European places. We’ll publish early numbers on the FCK–Brøndby derby once dates and lines are confirmed.

📨 Before You Go

Time-sensitive plays: Horsens DNB is bet now, Stuttgart –0.25 by Friday afternoon, Lille –1.0 by Friday evening, Brentford –0.5 by Friday evening, Milan –0.5 by Saturday morning. The Bundesliga final-matchday and Ligue 1 final-matchday lines tighten fastest — don’t wait on either.

Got an edge we missed? Reply to this email — we read every response and the best ones land in next week’s issue. Know someone who’d benefit? Forward it. The list grows by word of mouth, which is the only growth we trust.

See you next Tuesday with full Week 20 results and the next slate of plays.

Bet smart. Beat the close. Build the bankroll. 🎯

All bets are recommendations only. Bet responsibly and within your means. Past performance does not guarantee future results. Odds Briefing is a publication of FrontWave Media Ltd, Limassol, Cyprus.

BEFORE YOU GO

OddsBriefing is proudly distributed by FrontWave Media.

Into AI as well as sports betting?
Our sister publication iPrompt covers AI investing, the most important tech news, and free prompts every week — sign up for FREE at iprompt.com

Your Agents Crave State

Every ai app hits the same wall: the agent needs to remember something, store something, try something. Ghost is postgres built for that. Spin one up per agent. Fork it. Throw it away. Pay nothing when it sits idle.

Recommended for you