MLS

St. Louis City 0–1 San Diego

Final score · Half-time 0–1 · Latest results

When the micro-edge on St. Louis City was recorded live, the sharp market made St. Louis City the most likely outcome at 52% (fair odds 1.91). On St. Louis City, LeoVegas (SE) offered 1.93 against a fair price of 1.91, a +0.8% gap: too small to call value (Micro-edge). Recent form — St. Louis City: LLLDW; San Diego: LDDDL.

After the whistle

Goals and cards

  1. 39' 0–1 Anders Dreyer · goal · assist Alejandro Alvarado Jr · San Diego
  2. 56' Alejandro Alvarado Jr · yellow card · San Diego
  3. 74' Lukas MacNaughton · yellow card · St. Louis City
  4. 87' Carlo Holse · yellow card · St. Louis City

Match stats

Match statsSt. Louis CitySan Diego
Possession %6040
Expected goals (xG)1.390.81
Shots1613
Shots on target72
Corners34
Yellow cards21
Red cards00
Fouls1714
Offsides42
Goalkeeper saves16

What the market said before kick-off

  • St. Louis City win 61% did not happen
  • Draw 20% did not happen
  • San Diego win 18% happened
  • Over 2.5 goals 72% did not happen
  • Both teams score 68% did not happen
  • Micro-edge flagged before kick-off (under 1.5%, monitor only): 1 · St. Louis City @ 1.93 (LeoVegas (SE)) Lost

CLV +16.6% vs the fair close. One flag on its own says little; the rule is judged on all of them.

Pinnacle closing price with the margin removed, next to what happened. It is the market's view, not a tip: an outcome priced at 30% happens about 3 times in 10.

Referee: Jon Freemon · Venue: Citypark, Saint Louis

Next matches

Line-ups, events and match stats: API-Football.

Starting line-ups

St. Louis City 3-4-3

  1. 39 B. Lundt GK
  2. 5 L. MacNaughton DF
  3. 32 T. Baumgartl DF
  4. 21 D. Polvara DF
  5. 6 C. Wallem MF
  6. 8 C. Durkin MF
  7. 24 D. Edelman MF
  8. 14 T. Totland MF
  9. 77 Jeong Sang-Bin FW
  10. 9 Rafael Navarro FW
  11. 19 C. Holse FW

Bench: C. Brunet, S. Becher, D. Downs, M. Fall, F. Fall, Riley Lynch, C. Olivares, J. Orozco, T. Ostrák

Coach: Y. Damet

San Diego 4-3-3

  1. 13 P. Sisniega GK
  2. 3 D. Þór­halls­son DF
  3. 97 C. McVey DF
  4. 32 I. Murphy DF
  5. 5 Kieran Sargeant DF
  6. 70 A. Alvarado MF
  7. 15 P. Soma MF
  8. 8 O. Valakari MF
  9. 10 A. Dreyer FW
  10. 7 M. Ingvartsen FW
  11. 14 B. B. Zamble FW

Bench: C. dos Santos, O. Verhoeven, M. Duah, J. Tverskov, A. Godoy, Gabriel Pirani, D. Vazquez, A. Pellegrino, David Mimbang

Coach: Mikey Varas

Regular starters not in the XI

  • M. Duah — on the bench (started 5 of the last 5)
  • O. Verhoeven — on the bench (started 4 of the last 5)
  • A. Godoy — on the bench (started 4 of the last 5)
  • Gabriel Pirani — on the bench (started 4 of the last 5)
  • C. Bakambu — not in the squad (started 4 of the last 5)

Not in the XI does not mean injured: it can be rotation, a suspension or a knock. We only compare with the team's last 5 line-ups.

Pinnacle, margin removed (home / draw / away): 62 / 19 / 19% when the line-ups came out, 61 / 20 / 18% at kick-off.

In the big leagues, line-up news is usually already in the price by the time it is official.

The most likely result is not the same as value: value is where a bookmaker pays more than the fair price, and the two can point to different outcomes.

Value check before kick-off Micro-edge

1 St. Louis City @ 1.93
Bookmaker LeoVegas (SE)
Price observed
Flag recorded @ 1.93 (LeoVegas (SE)) · recorded live, before kick-off
Market 1X2 (match result)
Availability and exact price varied by country and over time.
Fair price 1.91
LeoVegas (SE) 1.93
Market Gap +0.8%
Value flag result Lost · 1 -1.00u

Market discrepancy: before kick-off, St. Louis City (1) was priced at 1.93 by a soft bookmaker, above the fair price of 1.91 — a +0.8% gap. An observation about the price, not an instruction to bet.

The gap was smaller than 1.5% — likely to vanish in rounding, latency or line movement. We logged it for transparency, but it was not a strong signal.

A single result where a bookmaker pays above the fair price — separate from the main prediction below.

