Project Betty - Part 1

Created:
Last Updated:
← Back to home

Introduction

I thought Project Vend was a fun experiment from Anthropic a couple of months back. For me it nicely highlighted a couple of themes in the current A(G)I discourse:

  1. the ability of AI to complete long tasks1
  2. the gap between evals and benchmarks and real-world scenarios
  3. and potential economic impacts of AI

I've done some automated sports betting in the past and thought it would make an interesting parallel on how well Claude (Sonnet) could manage with that task with very little human inductive biases or modelling in the loop. I narrowed things down slightly by focusing on football (soccer) and constraining the market to the home/away/draw result.

I feel like it's a good benchmark because the LLM/agent definitely can't cheat from its training data and also I can get some quite quick (~weeks) feedback on actions taken. It's also exciting to have a bit of skin in the game. That said, it's also probably a bad benchmark in the sense that average humans are terrible at statistics and probabilistic thinking, but let's ignore that for now.

Anyway here's Project Betty!

Architecture

Outer Loop

There's an outer loop which on a timer retrieves upcoming football matches from the Betfair API and then if any are starting in the next half-hour performs an inner loop for an individual match

Inner Loop

The inner loop architecture looks like this

Betty Architecture

And the process is as follows

1. Conduct research on the upcoming fixture

I'm using the web search in the Anthropic API. Here's my "researcher" prompt:

prompt = f"""
Research the Premier League fixture: {fixture} (date: {date})
Please search for and summarize the following key information:
1. **Team News & Injuries**: Key players unavailable, recent injury updates
2. **Recent Form**: Last 5 matches for both teams, current league position
3. **Head-to-Head**: Recent meetings between these teams, historical trends
4. **Key Players**: Star players to watch, recent goal scorers, assists
5. **Manager Updates**: Any tactical changes, press conference insights
6. **Venue Information**: Home advantage factors, pitch conditions
7. **Weather Conditions**: Expected weather that could impact play style
8. **Betting Context**: Any notable betting trends or expert predictions
Focus on factual, recent information that would impact match outcome probabilities.
Organize the response in a clear, structured format that can be easily parsed.
"""

2. Extract structured predictions using dspy2

I use DSPy2 to extract structured data from the web search results. I know this looks dumb on many levels relative to how you might actually build, backtest, and run predictive sports models in practice, but this is at the core what I'm testing in the benchmark. The sort of data I extract looks like this to keep things semi-interpretable:

class TeamAnalysis(BaseModel):
"""Analysis for a single team"""
form_rating: float # 0-10 scale
injury_impact: float # 0-10 scale (higher = more injuries)
key_players_available: bool
recent_performance: str # "excellent", "good", "average", "poor"
motivation_level: float # 0-10 scale
class MatchFactors(BaseModel):
"""External factors affecting the match"""
home_advantage: float # 0-10 scale
weather_impact: float # 0-10 scale (higher = more impact)
venue_significance: float # 0-10 scale
referee_influence: float # 0-10 scale
crowd_support: float # 0-10 scale
class BettingProbabilities(BaseModel):
"""Final betting probabilities and confidence"""
home_win_probability: float # 0-1
draw_probability: float # 0-1
away_win_probability: float # 0-1
confidence_score: float # 0-1
key_factors: List[str]
reasoning: str
class ResearchAnalyzer(dspy.Signature):
"""Analyze raw research data and extract structured team insights"""
research_data: str = dspy.InputField(desc="Raw research data from web search")
fixture: str = dspy.InputField(desc="Match fixture (e.g., 'Man City v Tottenham')")
home_team_analysis: TeamAnalysis = dspy.OutputField(
desc="Structured analysis of home team"
)
away_team_analysis: TeamAnalysis = dspy.OutputField(
desc="Structured analysis of away team"
)
match_factors: MatchFactors = dspy.OutputField(desc="External match factors")
class ProbabilityCalculator(dspy.Signature):
"""Calculate betting probabilities from structured team analysis"""
home_team_analysis: TeamAnalysis = dspy.InputField(desc="Home team analysis")
away_team_analysis: TeamAnalysis = dspy.InputField(desc="Away team analysis")
match_factors: MatchFactors = dspy.InputField(desc="Match factors")
fixture: str = dspy.InputField(desc="Match fixture name")
probabilities: BettingProbabilities = dspy.OutputField(
desc="Betting probabilities and reasoning"
)

3. Size and place bets with a fractional Kelly based system

I took the liberty here of treating this part as a tool. I feel it's simple and well known enough to justify doing this part in code3. Once the bets are sized according to the edge from Betty's they are executed through the Betfair API. At most one bet can be placed and executed per match.

Memory

After each day Claude summarises the bets placed and the profit and loss for Betty, and this is then used as a primative memory and feedback system.

Results4

I gave Betty £100 to start with and filtered football matches to just the English Premier League so that I wouldn't lose all of my money straight away from a ridiculous bug or anything. I think I'll open up to other English football leagues to try and get some faster feedback on the edge (or lack thereoff) of Betty.

A key consideration is that Betfair applies a commission of 5% to all winning bets.

Without Commission

Net Worth Over Time (PnL £-61.69)

Including Commission

Net Worth Over Time (PnL £-70.50)

What's next?

This was a quickly hacked together version of Betty I did in a couple of hours. I think it's unclear currently how much the "harness" and tools should or shouldn't do (see this great piece Drew Breunig) so I didn't worry too much about making it "pure" or anything in that respect. I also now don't want to change this version of Betty and would like to leave it running for a month.

I've had fun hacking this together, I think there'll be another version after this month is up (or if Betty loses the entire bankroll before then). I need to read in detail Vending-Bench which I think was inspiration for Anthropic's Project Vend, and do some more digging on what is the right level to pose these agentic benchmarks at instead of engineering too much of the harness or supporting logic myself.

