# Bradford Bulls v Toulouse Olympique — Super League Round 3 2026 AI Prediction by Alphr

## Full Time: Bradford Bulls 18 – 6 Toulouse Olympique

_Bradford Bulls see off Toulouse Olympique._

Half time: 10 – 6 · Alphr AI pre-game win probability: Bradford Bulls 73% / Toulouse Olympique 27% · Bartercard Odsal Stadium · Mon, 02 Mar, 02:00 am AEDT

**Try Scorers** — Bradford Bulls: Waqa Blake (30'), Ethan Ryan (37'), Ethan Ryan (45'), Ethan Ryan (61') · Toulouse Olympique: Anthony Marion (23' 1st)

### Match Winner — AI Prediction Market (resolved)

| Team | Pre-game AI win probability | Result |
|---|---|---|
| Bradford Bulls | 73% | Won |
| Toulouse Olympique | 27% | Lost |

Model call: **Correct** · Margin: 4.1 predicted → 12 actual · Markets hit: 2/2

_AI win probability priced pre-game · Markets hit = core betting markets._

### Full-Time Report

**Bradford Bulls vs Toulouse Olympique Prediction & Tips | Super League Round 3 2026**

_By Ben Dunlop · Published: 30 May 2026, 07:35 pm · Last updated: 20 June 2026, 08:12 pm_

Bradford Bulls 18–6 Toulouse Olympique in Super League Round 3 at Bartercard Odsal Stadium. Here's how the result stacked up against the model's call, with the win-probability story and where the value landed.

Toulouse Olympique wanted the ball in hand and the phases to add up. Bradford Bulls wanted go-forward and didn't much care how pretty it looked. By full time it was Bradford 18, Toulouse Olympique 6, and the difference in method was written all over the stat sheet.

Toulouse were the tidier side with the ball, just 11 errors to Bradford's 13, and they matched the home side for line breaks at 4 apiece. But tidy doesn't always translate to points. Bradford ran for 1,368 metres to Toulouse's 1,247, and offloaded 13 times to Toulouse's 4, which tells you exactly where the game was decided. Bradford kept the ball alive after contact and turned field position into pressure. Toulouse kept it clean but kept it stationary.

The scoreboard took its time deciding which approach would win. Rowan Milnes opened with a penalty goal in the 10th for a 2-0 lead, then Anthony Marion crossed for Toulouse in the 23rd, converted by Cesar Rouge to make it 2-6. That was as good as it got for the visitors. Waqa Blake levelled it at 6-6 in the 30th, and Ethan Ryan put Bradford ahead for good three minutes before the break, 10-6 at half-time.

Ryan wasn't finished. He crossed again in the 45th and once more in the 61st, a hat-trick that did the damage on its own, turning a two-point half-time lead into a 12-point win. Toulouse had nothing to answer it with after Marion's try, and that's really the story of the second half: Bradford building on modest half-time control while Toulouse ran out of go-forward to build pressure of their own.

The positional numbers back up why Bradford's forwards did the heavy lifting. Bradford's pack rated at 919 against Toulouse's 763, and the hooker gap was even wider, 1,005 to 667. Toulouse held the edge in the backs, 1,131 to 994, which tracks with Marion doing their scoring, but a strong backline doesn't count for much when the forwards in front of it can't get quick ball. Bradford also won the discipline battle, conceding just 4 penalties to Toulouse's 6, and racked up 27 tackle busts to 25.

Form lines going in had Toulouse the busier side, two wins from their last five to Bradford's one, and better underlying numbers across the board: more run metres, more clean breaks, fewer errors. None of it showed up on the day.

Alphr's model had Bradford as 73% favourites despite the form gap, and that call landed. The margin read was off, tipping Toulouse by 4.1 when Bradford won by 12, but the combined total of 28 was close enough to the actual 24. Two picks, two hits, even if the margin model had the wrong side of the ledger entirely.

**Key Match Stats**

| Bradford Bulls | Stat | Toulouse Olympique |
|---|---|---|
| **1,368** | Run metres | 1,247 |
| 4 | Line breaks | 4 |
| **27** | Tackle busts | 25 |
| **13** | Offloads | 4 |
| 13 | Errors | **11** |
| **4** | Penalties conceded | 6 |

**Scoring Breakdown**

| Bradford Bulls | Stat | Toulouse Olympique |
|---|---|---|
| 4 | Tries | 1 |
| 1/5 | Goals | 1/2 |
| 4 | Penalties Conceded | 6 |
| 13 | Errors | 11 |

**Model Report Card**

Our model correctly predicted Bradford Bulls to win at 73% probability. The margin model missed here, predicting 4.1 but the actual margin was 12 points. Total score prediction of 28 was close to the actual 24, within 4 points. Bradford Bulls led 10–6 at the break and pulled away in the second half to win by 12. A clean sweep, all 2 model picks hit for this match.

**Ref Watch: Clean Game** (29/100) — penalties Bradford Bulls 4 · Toulouse Olympique 6.

_Official Super League match stats · Generated by Alphr's model_

### Edge Analysis — the model's pre-game markets

- **Head to Head:** Bradford Bulls to win — model probability 73.2% — result: WON
- **Line / Spread:** Toulouse Olympique — result: LOST
- **Margin Band:** Bradford Bulls 1-12 — result: WON
- **Total (Over/Under):** Under — model probability 50.0% — result: WON
- Predicted margin: Toulouse Olympique by 4 · Predicted total: 28

### Match Preview (pre-match read)

The model is firm on Bradford Bulls here: 73% to see off Toulouse Olympique. Form leans Toulouse Olympique's way: 2 from their last 5, against 1 for Bradford Bulls.

Bradford Bulls own the matchup too, leading 3 of 7 factors including Forward Pack, Halves Control and Venue Advantage. The margin model has Toulouse Olympique by 4.1, with the two sides combining for about 28. A big number on the win and a tighter one on the scoreboard. Back Bradford Bulls to win, not to win big.

_Pre-match read · Alphr model_

### Recent Form (Last 5)

| Bradford Bulls | Stat | Toulouse Olympique |
|---|---|---|
| 1.0 | Wins (Last 5) | 2.0 |
| 24.0pts | Avg Score | 21.0pts |
| 18.5pts | Avg Conceded | 14.0pts |
| 5.5pts | Avg Margin | 7.0pts |
| 1182.5m | Run Metres | 1319.0m |
| 5.5 | Clean Breaks | 7.5 |
| 316.5 | Tackles | 296.5 |
| 13.5 | Errors | 11.0 |

### Form & History

_Last 5 games, oldest → newest._

| Team | Last 5 | Avg Pts |
|---|---|---|
| Bradford Bulls | R1 L · R2 W | 24.0 |
| Toulouse Olympique | R1 W · R2 W | 21.0 |

### H2H History (Last 1) — Toulouse Olympique lead 1-0

| Season | Round | Home | Score | Away | Alphr's read |
|---|---|---|---|---|---|
| 2026 | R25 | Toulouse Olympique | 28 – 18 | Bradford Bulls | Toulouse Olympique 63% ✓ |

_Alphr's pre-match read was right in the one decided meeting it priced._

### Try Scorer History — Who Crosses The Line

_Last 10 games, career record vs the opponent and at Bartercard Odsal Stadium. ⚡ = our AI backs them to score; 🎯 = our AI's first-try pick. 🏉 = scored in this game. Try % = share of games with a try, last 10 weighted double vs the 30 prior — historical frequency, not a market price._

**Bradford Bulls** (team sheet)

| # | Player | Pos | 2026 | Last 10 | vs opp | Venue | Try % | Alphr play | This game |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Caleb Aekins | FB | 1 in 2g | 1/2g (0·1) | 0/0g | 1/1g | 50% | — | — |
| 2 | Connor Wynne | WG | 2 in 2g | 4/10g (0·0·1·0·1·0·0·0·2·0) | 3/1g | 0/1g | 24% | — | — |
| 3 | Esan Marsters | CE | 0 in 2g | 2/10g (0·0·0·0·1·0·0·1·0·0) | 0/0g | 0/1g | 20% | — | — |
| 4 | Waqa Blake | CE | 3 in 2g | 4/10g (0·0·0·1·0·0·0·0·1·2) | 0/0g | 2/1g | 35% | — | 🏉 30' |
| 5 | Ethan Ryan | WG | 0 in 1g | 3/10g (0·1·0·0·0·0·1·1·0·0) | 1/3g | 0/1g | 26% | — | 🏉 37' 45' 61' |
| 6 | Luke Hooley | 5/8 | 0 in 1g | 1/10g (0·1·0·0·0·0·0·0·0·0) | 0/0g | 0/1g | 18% | — | — |
| 7 | Rowan Milnes | HB | 0 in 2g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 1/3g | 0/1g | 18% | — | — |
| 8 | Ryan Sutton | PR | 0 in 2g | 1/10g (0·0·1·0·0·0·0·0·0·0) | 0/0g | 0/1g | 12% | — | — |
| 9 | Andy Ackers | HK | 1 in 2g | 1/10g (0·0·0·0·0·0·0·0·0·1) | 0/2g | 1/1g | 6% | — | — |
| 10 | Loghan Lewis | PR | 0 in 2g | 0/9g (0·0·0·0·0·0·0·0·0) | 0/0g | 0/1g | 0% | — | — |
| 11 | Zac Fulton | 2R | 0 in 2g | 0/2g (0·0) | 0/0g | 0/1g | 0% | — | — |
| 12 | Ed Chamberlain | 2R | 0 in 2g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/0g | 0/1g | 2% | — | — |
| 13 | Joe Mellor | LK | 0 in 2g | 2/10g (1·0·0·1·0·0·0·0·0·0) | 0/0g | 0/1g | 20% | — | — |
| 14 | Mitch Souter | INT | 0 in 2g | 0/2g (0·0) | 0/0g | 0/1g | 0% | — | — |
| 15 | Eribe Doro | INT | 0 in 2g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/0g | 0/1g | 3% | — | — |
| 16 | Brandon Douglas | INT | no games | 0/0g | 0/0g | 0/0g | — | — | — |
| 17 | Eliot Peposhi | INT | 0 in 2g | 0/2g (0·0) | 0/0g | 0/1g | 0% | — | — |

**Toulouse Olympique** (team sheet)

| # | Player | Pos | 2026 | Last 10 | vs opp | Venue | Try % | Alphr play | This game |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Olly Ashall-Bott | FB | 2 in 2g | 2/2g (2·0) | 0/0g | 0/0g | 50% | — | — |
| 1 | Oliver Ashall-Bott | FB | no games | 2/10g (1·0·0·0·0·0·0·1·0·0) | 0/0g | 0/0g | 24% | — | — |
| 2 | Paul Ulberg | WG | 1 in 2g | 1/2g (1·0) | 0/0g | 0/0g | 50% | — | — |
| 3 | Reubenn Rennie | CE | 2 in 2g | 2/2g (0·2) | 0/0g | 0/0g | 50% | — | — |
| 4 | Mathieu Jussaume | CE | 1 in 2g | 2/10g (0·0·1·0·0·0·0·0·0·1) | 0/0g | 0/0g | 21% | — | — |
| 5 | Benjamin Laguerre | WG | 1 in 2g | 1/3g (0·0·1) | 0/0g | 0/0g | 33% | — | — |
| 6 | Cesar Rouge | 5/8 | 0 in 2g | 1/10g (1·0·0·0·0·0·0·0·0·0) | 0/0g | 0/0g | 6% | — | — |
| 7 | Thomas Lacans | HB | 0 in 2g | 0/2g (0·0) | 0/0g | 0/0g | 0% | — | — |
| 8 | Lambert Belmas | PR | 0 in 2g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/0g | 0/0g | 3% | — | — |
| 9 | Brendan Hands | HK | 0 in 2g | 0/2g (0·0) | 0/0g | 0/0g | 0% | — | — |
| 10 | Tyler Dupree | PR | 0 in 2g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/0g | 0/0g | 4% | — | — |
| 11 | Joe Bretherton | 2R | 0 in 2g | 2/10g (1·1·0·0·0·0·0·0·0·0) | 0/0g | 0/0g | 12% | — | — |
| 12 | Pierre Lima | 2R | no games | 0/0g | 0/0g | 0/0g | — | — | — |
| 13 | Anthony Marion | LK | 0 in 2g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/0g | 0/0g | 3% | — | 🏉 23' |
| 14 | Joe Cator | INT | 0 in 2g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/0g | 0/0g | 0% | — | — |
| 15 | Robert Butler | INT | no games | 0/0g | 0/0g | 0/0g | — | — | — |
| 16 | James Roumanos | INT | no games | 0/0g | 0/0g | 0/0g | — | — | — |
| 17 | Jake Shorrocks | INT | no games | 2/10g (0·0·0·1·0·0·0·1·0·0) | 0/0g | 0/0g | 10% | — | — |

### Prediction Breakdown — Pure Alpha Model

**Team ELO Ratings** — Bradford Bulls 1506 · Toulouse Olympique 1505 · ELO difference: 1 in favour of Bradford Bulls

**Positional Matchups** — lineup ELO by unit

| Unit | Bradford Bulls | Toulouse Olympique | Edge |
|---|---|---|---|
| Forwards | 919 (best 1294) | 763 (best 925) | Bradford Bulls +157 |
| Backs | 994 (best 1178) | 1131 (best 1433) | Toulouse Olympique +137 |
| Halves | 1043 (best 1043) | 903 (best 903) | Bradford Bulls +140 |
| Hooker | 1005 | 667 | Bradford Bulls +338 |

**Key Prediction Factors** — what the model weighted most

| # | Factor | Weight | Favours |
|---|---|---|---|
| 1 | ELO Difference | 15.0% | — |
| 2 | Forward Pack | 12.0% | Bradford Bulls |
| 3 | Backline Quality | 10.0% | Toulouse Olympique |
| 4 | Recent Win Rate | 10.0% | Toulouse Olympique |
| 5 | Halves Control | 9.0% | Bradford Bulls |
| 6 | Venue Advantage | 8.0% | Bradford Bulls |
| 7 | H2H History | 6.0% | — |

**Model Confidence: 73%** — Bradford Bulls predicted to win by 4 points · Predicted total: 28 pts

**Record:** 2/2 match predictions correct

**Prediction by Alphr** (https://alphr.com.au) — free AI predictions for every AFL, NRL & Super League match, published before kick-off and never edited. Verified track record: https://alphr.com.au/accuracy

---
Canonical URL: https://alphr.com.au/super-league/match/2026-r3-bradford-bulls-v-toulouse-olympique
RSS feed: https://alphr.com.au/feed.xml
Prediction JSON API: today https://alphr.com.au/api/predictions/today · this week https://alphr.com.au/api/predictions/weekly
Markdown view for AI agents. Machine-readable index: https://alphr.com.au/llms.txt · full reference: https://alphr.com.au/llms-full.txt
All predictions are published before kick-off and verified after full time. Free, no login. 18+ gamble responsibly (AU).
Last updated: 2026-06-20 10:12 UTC (latest tip update)