The market's two most likely results

1/2 Home or away 80% · as recorded

No single result was 55% likely or more when we logged the match, so this line adds up the two most likely outcomes (double chance).

1X2
Sharp, recorded52%20%28%
Other estimates
Our model55%24%22%

Sharp, recorded = Pinnacle when we logged the match (it can be days old). Our model = our own estimate, which on average predicts worse than the market.

Fair odds (as recorded) 1.25
Sharp odds recorded for this prediction (Pinnacle) 1.85 / 4.59 / 3.41
Result in our track record Won · 2

Match context

St. Louis City averaged 2.0 goals scored and 2.2 conceded per game over their last 5 matches in our results database; San Diego averaged 1.8 and 3.0 over 5.

Since opening around 1.85, the sharp market price on St. Louis City has shortened to 1.66 — the market has moved towards this outcome.

These figures come from our own tracked results and odds snapshots for this fixture — not from a generic stats feed.

Market-relevant trends

St. Louis City has lost its last 3 matches.
No value Already reflected in the fair price — no value on St. Louis City here.
San Diego is winless in its last 5 matches.
No value Already reflected in the fair price — no value on San Diego here.

We show the trend and whether it is already in the price. Most sites show the streak and let you assume you should bet it.

Why this price?

St. Louis City
L L L D W
avg 2 scored · 2.2 conceded (last 5)
San Diego
L D D D L
avg 1.8 scored · 3 conceded (last 5)

Form: most recent match first.

Recent head-to-head
02 Mar 2026 San Diego 2–0 St. Louis City
11 May 2025 St. Louis City 1–2 San Diego
02 Mar 2025 San Diego 0–0 St. Louis City

Recent form and head-to-head from our settled results — context behind the fair price. The price itself comes from the sharp market, not from these alone.

Proof & methodology

The timestamped record of this prediction, and how the fair price is made.

Value lifecycle Settled

Detected ·
1 St. Louis City · soft 1.93 (LeoVegas (SE)) · fair 1.91 · edge +0.8%
Opening sharp
1.85
At close
1.66 · CLV +16.6%
Result
Lost -1.00u 🔒 Recorded live before kick-off

“Detected” is the moment the flag was first shown on the site and written to our ledger (recorded live since 26 September 2026). For earlier matches the flag was reconstructed afterwards from the prices we had stored, and the time shown is when the rule would have fired: a backtest, not a live record. When the gap closes, we say so instead of pretending the value is still there.

Public, timestamped record

Logged before kick-off
Prediction record
Pick 1/2 · Home or away
Odds recorded for the prediction 1.20
Pinnacle closing odds (with margin) 1.21
Prediction CLV -1.2%
Result Won
Value-bet record

Recorded when the site showed it, before kick-off. Its seal is in our public export once this match’s row is published, and in the next daily external snapshot (07:40 Bucharest time: 04:40 UTC in summer time, 05:40 UTC in winter); for flags recorded on match day that snapshot comes after kick-off, so the pre-kick-off proof is our own timestamp.

Value selection 1 · St. Louis City
Odds when flagged 1.93
Fair odds 1.91
Fair closing odds (Pinnacle, margin removed) 1.66
Value CLV +16.6%
Profit (units) -1.00
Result Lost
Prediction hash — integrity fingerprint cef5bbc9993953d1

This hash fingerprints the prediction as recorded: teams, kick-off time, our model probabilities, the Pinnacle prices recorded for it (at logging or, if there were none, the first quoted after logging and before kick-off, which can be written in after the match) and the log time. A later edit to any of them would change it (a rescheduled kick-off changes it too). It does not cover closing prices, the result or the value-bet record above; value flags recorded live have their own seal in the public record. Verify in the public record →

Every day a snapshot of the full public record is published to a public Git repository and timestamped with OpenTimestamps. Timestamped snapshots are never overwritten and the Git history shows any difference, so a later change to a past row is visible by comparing two snapshots. The corrections file lists the corrections we announced. Verify on the public log →

Since 20 June 2026 the public record is snapshotted daily (07:40 Bucharest time: 04:40 UTC in summer time, 05:40 UTC in winter) to an external log. A prediction is externally timestamped before kick-off only if it was in a snapshot taken before the match; predictions logged on match day, or whose Pinnacle price was added after logging, first appear there after kick-off. Value flags have been recorded live only since 26 September 2026; earlier value flags were reconstructed on that date.

Methodology

The fair price comes from the sharp market itself: we strip the margin from Pinnacle-style odds — the most accurate public predictor in existence — and use our calibrated Elo + form model as a cross-check and as the fallback where no sharp price exists. Value is flagged only where a softer bookmaker prices a selection above that fair price, never on long shots (implied probability under 30%), and never beyond a plausible band. Most of the time there is no value — and we say so.

Found this useful? Send it to a friend who bets.