Full Record

Download the results

eventrunnerselectionplaced_datepricesizeoutcomeprofitprofit_with_commissionsettled_date
Man City v TottenhamMan CityHOME2025-08-23T11:36:18.000Z1.572.0LOST-2.0-2.02025-08-23T13:30:50.000Z
Bournemouth v WolvesBournemouthHOME2025-08-23T12:17:52.000Z1.844.5WON3.783.552025-08-23T15:58:20.000Z
Brentford v Aston VillaThe DrawDRAW2025-08-23T12:11:00.000Z3.63.3LOST-3.3-3.32025-08-23T16:01:26.000Z
Burnley v SunderlandSunderlandAWAY2025-08-23T12:13:47.000Z3.54.74LOST-4.74-4.742025-08-23T16:03:55.000Z
Arsenal v LeedsLeedsAWAY2025-08-23T16:06:31.000Z11.01.87LOST-1.87-1.872025-08-23T18:26:50.000Z
Crystal Palace v Nottm ForestNottm ForestAWAY2025-08-24T06:52:09.000Z3.21.83LOST-1.83-1.832025-08-24T14:55:19.000Z
Crystal Palace v Nottm ForestNottm ForestAWAY2025-08-24T07:16:46.000Z3.21.8LOST-1.8-1.82025-08-24T14:55:19.000Z
Crystal Palace v Nottm ForestNottm ForestAWAY2025-08-24T07:18:05.000Z3.21.76LOST-1.76-1.762025-08-24T14:55:19.000Z
Everton v BrightonEvertonHOME2025-08-24T07:25:05.000Z3.251.73WON3.893.662025-08-24T14:56:58.000Z
Fulham v Man UtdFulhamHOME2025-08-24T07:44:07.000Z3.551.69LOST-1.69-1.692025-08-24T17:24:32.000Z
Newcastle v LiverpoolLiverpoolAWAY2025-08-25T18:19:17.000Z2.321.76WON2.322.182025-08-25T21:06:03.000Z
Doncaster v RotherhamDoncasterHOME2025-08-30T10:38:26.000Z1.751.77WON1.331.252025-08-30T13:23:22.000Z
Stoke v West BromWest BromAWAY2025-08-30T10:34:07.000Z3.01.84WON3.683.462025-08-30T13:24:40.000Z
Cardiff v PlymouthThe DrawDRAW2025-08-30T10:40:26.000Z4.51.73LOST-1.73-1.732025-08-30T13:26:17.000Z
Middlesbrough v Sheff UtdMiddlesbroughHOME2025-08-30T10:36:23.000Z2.261.8WON2.272.132025-08-30T13:27:47.000Z
QPR v CharltonQPRHOME2025-08-30T10:30:14.000Z3.151.88WON4.043.82025-08-30T13:30:17.000Z
Chelsea v FulhamFulhamAWAY2025-08-30T10:41:14.000Z5.81.7LOST-1.7-1.72025-08-30T13:35:46.000Z
Oxford Utd v CoventryCoventryAWAY2025-08-30T13:47:24.000Z1.731.79LOST-1.79-1.792025-08-30T15:50:25.000Z
Blackburn v NorwichNorwichAWAY2025-08-30T13:43:13.000Z3.451.87WON4.584.312025-08-30T15:51:49.000Z
Bristol City v HullBristol CityHOME2025-08-30T13:57:32.000Z1.861.69WON1.451.362025-08-30T15:51:53.000Z
Watford v SouthamptonWatfordHOME2025-08-30T13:49:24.000Z3.051.76LOST-1.76-1.762025-08-30T15:52:43.000Z
Sheff Wed v SwanseaSwanseaAWAY2025-08-30T13:57:19.000Z2.341.55WON2.081.962025-08-30T15:53:07.000Z
Wolves v EvertonEvertonAWAY2025-08-30T13:38:19.000Z2.421.94WON2.752.582025-08-30T15:56:56.000Z
Tottenham v BournemouthTottenhamHOME2025-08-30T13:40:05.000Z1.951.9LOST-1.9-1.92025-08-30T15:57:55.000Z
Sunderland v BrentfordBrentfordAWAY2025-08-30T13:34:56.000Z2.462.02LOST-2.02-2.022025-08-30T15:58:08.000Z
Ipswich v DerbyDerbyAWAY2025-08-30T13:45:21.000Z7.81.83LOST-1.83-1.832025-08-30T16:06:05.000Z
Man Utd v BurnleyBurnleyAWAY2025-08-30T13:36:46.000Z8.61.98LOST-1.98-1.982025-08-30T16:06:50.000Z
Millwall v WrexhamMillwallHOME2025-08-30T13:59:44.000Z2.141.66LOST-1.66-1.662025-08-30T16:09:44.000Z
Leeds v NewcastleLeedsHOME2025-08-30T16:16:25.000Z3.81.97LOST-1.97-1.972025-08-30T18:29:14.000Z
Nottm Forest v West HamNottm ForestHOME2025-08-31T06:51:00.000Z1.721.93LOST-1.93-1.932025-08-31T14:57:56.000Z
Newport County v Bristol RoversBristol RoversAWAY2025-09-06T06:17:15.000Z2.041.9WON1.981.862025-09-06T13:25:41.000Z
Cheltenham v AccringtonThe DrawDRAW2025-09-06T07:09:15.000Z3.71.55LOST-1.55-1.552025-09-06T15:54:03.000Z
Doncaster v BradfordBradfordAWAY2025-09-06T06:28:24.000Z3.351.72LOST-1.72-1.722025-09-06T15:54:40.000Z
Notts Co v Fleetwood TownFleetwood TownAWAY2025-09-06T07:07:45.000Z4.01.62LOST-1.62-1.622025-09-06T15:55:11.000Z
Walsall v ChesterfieldChesterfieldAWAY2025-09-06T07:13:36.000Z2.71.46LOST-1.46-1.462025-09-06T15:56:24.000Z
Port Vale v Leyton OrientPort ValeHOME2025-09-06T06:35:02.000Z2.31.65LOST-1.65-1.652025-09-06T15:56:29.000Z
Colchester v CreweThe DrawDRAW2025-09-06T06:23:34.000Z3.551.79WON4.564.292025-09-06T15:56:37.000Z
MK Dons v GrimsbyGrimsbyAWAY2025-09-06T07:15:24.000Z3.71.43WON3.863.632025-09-06T15:56:46.000Z
Salford City v TranmereTranmereAWAY2025-09-06T13:33:54.000Z4.21.19LOST-1.19-1.192025-09-06T15:57:03.000Z
Huddersfield v PeterboroughHuddersfieldHOME2025-09-06T06:26:54.000Z1.531.76WON0.930.872025-09-06T15:57:24.000Z
Rotherham v ExeterExeterAWAY2025-09-06T09:01:37.000Z3.41.32LOST-1.32-1.322025-09-06T15:57:39.000Z
Cambridge Utd v OldhamThe DrawDRAW2025-09-06T07:07:46.000Z3.51.59LOST-1.59-1.592025-09-06T15:57:50.000Z
Barnet v ShrewsburyBarnetHOME2025-09-06T06:20:06.000Z1.861.83LOST-1.83-1.832025-09-06T15:57:52.000Z
Harrogate Town v Crawley TownThe DrawDRAW2025-09-06T07:59:28.000Z3.51.35LOST-1.35-1.352025-09-06T15:57:52.000Z
Plymouth v StockportStockportAWAY2025-09-06T07:10:34.000Z2.121.52LOST-1.52-1.522025-09-06T15:57:55.000Z
Barrow v SwindonBarrowHOME2025-09-06T06:18:39.000Z3.351.86LOST-1.86-1.862025-09-06T15:58:02.000Z
Bolton v AFC WimbledonAFC WimbledonAWAY2025-09-06T06:30:01.000Z7.21.69LOST-1.69-1.692025-09-06T15:58:03.000Z
Lincoln v WiganLincolnHOME2025-09-06T07:16:47.000Z2.461.41LOST-1.41-1.412025-09-06T15:58:45.000Z
Wycombe v MansfieldMansfieldAWAY2025-09-06T07:12:05.000Z3.31.49LOST-1.49-1.492025-09-06T15:59:29.000Z
Zaragoza v ValladolidValladolidAWAY2025-09-06T14:32:22.000Z2.981.17LOST-1.17-1.172025-09-06T18:31:45.000Z
Bromley v GillinghamBromleyHOME2025-09-06T07:19:50.000Z2.441.38LOST-1.38-1.382025-09-06T18:32:32.000Z
Malaga v GranadaMalagaHOME2025-09-06T16:02:05.000Z2.11.42LOST-1.42-1.422025-09-06T20:56:29.000Z
AD Ceuta FC v HuescaAD Ceuta FCHOME2025-09-07T10:38:35.000Z3.251.39WON3.132.942025-09-07T13:59:25.000Z
Burgos v Las PalmasThe DrawDRAW2025-09-07T13:12:42.000Z3.151.34WON2.882.712025-09-07T16:06:44.000Z
Sociedad B v CadizSociedad BHOME2025-09-07T13:10:30.000Z3.651.36LOST-1.36-1.362025-09-07T16:13:15.000Z
Leonesa v LeganesThe DrawDRAW2025-09-07T13:54:46.000Z3.31.28WON2.942.762025-09-07T18:23:42.000Z
Almeria v Racing SantanderRacing SantanderAWAY2025-09-07T13:53:14.000Z4.71.31WON4.854.562025-09-07T18:32:24.000Z
US Latina Calcio v AZ Picerno ASDUS Latina CalcioHOME2025-09-07T15:56:22.000Z3.351.24LOST-1.24-1.242025-09-07T20:22:13.000Z
Livorno v FC Guidonia Montecelio 1937LivornoHOME2025-09-07T15:51:17.000Z1.811.32LOST-1.32-1.322025-09-07T20:24:36.000Z
Rimini v TernanaTernanaAWAY2025-09-07T15:54:56.000Z1.451.27WON0.570.542025-09-07T20:27:27.000Z
Audace Cerignola v SiracusaSiracusaAWAY2025-09-07T15:53:01.000Z6.41.29LOST-1.29-1.292025-09-07T20:31:28.000Z
Sambenedettese v ForliSambenedetteseHOME2025-09-07T15:50:03.000Z2.421.34LOST-1.34-1.342025-09-07T20:31:58.000Z
Deportivo Madryn v Los AndesLos AndesAWAY2025-09-07T19:22:25.000Z9.21.49LOST-1.49-1.492025-09-07T21:31:34.000Z
CA Central Norte v AgropecuarioAgropecuarioAWAY2025-09-07T19:23:57.000Z3.91.46WON4.233.982025-09-07T22:01:16.000Z
Chaco For Ever v ChacaritaChaco For EverHOME2025-09-07T19:31:48.000Z2.180.15LOST-0.15-0.152025-09-07T23:56:38.000Z
Chaco For Ever v ChacaritaChaco For EverHOME2025-09-07T19:33:32.000Z2.141.41LOST-1.41-1.412025-09-07T23:56:38.000Z
Arsenal de Sarandi v Tristan SuarezTristan SuarezAWAY2025-09-08T10:55:02.000Z4.80.5LOST-0.5-0.52025-09-08T17:58:23.000Z
Arsenal de Sarandi v Tristan SuarezTristan SuarezAWAY2025-09-08T15:00:46.000Z4.31.39LOST-1.39-1.392025-09-08T17:58:23.000Z
Alvarado v CD MaipuCD MAIPUAWAY2025-09-08T17:27:15.000Z3.951.35LOST-1.35-1.352025-09-08T19:59:41.000Z
Alvarado v CD MaipuCD MAIPUAWAY2025-09-08T17:32:53.000Z3.951.27LOST-1.27-1.272025-09-08T19:59:41.000Z
Alvarado v CD MaipuCD MAIPUAWAY2025-09-08T17:34:21.000Z3.951.17LOST-1.17-1.172025-09-08T19:59:41.000Z
Alvarado v CD MaipuCD MAIPUAWAY2025-09-08T17:34:57.000Z3.951.08LOST-1.08-1.082025-09-08T19:59:41.000Z
Eibar v Andorra CFAndorra CFAWAY2025-09-08T13:21:21.000Z5.31.45LOST-1.45-1.452025-09-08T20:25:10.000Z
Almirante Brown v San TelmoSan TelmoAWAY2025-09-08T15:01:58.000Z4.81.45LOST-1.45-1.452025-09-08T22:59:17.000Z
Colon v Estudiantes Rio CuartoColonHOME2025-09-08T17:27:16.000Z2.621.1LOST-1.1-1.12025-09-09T00:02:00.000Z
Colon v Estudiantes Rio CuartoColonHOME2025-09-08T17:38:27.000Z2.541.02LOST-1.02-1.022025-09-09T00:02:00.000Z
Club Necaxa (W) v Puebla FC (W)The DrawDRAW2025-09-08T17:38:31.000Z3.51.17LOST-1.17-1.172025-09-09T01:41:51.000Z
CF Os Belenenses v MaritimoThe DrawDRAW2025-09-20T08:31:25.000Z3.61.29LOST-1.29-1.292025-09-20T11:58:09.000Z
Braunschweig v ElversbergElversbergAWAY2025-09-20T08:57:34.000Z2.081.24WON1.341.262025-09-20T12:58:13.000Z
FC Magdeburg v Schalke 04FC MagdeburgHOME2025-09-20T08:59:08.000Z2.381.21LOST-1.21-1.212025-09-20T13:01:08.000Z
Hertha Berlin v PaderbornPaderbornAWAY2025-09-20T08:56:00.000Z2.661.26WON2.091.962025-09-20T13:05:10.000Z
Leicester v CoventryLeicesterHOME2025-09-20T09:55:30.000Z2.71.69LOST-1.69-1.692025-09-20T13:22:21.000Z
Liverpool v EvertonLiverpoolHOME2025-09-20T09:07:49.000Z1.531.08WON0.570.542025-09-20T13:22:23.000Z
Harrogate Town v ShrewsburyShrewsburyAWAY2025-09-20T09:44:33.000Z2.721.02LOST-1.02-1.022025-09-20T13:24:28.000Z
Brackley Town v Sutton UtdThe DrawDRAW2025-09-20T09:04:44.000Z4.21.12LOST-1.12-1.122025-09-20T13:25:40.000Z
Blackpool v BarnsleyBlackpoolHOME2025-09-20T09:57:07.000Z2.521.64WON2.492.342025-09-20T13:25:47.000Z
Cambridge Utd v Fleetwood TownCambridge UtdHOME2025-09-20T09:01:45.000Z2.161.17WON1.361.282025-09-20T13:26:00.000Z
QPR v StokeStokeAWAY2025-09-20T09:09:15.000Z2.61.05LOST-1.05-1.052025-09-20T13:26:39.000Z
Bolton v WiganThe DrawDRAW2025-09-20T09:43:19.000Z3.951.02LOST-1.02-1.022025-09-20T13:30:53.000Z
Lincoln v LutonLincolnHOME2025-09-20T09:10:43.000Z3.651.03WON2.732.572025-09-20T13:31:12.000Z
Birmingham v SwanseaSwanseaAWAY2025-09-20T09:03:12.000Z4.81.14LOST-1.14-1.142025-09-20T13:34:38.000Z
Girona v LevanteLevanteAWAY2025-09-20T09:55:31.000Z4.81.67WON6.355.972025-09-20T13:58:35.000Z
Sassari Torres v TernanaTernanaAWAY2025-09-20T11:40:21.000Z3.251.02LOST-1.02-1.022025-09-20T14:55:29.000Z
SU Sintrense v VizelaVizelaAWAY2025-09-20T12:21:47.000Z1.431.0LOST-1.0-1.02025-09-20T14:55:45.000Z
Livorno v AscoliAscoliAWAY2025-09-20T10:16:20.000Z2.41.44WON2.011.892025-09-20T14:59:38.000Z
Bologna v GenoaGenoaAWAY2025-09-20T10:15:06.000Z5.41.53LOST-1.53-1.532025-09-20T15:11:07.000Z
Pesaro v US PianesePesaroHOME2025-09-20T11:41:56.000Z2.361.0LOST-1.0-1.02025-09-20T15:11:25.000Z
Werder Bremen v FreiburgThe DrawDRAW2025-09-20T10:27:17.000Z3.81.41LOST-1.41-1.412025-09-20T15:29:27.000Z
Augsburg v MainzAugsburgHOME2025-09-20T11:40:22.000Z2.841.03LOST-1.03-1.032025-09-20T15:30:01.000Z
Hamburger SV v FC HeidenheimHamburger SVHOME2025-09-20T10:28:52.000Z1.941.39WON1.311.232025-09-20T15:30:37.000Z
Hoffenheim v Bayern MunichBayern MunichAWAY2025-09-20T10:24:08.000Z1.341.47WON0.50.472025-09-20T15:31:22.000Z
Boston Utd v Boreham WoodBoston UtdHOME2025-09-20T10:38:15.000Z4.41.23LOST-1.23-1.232025-09-20T15:52:53.000Z
Barrow v CreweCreweAWAY2025-09-20T10:45:40.000Z2.441.11LOST-1.11-1.112025-09-20T15:52:57.000Z
Scunthorpe v Truro CityThe DrawDRAW2025-09-20T13:47:07.000Z4.11.0LOST-1.0-1.02025-09-20T15:53:00.000Z
Bromley v ChesterfieldBromleyHOME2025-09-20T13:01:22.000Z2.941.0LOST-1.0-1.02025-09-20T15:53:01.000Z
Woking v Forest GreenForest GreenAWAY2025-09-20T12:21:56.000Z1.831.0WON0.830.782025-09-20T15:54:00.000Z
Portsmouth v Sheff WedPortsmouthHOME2025-09-20T10:55:10.000Z1.571.0LOST-1.0-1.02025-09-20T15:54:07.000Z
Sheff Utd v CharltonCharltonAWAY2025-09-20T11:42:08.000Z4.71.0WON3.73.482025-09-20T15:54:22.000Z
Notts Co v Crawley TownNotts CoHOME2025-09-20T11:42:09.000Z2.121.0WON1.121.052025-09-20T15:54:33.000Z
Burnley v Nottm ForestBurnleyHOME2025-09-20T11:42:03.000Z3.51.0LOST-1.0-1.02025-09-20T15:54:56.000Z
Plymouth v PeterboroughPlymouthHOME2025-09-20T11:42:02.000Z1.911.0LOST-1.0-1.02025-09-20T15:55:13.000Z
Brighton v TottenhamTottenhamAWAY2025-09-20T11:40:26.000Z3.21.04LOST-1.04-1.042025-09-20T15:55:20.000Z
Rotherham v StockportThe DrawDRAW2025-09-20T11:42:07.000Z3.81.0LOST-1.0-1.02025-09-20T15:55:29.000Z
Doncaster v AFC WimbledonDoncasterHOME2025-09-20T11:42:06.000Z1.981.0LOST-1.0-1.02025-09-20T15:55:31.000Z
West Ham v Crystal PalaceCrystal PalaceAWAY2025-09-20T11:40:29.000Z2.421.02WON1.451.362025-09-20T15:55:57.000Z
Wycombe v NorthamptonNorthamptonAWAY2025-09-20T12:22:00.000Z4.61.0LOST-1.0-1.02025-09-20T15:55:59.000Z
Derby v PrestonThe DrawDRAW2025-09-20T12:21:50.000Z3.251.0LOST-1.0-1.02025-09-20T15:56:05.000Z
Newport County v GillinghamNewport CountyHOME2025-09-20T11:42:05.000Z4.61.0LOST-1.0-1.02025-09-20T15:56:11.000Z
Colchester v Bristol RoversBristol RoversAWAY2025-09-20T13:37:32.000Z2.441.0LOST-1.0-1.02025-09-20T15:56:24.000Z
Stevenage v ExeterStevenageHOME2025-09-20T10:47:16.000Z1.781.09WON0.850.82025-09-20T15:56:30.000Z
Barnet v GrimsbyGrimsbyAWAY2025-09-20T11:42:02.000Z3.11.0LOST-1.0-1.02025-09-20T15:56:54.000Z
Ovarense v CovilhaOvarenseHOME2025-09-20T13:47:13.000Z5.21.0LOST-1.0-1.02025-09-20T15:56:56.000Z
MK Dons v AccringtonMK DonsHOME2025-09-20T11:40:28.000Z1.571.04LOST-1.04-1.042025-09-20T15:57:03.000Z
Morecambe v WealdstoneWealdstoneAWAY2025-09-20T10:48:51.000Z1.941.07LOST-1.07-1.072025-09-20T15:57:13.000Z
Salford City v SwindonSwindonAWAY2025-09-20T12:21:58.000Z3.01.0LOST-1.0-1.02025-09-20T15:57:17.000Z
Genclerbirligi v EyupsporThe DrawDRAW2025-09-20T11:42:09.000Z3.451.0LOST-1.0-1.02025-09-20T15:57:20.000Z
Dundee v LivingstonDundeeHOME2025-09-20T11:42:03.000Z3.11.0WON2.11.972025-09-20T15:57:24.000Z
Hull v SouthamptonThe DrawDRAW2025-09-20T11:40:25.000Z3.81.04LOST-1.04-1.042025-09-20T15:57:32.000Z
Walsall v TranmereWalsallHOME2025-09-20T12:21:57.000Z2.041.0WON1.040.982025-09-20T15:57:55.000Z
Huddersfield v Burton AlbionHuddersfieldHOME2025-09-20T12:21:52.000Z1.611.0LOST-1.0-1.02025-09-20T15:58:49.000Z
York City v Solihull MoorsThe DrawDRAW2025-09-20T13:37:24.000Z6.41.0LOST-1.0-1.02025-09-20T15:59:15.000Z
Altrincham v CarlisleThe DrawDRAW2025-09-20T13:37:29.000Z4.11.0LOST-1.0-1.02025-09-20T15:59:37.000Z
Norwich v WrexhamNorwichHOME2025-09-20T11:42:04.000Z2.021.0LOST-1.0-1.02025-09-20T16:00:11.000Z
Cardiff v BradfordCardiffHOME2025-09-20T10:31:44.000Z1.911.33LOST-1.33-1.332025-09-20T16:00:13.000Z
Aldershot v HartlepoolAldershotHOME2025-09-20T11:40:28.000Z2.981.04WON2.061.942025-09-20T16:00:25.000Z
Port Vale v MansfieldPort ValeHOME2025-09-20T10:39:38.000Z2.21.2WON1.441.352025-09-20T16:00:27.000Z
Gateshead v FC Halifax TownFC Halifax TownAWAY2025-09-20T11:42:07.000Z2.581.0WON1.581.492025-09-20T16:01:24.000Z
Cheltenham v OldhamCheltenhamHOME2025-09-20T12:21:51.000Z3.651.0LOST-1.0-1.02025-09-20T16:02:24.000Z
Reading v Leyton OrientLeyton OrientAWAY2025-09-20T10:53:36.000Z2.961.02LOST-1.02-1.022025-09-20T16:05:13.000Z
Eastleigh v BraintreeThe DrawDRAW2025-09-20T11:42:02.000Z4.11.0LOST-1.0-1.02025-09-20T16:05:31.000Z
Leonesa v CD CastellonLeonesaHOME2025-09-20T12:22:01.000Z3.61.0LOST-1.0-1.02025-09-20T16:12:17.000Z
Real Madrid v EspanyolThe DrawDRAW2025-09-20T11:45:10.000Z7.81.0LOST-1.0-1.02025-09-20T16:13:11.000Z
FC Volendam v ExcelsiorFC VolendamHOME2025-09-20T12:22:02.000Z2.241.0LOST-1.0-1.02025-09-20T16:22:39.000Z
GD Vitoria de Sernache v PortimonensePortimonenseAWAY2025-09-20T13:47:14.000Z1.581.0WON0.580.552025-09-20T16:56:37.000Z
Nantes v RennesRennesAWAY2025-09-20T11:48:10.000Z2.141.0LOST-1.0-1.02025-09-20T16:58:54.000Z
Catania v SorrentoCataniaHOME2025-09-20T11:51:53.000Z1.361.0LOST-1.0-1.02025-09-20T17:34:24.000Z
Verona v JuventusJuventusAWAY2025-09-20T12:25:08.000Z1.581.0LOST-1.0-1.02025-09-20T18:00:15.000Z
New York City v Charlotte FCCharlotte FCAWAY2025-09-20T12:23:42.000Z4.11.0LOST-1.0-1.02025-09-20T18:10:18.000Z
CA Atlanta v Tristan SuarezCA AtlantaHOME2025-09-20T13:37:35.000Z2.31.0WON1.31.222025-09-20T18:11:58.000Z
Andorra CF v MirandesMirandesAWAY2025-09-20T13:37:35.000Z5.01.0LOST-1.0-1.02025-09-20T18:24:05.000Z
RB Leipzig v FC KolnThe DrawDRAW2025-09-20T15:11:29.000Z4.11.0LOST-1.0-1.02025-09-20T18:25:21.000Z
Alaves v SevillaSevillaAWAY2025-09-20T13:07:42.000Z3.51.0WON2.52.352025-09-20T18:29:16.000Z
Villarreal v OsasunaOsasunaAWAY2025-09-20T13:37:36.000Z6.01.0LOST-1.0-1.02025-09-20T18:29:44.000Z
Leganes v Las PalmasLeganesHOME2025-09-20T14:03:00.000Z2.51.0LOST-1.0-1.02025-09-20T18:33:17.000Z
Man Utd v ChelseaThe DrawDRAW2025-09-20T13:03:06.000Z3.81.0LOST-1.0-1.02025-09-20T18:36:26.000Z
FC Groningen v SC TelstarSC TelstarAWAY2025-09-20T13:14:10.000Z6.21.0LOST-1.0-1.02025-09-20T18:39:25.000Z
Brest v NiceThe DrawDRAW2025-09-20T13:18:40.000Z3.71.0LOST-1.0-1.02025-09-20T18:57:33.000Z
Antalyaspor v KayserisporAntalyasporHOME2025-09-20T13:15:33.000Z2.441.0LOST-1.0-1.02025-09-20T18:57:44.000Z
Trabzonspor v Gaziantep FKTrabzonsporHOME2025-09-20T14:03:02.000Z1.791.0LOST-1.0-1.02025-09-20T18:59:28.000Z
Barracas Central v Sarmiento de JuninBarracas CentralHOME2025-09-20T14:03:02.000Z2.381.0LOST-1.0-1.02025-09-20T19:34:06.000Z
Fortuna Sittard v FC UtrechtThe DrawDRAW2025-09-20T14:04:34.000Z3.81.0LOST-1.0-1.02025-09-20T19:59:51.000Z
Almagro BA v Ferro Carril OesteAlmagro BAHOME2025-09-20T16:38:40.000Z2.961.08LOST-1.08-1.082025-09-20T20:17:21.000Z
CA San Miguel v PatronatoPatronatoAWAY2025-09-20T16:38:41.000Z6.41.2LOST-1.2-1.22025-09-20T20:27:49.000Z
Nurnberg v BochumThe DrawDRAW2025-09-20T15:22:13.000Z3.951.0LOST-1.0-1.02025-09-20T20:29:18.000Z
CA Colegiales v Club Gimnasia y TiroClub Gimnasia y TiroAWAY2025-09-20T16:38:41.000Z3.251.2LOST-1.2-1.22025-09-20T20:30:18.000Z
Philadelphia v New EnglandPhiladelphiaHOME2025-09-20T15:16:52.000Z1.61.0WON0.60.562025-09-20T20:36:11.000Z
Arsenal de Sarandi v CD MaipuCD MAIPUAWAY2025-09-20T15:15:24.000Z5.51.0WON4.54.232025-09-20T20:37:10.000Z
Udinese v AC MilanUdineseHOME2025-09-20T16:40:18.000Z5.21.2LOST-1.2-1.22025-09-20T20:41:47.000Z
Valencia v Athletic BilbaoValenciaHOME2025-09-20T16:47:05.000Z3.651.01WON2.682.522025-09-20T20:58:18.000Z
Valencia v Athletic BilbaoValenciaHOME2025-09-20T16:47:44.000Z3.651.0WON2.652.492025-09-20T20:58:18.000Z
Fulham v BrentfordFulhamHOME2025-09-20T16:57:56.000Z2.161.0WON1.161.092025-09-20T21:00:00.000Z
Uniao Sport Clube de Paredes v ChavesUniao Sport Clube de ParedesHOME2025-09-20T16:42:43.000Z5.31.15LOST-1.15-1.152025-09-20T21:00:17.000Z
Uniao Sport Clube de Paredes v ChavesUniao Sport Clube de ParedesHOME2025-09-20T16:43:03.000Z5.31.12LOST-1.12-1.122025-09-20T21:00:17.000Z
EC Vitoria Salvador v FluminenseEC Vitoria SalvadorHOME2025-09-20T16:45:31.000Z2.581.06LOST-1.06-1.062025-09-20T21:00:50.000Z
EC Vitoria Salvador v FluminenseFluminenseAWAY2025-09-20T16:45:58.000Z3.51.04WON2.62.442025-09-20T21:00:50.000Z
NAC Breda v HeraclesNAC BredaHOME2025-09-20T16:44:08.000Z2.01.1WON1.11.032025-09-20T21:02:54.000Z
NAC Breda v HeraclesNAC BredaHOME2025-09-20T16:44:31.000Z2.01.08WON1.081.022025-09-20T21:02:54.000Z
Almeria v Sporting GijonAlmeriaHOME2025-09-20T16:41:31.000Z1.931.17WON1.091.022025-09-20T21:05:11.000Z
Almeria v Sporting GijonAlmeriaHOME2025-09-20T16:41:45.000Z1.931.17WON1.091.022025-09-20T21:05:11.000Z
Lens v LilleLilleAWAY2025-09-20T16:50:04.000Z3.251.0LOST-1.0-1.02025-09-20T21:06:12.000Z
Lens v LilleLilleAWAY2025-09-20T16:50:50.000Z3.251.0LOST-1.0-1.02025-09-20T21:06:12.000Z
Union Santa Fe v Independiente RivadaviaIndependiente RivadaviaAWAY2025-09-20T16:51:50.000Z4.91.0LOST-1.0-1.02025-09-20T21:43:13.000Z
Chaco For Ever v Estudiantes Rio CuartoChaco For EverHOME2025-09-20T18:56:31.000Z2.381.0WON1.381.32025-09-20T22:23:52.000Z
CA Temperley v Estudiantes de CaserosEstudiantes de CaserosAWAY2025-09-20T16:53:51.000Z2.91.0WON1.91.792025-09-20T22:23:56.000Z
Gimnasia Mendoza v San TelmoSan TelmoAWAY2025-09-20T16:56:25.000Z10.01.0LOST-1.0-1.02025-09-20T22:31:11.000Z
Gimnasia Mendoza v San TelmoSan TelmoAWAY2025-09-20T16:56:57.000Z10.01.0LOST-1.0-1.02025-09-20T22:31:11.000Z
Atlanta Utd v San Diego FCSan Diego FCAWAY2025-09-20T16:57:58.000Z2.481.0LOST-1.0-1.02025-09-20T22:37:54.000Z
Botafogo FR v Atletico MGAtletico MGAWAY2025-09-20T18:59:47.000Z5.71.0LOST-1.0-1.02025-09-20T23:29:20.000Z
Ceara SC Fortaleza v BahiaCeara SC FortalezaHOME2025-09-20T18:58:07.000Z2.81.0LOST-1.0-1.02025-09-20T23:29:30.000Z
PEC Zwolle v Go Ahead EaglesThe DrawDRAW2025-09-21T06:55:04.000Z3.751.51LOST-1.51-1.512025-09-21T12:17:06.000Z
Lazio v RomaLazioHOME2025-09-21T06:57:29.000Z3.151.48LOST-1.48-1.482025-09-21T12:29:43.000Z
ASD Alcione v RenateASD AlcioneHOME2025-09-21T09:00:54.000Z2.741.45LOST-1.45-1.452025-09-21T12:32:19.000Z
Chelsea (W) v Leicester City (W)Leicester City (W)AWAY2025-09-21T09:05:50.000Z60.01.4LOST-1.4-1.42025-09-21T12:57:22.000Z
Holstein Kiel v KarlsruheKarlsruheAWAY2025-09-21T09:09:05.000Z3.91.34LOST-1.34-1.342025-09-21T13:26:02.000Z
Fortuna Dusseldorf v SV DarmstadtFortuna DusseldorfHOME2025-09-21T09:07:22.000Z2.91.37LOST-1.37-1.372025-09-21T13:29:52.000Z
Dynamo Dresden v HannoverHannoverAWAY2025-09-21T09:10:38.000Z2.51.31LOST-1.31-1.312025-09-21T13:34:20.000Z
Rayo Vallecano v Celta VigoRayo VallecanoHOME2025-09-21T11:01:28.000Z2.161.09LOST-1.09-1.092025-09-21T13:58:17.000Z
Heerenveen v NEC NijmegenNEC NijmegenAWAY2025-09-21T09:15:16.000Z2.841.24LOST-1.24-1.242025-09-21T14:28:20.000Z
PSV v AjaxThe DrawDRAW2025-09-21T09:13:37.000Z4.71.26WON4.664.382025-09-21T14:35:11.000Z
LR Vicenza Virtus v Aurora Pro Patria 1919Aurora Pro Patria 1919AWAY2025-09-21T11:01:30.000Z19.01.09LOST-1.09-1.092025-09-21T14:54:15.000Z
Torino v AtalantaThe DrawDRAW2025-09-21T09:26:24.000Z3.41.05LOST-1.05-1.052025-09-21T14:55:20.000Z
Bournemouth v NewcastleBournemouthHOME2025-09-21T09:18:08.000Z2.581.19LOST-1.19-1.192025-09-21T14:56:25.000Z
Sunderland v Aston VillaSunderlandHOME2025-09-21T09:22:07.000Z3.751.12LOST-1.12-1.122025-09-21T14:56:35.000Z
US Cremonese v ParmaUS CremoneseHOME2025-09-21T09:16:37.000Z2.91.21LOST-1.21-1.212025-09-21T14:59:45.000Z
Novara v Pro VercelliThe DrawDRAW2025-09-21T09:19:23.000Z3.351.16LOST-1.16-1.162025-09-21T14:59:58.000Z
Lecco v A.C. Trento S.C.S.D.A.C. Trento S.C.S.D.AWAY2025-09-21T09:20:43.000Z3.951.14LOST-1.14-1.142025-09-21T15:02:19.000Z
Eintracht Frankfurt v Union BerlinEintracht FrankfurtHOME2025-09-21T11:02:52.000Z1.681.07LOST-1.07-1.072025-09-21T15:32:47.000Z
Man Utd (W) v Arsenal (W)Man Utd (W)HOME2025-09-21T11:04:26.000Z4.01.05LOST-1.05-1.052025-09-21T15:46:47.000Z
Tigre v AldosiviTigreHOME2025-09-20T19:01:12.000Z1.971.0WON0.970.912025-09-21T15:53:41.000Z
CD Trofense v SC VianenseThe DrawDRAW2025-09-21T11:24:47.000Z5.31.0WON4.34.042025-09-21T15:56:44.000Z
Basaksehir v AlanyasporBasaksehirHOME2025-09-21T11:23:39.000Z2.11.0LOST-1.0-1.02025-09-21T15:56:51.000Z
Bristol City v Oxford UtdBristol CityHOME2025-09-21T11:18:34.000Z1.711.0LOST-1.0-1.02025-09-21T15:57:25.000Z
ADC Rebordelo v CD GouveiaADC RebordeloHOME2025-09-21T11:16:16.000Z3.91.0LOST-1.0-1.02025-09-21T15:57:46.000Z
AD Machico v SC Vila RealAD MachicoHOME2025-09-21T11:13:16.000Z2.320.87LOST-0.87-0.872025-09-21T16:02:37.000Z
Atletico Clube de Portugal v RebordosaRebordosaAWAY2025-09-21T11:21:01.000Z6.61.0LOST-1.0-1.02025-09-21T16:05:45.000Z
Albacete v ValladolidAlbaceteHOME2025-09-21T11:29:03.000Z2.841.0WON1.841.732025-09-21T16:10:04.000Z
Kocaelispor v RizesporThe DrawDRAW2025-09-21T13:14:59.000Z3.61.0WON2.62.442025-09-21T16:14:09.000Z
Mallorca v Atletico MadridThe DrawDRAW2025-09-21T13:15:04.000Z3.80.65WON1.821.712025-09-21T16:14:17.000Z
AZ Alkmaar v FeyenoordFeyenoordAWAY2025-09-21T11:32:05.000Z2.941.0LOST-1.0-1.02025-09-21T16:58:59.000Z
Auxerre v ToulouseAuxerreHOME2025-09-21T13:19:45.000Z3.41.0WON2.42.262025-09-21T17:11:29.000Z
Monaco v MetzMonacoHOME2025-09-21T13:16:41.000Z1.361.0WON0.360.342025-09-21T17:13:32.000Z
Le Havre v LorientLe HavreHOME2025-09-21T13:18:29.000Z2.281.0LOST-1.0-1.02025-09-21T17:18:36.000Z
Leverkusen v MgladbachLeverkusenHOME2025-09-21T13:27:47.000Z1.631.0LOST-1.0-1.02025-09-21T17:25:24.000Z
SS Virtus Verona 1921 v SSD Dolomiti BellunesiSS Virtus Verona 1921HOME2025-09-21T13:23:23.000Z2.281.0LOST-1.0-1.02025-09-21T17:26:41.000Z
Triestina v ArzignanochiampoTriestinaHOME2025-09-21T15:25:59.000Z2.681.0WON1.681.582025-09-21T17:29:48.000Z
Fiorentina v ComoThe DrawDRAW2025-09-21T13:29:29.000Z3.351.0LOST-1.0-1.02025-09-21T18:11:27.000Z
Malaga v CadizThe DrawDRAW2025-09-21T13:33:36.000Z3.31.0LOST-1.0-1.02025-09-21T18:27:58.000Z
Elche v OviedoElcheHOME2025-09-21T13:31:10.000Z2.041.0WON1.040.982025-09-21T18:30:09.000Z
Samsunspor v Fatih Karagumruk IstanbulFatih Karagumruk IstanbulAWAY2025-09-21T13:36:16.000Z5.51.0LOST-1.0-1.02025-09-21T18:57:02.000Z
Kasimpasa v FenerbahceKasimpasaHOME2025-09-21T13:34:58.000Z8.81.0LOST-1.0-1.02025-09-21T19:03:51.000Z
CA Independiente v San LorenzoSan LorenzoAWAY2025-09-21T13:58:48.000Z4.71.0LOST-1.0-1.02025-09-21T19:25:45.000Z
Dortmund v WolfsburgThe DrawDRAW2025-09-21T14:00:14.000Z4.91.0LOST-1.0-1.02025-09-21T19:25:49.000Z
Almirante Brown v Defensores de BelgranoAlmirante BrownHOME2025-09-21T15:27:12.000Z2.741.0LOST-1.0-1.02025-09-21T20:03:56.000Z

Footnotes

  1. 'Measuring AI Ability to Complete Long Tasks', METR Blog, Mar. 2025, Accessed: Aug. 23, 2025. [Online]. Available: https://metr.org/blog/2025-03-19-measuring-ai-ability-to-complete-long-tasks

  2. I would highly recommend checking out DSPy for building modular AI systems if you haven't seen before 2

  3. In retrospect maybe controlling inventory/bankroll is an important part of long term planning. For the next version of Betty I'll have a better think what to do here.

  4. I will periodically update the chart with Betty's progress over the next month