- Mon28Practice5:45 PM · Moss Park, Field 5
- Wed30CANCELEDPractice5:45 PM · Moss Park, Field 5
- Sat3ECNLvs Solar Red RL NTX 13/14G9:50 AM · arrive 9:20 AMDallas Soccer Park, Field 8White uniform
- Mon5Practice5:45 PM · Moss Park, Field 5
- Wed7Practice5:45 PM · Moss Park, Field 5
- Sat10ECNLvs NTX Celtic Pre-ECNL 14G McCallum3:20 PM · arrive 2:50 PMDallas Soccer Park, Field 7White uniform
- Sun11GCLat Waco United 2014G Andrade - LDTime TBA
- Mon12Practice5:45 PM · Moss Park, Field 5
- Wed14Practice5:45 PM · Moss Park, Field 5
- Sat17ECNLat Fever United RL NTX 13/14G3:20 PM · arrive 2:50 PMDallas Soccer Park, Field 8Navy uniform
- Sun18GCLat Dallas Texans Pre ECNL 2014/15 HaylockTime TBA
- Mon19Practice5:45 PM · Moss Park, Field 5
- Wed21Practice5:45 PM · Moss Park, Field 5
Upcoming games
Games on Dec 25 have a placeholder date until the league publishes real kickoff times. Kickoff, arrival, field and uniform come from TeamSnap.
Next 7 days
- SatOct 3GAMEECNLvs Solar Red RL NTX 13/14G✓ 10 going · 6 no reply
- MonOct 5PRACTICEPractice✓ 8 going · 8 no reply
- WedOct 7PRACTICEPractice✓ 8 going · 8 no reply
Later
- SatOct 10GAMEECNLvs NTX Celtic Pre-ECNL 14G McCallum✓ 8 going · 1 out · 7 no reply
- MonOct 12PRACTICEPractice✓ 5 going · 1 out · 10 no reply
- WedOct 14PRACTICEPractice✓ 5 going · 1 out · 10 no reply
- SatOct 17GAMEECNLat Fever United RL NTX 13/14G✓ 6 going · 10 no reply
- MonOct 19PRACTICEPractice✓ 5 going · 11 no reply
- WedOct 21PRACTICEPractice✓ 5 going · 11 no reply
- SatOct 24GAMEECNLvs FC Dallas Blue RL NTX 13/14G✓ 6 going · 10 no reply
- MonOct 26PRACTICEPractice✓ 5 going · 11 no reply
- WedOct 28PRACTICEPractice✓ 5 going · 11 no reply
- SatOct 31GAMEECNLvs Dallas Texans Red RL NTX 13/14G✓ 5 going · 11 no reply
- MonNov 2PRACTICEPractice✓ 3 going · 13 no reply
- WedNov 4PRACTICEPractice✓ 3 going · 13 no reply
- SatNov 7GAMEECNLat Solar White RL NTX 13/14G✓ 3 going · 13 no reply
Nothing matches this filter.
From TeamSnap (Dallas Cosmos U13G Black), updated Oct 1. Times are Dallas time. Team messages and chat are not available through TeamSnap's API.
| 12 | Dallas Cosmos SC | 6-0-0 | +27 | 18 | 42 | 51 | 55% |
| 24▲1 | Sting Royal | 5-0-1 | +16 | 15 | 37 | 48 | 12% |
| Top 2: Dallas Cup | |||||||
| 3▲23 | Solar SC Adames | 5-0-1 | +12 | 15 | 41 | 48 | 35% |
| 4▼17 | Solar East Campos | 4-1-1 | +7 | 13 | 28 | 46 | <1% |
| 5▼16 | Solar Red 12/13 | 4-1-0 | +7 | 13 | 28 | 49 | <1% |
| 61 | Solar SC Bates | 4-0-0 | +12 | 12 | 47 | 51 | 93% |
| 75▼1 | Solar Blue 14/15 | 3-1-0 | +8 | 10 | 34 | 49 | 5% |
| 8▲110 | Solar South Dickerson | 1-4-1 | 0 | 7 | 21 | 40 | <1% |
| 9▼18 | Albion SC Dallas Inspire 14/15 | 2-0-3 | +1 | 6 | 24 | 42 | <1% |
| 109 | Revolution Premier SC Gold | 2-0-4 | -5 | 6 | 26 | 39 | <1% |
| 11▲213 | Waco United Andrade | 1-2-1 | 0 | 5 | 17 | 44 | <1% |
| 12▼111 | Solar Rodriguez | 1-2-4 | -10 | 5 | 20 | 35 | <1% |
| 13▲414 | NTX Celtic Bravo South | 1-1-4 | -8 | 4 | 14 | 37 | <1% |
| 14▼215 | Dallas Surf Inspire Black 14/15 | 1-1-4 | -12 | 4 | 13 | 37 | <1% |
| 1512 | Sting Royal Brave 14/15 | 1-1-4 | -13 | 4 | 17 | 37 | <1% |
| 16▼217 | Dallas Texans Haylock 14/15 | 0-1-3 | -7 | 1 | 10 | 40 | <1% |
| 17▼118 | Sting Girau 14/15 | 0-1-5 | -15 | 1 | 8 | 34 | <1% |
| 1816 | NTX Celtic FC North McCallum | 0-0-5 | -20 | 0 | 10 | 36 | <1% |
Next: Oct 11 at Waco United Andrade (11th)
Race report
Teams on the move. Top of the table, but the model makes Solar SC Bates the team to beat
We lead the table by 3 points.
But look who's coming: Solar SC Bates (4-0-0, two games in hand) and Solar Blue 14/15 (3-1-0, two games in hand) haven't lost either.
Play the season out and the model has Solar SC Bates finishing top on 47 points, with us 2nd on 42: right on the line for the last Dallas Cup spot.
Dallas Cup odds: 55%, up 3 on last week. It's a coin flip, and it will be settled head to head.
One caution: Solar SC Bates's rating rests on just 8 games, most of them big wins, so take their projection with a pinch of salt.
Games that swing our Dallas Cup odds
- Date TBD v Solar SC Adameswin 76% · lose 31%
- Date TBD v Sting Royalwin 69% · lose 33%
- Oct 18 at Dallas Texans Haylock 14/15win 57% · lose 25%
How are the odds worked out?
Ranked by points, then goal difference, then goals scored. Odds are each team's chance of a top-2 finish: every remaining league game, every team's, is played out 10,000 times from the same power ratings the predictions use, allowing for how uncertain each rating still is. Proj is the average final points over those seasons; Max is the most a team can still reach, winning every game left. The arrows show places gained or lost since Sep 24. Games the league has not dated yet show as Date TBD.
| 12 | Dallas Cosmos SC | 3-0-0 | 3.00 | 9 | 37 | 45 | 30% |
| 21 | FC Dallas Youth Blue | 2-0-0 | 3.00 | 6 | 40 | 45 | 67% |
| 3▲14 | Sting Brave | 2-0-1 | 2.00 | 6 | 25 | 42 | <1% |
| 4▼13 | DKSC | 1-2-0 | 1.67 | 5 | 31 | 41 | 3% |
| 5▲17 | NTX Celtic FC | 0-2-1 | 0.67 | 2 | 13 | 38 | <1% |
| 6▼15 | Solar Red | 0-1-2 | 0.33 | 1 | 16 | 37 | <1% |
| 76 | Solar White | 0-0-2 | 0.00 | 0 | 13 | 39 | <1% |
| 88 | Sting Black | 0-0-3 | 0.00 | 0 | 12 | 36 | <1% |
| 99 | Dallas Texans Red | 0-0-3 | 0.00 | 0 | 6 | 36 | <1% |
| 1010 | Fever United FC | 0-0-3 | 0.00 | 0 | 3 | 36 | <1% |
| 1▲12▲2 | Alpha Forms | 3-0-0 | 3.00 | 9 | 28 | 45 | 21% |
| 2▲13▼1 | Kernow Storm FC | 3-0-0 | 3.00 | 9 | 27 | 45 | 18% |
| 3▼24▼1 | DKSC White | 2-1-0 | 2.33 | 7 | 28 | 43 | 16% |
| 4▲25▲1 | Sting Royal Bold | 2-0-1 | 2.00 | 6 | 27 | 42 | 11% |
| 5▲31 | Sting Royal | 1-1-0 | 2.00 | 4 | 30 | 43 | 25% |
| 6▼27 | FC Dallas Youth Red | 2-0-1 | 2.00 | 6 | 23 | 42 | 2% |
| 7▼28 | Nido Dallas | 1-1-1 | 1.33 | 4 | 17 | 40 | <1% |
| 8▼19 | FC Dallas Youth White | 1-0-2 | 1.00 | 3 | 17 | 39 | <1% |
| 910 | NTX Celtic FC Green | 0-2-1 | 0.67 | 2 | 11 | 38 | <1% |
| 106▼1 | Solar Blue | 0-0-2 | 0.00 | 0 | 26 | 39 | 7% |
| 14 | RAlpha Forms | 3-0-0 | 3.00 | 9 | 28 | 45 | 21% |
| 25 | RKernow Storm FC | 3-0-0 | 3.00 | 9 | 27 | 45 | 18% |
| 32 | BDallas Cosmos SC | 3-0-0 | 3.00 | 9 | 37 | 45 | 30% |
| 41 | BFC Dallas Youth Blue | 2-0-0 | 3.00 | 6 | 40 | 45 | 67% |
| 56 | RDKSC White | 2-1-0 | 2.33 | 7 | 28 | 43 | 16% |
| 67 | RSting Royal Bold | 2-0-1 | 2.00 | 6 | 27 | 42 | 11% |
| 73 | RSting Royal | 1-1-0 | 2.00 | 4 | 30 | 43 | 25% |
| 811 | BSting Brave | 2-0-1 | 2.00 | 6 | 25 | 42 | <1% |
| 910 | RFC Dallas Youth Red | 2-0-1 | 2.00 | 6 | 23 | 42 | 2% |
| 109 | BDKSC | 1-2-0 | 1.67 | 5 | 31 | 41 | 3% |
| 1112 | RNido Dallas | 1-1-1 | 1.33 | 4 | 17 | 40 | <1% |
| 1213 | RFC Dallas Youth White | 1-0-2 | 1.00 | 3 | 17 | 39 | <1% |
| 1317 | BNTX Celtic FC | 0-2-1 | 0.67 | 2 | 13 | 38 | <1% |
| 1414 | RNTX Celtic FC Green | 0-2-1 | 0.67 | 2 | 11 | 38 | <1% |
| 1515 | BSolar Red | 0-1-2 | 0.33 | 1 | 16 | 37 | <1% |
| 168 | RSolar Blue | 0-0-2 | 0.00 | 0 | 26 | 39 | 7% |
| 1716 | BSolar White | 0-0-2 | 0.00 | 0 | 13 | 39 | <1% |
| 1818 | BSting Black | 0-0-3 | 0.00 | 0 | 12 | 36 | <1% |
| 1919 | BDallas Texans Red | 0-0-3 | 0.00 | 0 | 6 | 36 | <1% |
| 2020 | BFever United FC | 0-0-3 | 0.00 | 0 | 3 | 36 | <1% |
Projected bracket winners, straight to regionals and not in the playoff: FC Dallas Youth Blue (Blue, 67% to win it) · Sting Royal (Red, 25% to win it)
| 1 | BDallas Cosmos SC | 37 | 45 | 70% | 36% |
| 2 | BDKSC | 31 | 41 | 97% | 16% |
| 3 | RSolar Blue | 26 | 39 | 61% | 11% |
| 4 | RDKSC White | 28 | 43 | 61% | 10% |
| 5 | RSting Royal Bold | 27 | 42 | 57% | 10% |
| 6 | RAlpha Forms | 28 | 45 | 52% | 10% |
| 7 | RKernow Storm FC | 27 | 45 | 48% | 8% |
| 8 | RNido Dallas | 17 | 40 | 11% | 5% |
| 9 | RFC Dallas Youth Red | 23 | 42 | 37% | 5% |
| 10 | BSting Brave | 25 | 42 | 93% | 3% |
| 11 | RFC Dallas Youth White | 17 | 39 | 9% | 3% |
| 12 | BSolar Red | 16 | 37 | 46% | 1% |
| 13 | BSolar White | 13 | 39 | 24% | 1% |
| 14 | BSting Black | 12 | 36 | 15% | <1% |
| 15 | BNTX Celtic FC | 13 | 38 | 19% | <1% |
| 16 | BDallas Texans Red | 6 | 36 | 2% | – |
| 17 | RNTX Celtic FC Green | 11 | 38 | 1% | – |
| 18 | BFever United FC | 3 | 36 | 1% | – |
Make: chance of finishing 2nd-5th in its bracket. Win: chance of winning the playoff if it gets there ("–": almost never there).
Next: Oct 3 v Solar Red (6th in Blue)
If we don't finish 1st (70% of seasons)
The 2nd-5th teams of each bracket play the 8-team North Texas playoff; the winner also goes to regionals.
- Win it: regionals36%
- Lose the final21%
- Out in the semis27%
- Out in the quarters16%
- Miss the playoff (6th or lower)<1%
Race report
No change in the race. FC Dallas Youth Blue are the favourites for 1st; the playoff is our safety net
We top the Blue bracket on points per game, level with FC Dallas Youth Blue, and nobody in the league has scored on us yet.
1st is the only direct ticket to regionals, and FC Dallas Youth Blue are the threat with one game in hand: the model has them finishing on 40 points to our 37, and gives them 67% for 1st to our 30%.
Circle Oct 24: we host them. Win it and our shot at 1st jumps to 65%; lose it and it drops to 11%.
Miss out on 1st and the North Texas playoff is the second chance: we'd win it about 36% of the time. Put together, our regionals odds are 55%, up 2 on last week.
Games that swing our 1st-place odds
- Oct 24 v FC Dallas Youth Bluewin 65% · lose 11%
- Apr 10 Solar Red v FC Dallas Youth Bluewe want Solar Red win: 56% against 28%
- Oct 3 Solar White v FC Dallas Youth Bluewe want Solar White win: 56% against 28%
How are the odds worked out?
ECNL ranks each bracket by points per game, then goal difference, then goals scored. Odds are each team's chance of finishing 1st in its bracket (the North Texas playoff is played out too, 2nd-5th of each bracket seeded by place then points per game; a drawn playoff game is a coin flip on penalties, and the format is last season rules plus the 8-team bracket AthleteOne shows, not yet confirmed by ECNL): every remaining league game, every team's, is played out 10,000 times from the same power ratings the predictions use, allowing for how uncertain each rating still is. Proj is the average final points over those seasons; Max is the most a team can still reach, winning every game left. The arrows show places gained or lost since Sep 24. Games the league has not dated yet show as Date TBD.
1SOLAR SC ECNL RL G2013/14 BATES8-0-0 · GD +41+4.9224ratingpts
Played8W-D-L8-0-0Points24Goals for46Goals against5Goal diff+41Last 5WWWWWTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff2FC Dallas Youth Blue ECNL RL NTX G2013/1413-0-1 · GD +55+4.6839ratingpts
Played14W-D-L13-0-1Points39Goals for63Goals against8Goal diff+55Last 5WWWWWTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff3Dallas Cosmos SC ECNL RL NTX G2013/14US21-1-0 · GD +68+3.8264ratingpts
Played22W-D-L21-1-0Points64Goals for73Goals against5Goal diff+68Last 5WWWWWOur results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff4SOLAR SC ECNL RL G2013/14 ADAMES15-1-3 · GD +46+3.5946ratingpts
Played19W-D-L15-1-3Points46Goals for68Goals against22Goal diff+46Last 5WWWWLTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff5DKSC ECNL RL G2013/145-1-3 · GD +11+3.1716ratingpts
Played9W-D-L5-1-3Points16Goals for19Goals against8Goal diff+11Last 5LWWDWTheir results vs CosmosL 1-2 Aug 22 1-1 · Won on PKs Aug 23Their results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff6DKSC ECNL RL NTX G2013/147-2-2 · GD +18+3.1223ratingpts
Played11W-D-L7-2-2Points23Goals for29Goals against11Goal diff+18Last 5WLWDDTheir results vs CosmosL 0-1 Sep 7Their results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff7FC Dallas Youth N1 G2013/14 Avant (TX)9-1-4 · GD +25+3.0828ratingpts
Played14W-D-L9-1-4Points28Goals for37Goals against12Goal diff+25Last 5WWWWWTheir results vs CosmosL 0-1 Aug 15Their results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff8Sting Royal ECNL RL NTX G2013/1410-1-1 · GD +38+3.0631ratingpts
Played12W-D-L10-1-1Points31Goals for45Goals against7Goal diff+38Last 5WDWWWTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff9SOLAR BLUE ECNL RL NTX G2014/1513-1-4 · GD +29+2.7740ratingpts
Played18W-D-L13-1-4Points40Goals for48Goals against19Goal diff+29Last 5LLWWDTheir results vs CosmosL 0-1 Sep 19Their results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff10DKSC WHITE ECNL RL NTX G2013/149-2-0 · GD +43+2.7529ratingpts
Played11W-D-L9-2-0Points29Goals for49Goals against6Goal diff+43Last 5WWWWDTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff11Sting Royal ECNL RL NTX G2014/15 Bold5-1-1 · GD +20+2.5916ratingpts
Played7W-D-L5-1-1Points16Goals for27Goals against7Goal diff+20Last 5WWLWWTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff12Ascend Girls Soccer Academy N1 G2013/14 (TX)5-0-1 · GD +32+2.2615ratingpts
Played6W-D-L5-0-1Points15Goals for34Goals against2Goal diff+32Last 5WWWWLTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff13Solar SC N1 G2013/14 Campos (TX)13-2-5 · GD +38+1.9341ratingpts
Played20W-D-L13-2-5Points41Goals for61Goals against23Goal diff+38Last 5LWLWWTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff14Revolution Premier SC N1 G2014/2013Gold (TX)7-3-7 · GD +10+1.8924ratingpts
Played17W-D-L7-3-7Points24Goals for33Goals against23Goal diff+10Last 5LWWLWTheir results vs CosmosL 0-2 Aug 16 L 1-4 Sep 16Their results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff15FC Dallas Youth Red ECNL RL NTX G2013/148-3-5 · GD +7+1.8727ratingpts
Played16W-D-L8-3-5Points27Goals for30Goals against23Goal diff+7Last 5LWWWLTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff16Sting Black ECNL RL NTX G2013/142-1-3 · GD -2+1.677ratingpts
Played6W-D-L2-1-3Points7Goals for10Goals against12Goal diff-2Last 5LDWLWTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff17SOLAR RED ECNL RL NTX G2012/135-1-2 · GD +3+1.5816ratingpts
Played8W-D-L5-1-2Points16Goals for10Goals against7Goal diff+3Last 5WDWWWTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff18Solar South 14G Dickerson9-5-2 · GD +37+1.5232ratingpts
Played16W-D-L9-5-2Points32Goals for50Goals against13Goal diff+37Last 5WDLDDTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff19WTX MAMBAS N1 G2014 OCHOA (TX)10-5-3 · GD +27+1.4735ratingpts
Played18W-D-L10-5-3Points35Goals for42Goals against15Goal diff+27Last 5WWLWWTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff20Albion SC Dallas Inspire 14/153-0-8 · GD -4+1.469ratingpts
Played11W-D-L3-0-8Points9Goals for20Goals against24Goal diff-4Last 5LLWLWTheir results vs CosmosL 1-2 Aug 30Their results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff21Nido Dallas ECNL RL NTX G2013/145-1-1 · GD +5+1.3716ratingpts
Played7W-D-L5-1-1Points16Goals for12Goals against7Goal diff+5Last 5WWDWLTheir results vs CosmosL 0-3 Sep 26Their results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff22FC Dallas Youth N1 G2014/15 Fondren (TX)3-0-4 · GD -2+1.319ratingpts
Played7W-D-L3-0-4Points9Goals for17Goals against19Goal diff-2Last 5LLLWWTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff23Solar 14G Rodriguez5-3-6 · GD +1+1.3118ratingpts
Played14W-D-L5-3-6Points18Goals for25Goals against24Goal diff+1Last 5DLLLDTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)L 0-1 Aug 2324Dallas Cosmos N1 G2013/14 Navy (TX)10-1-4 · GD +20+1.2731ratingpts
Played15W-D-L10-1-4Points31Goals for38Goals against18Goal diff+20Last 5WLWWWTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff25Dallas Surf N1 G2013/14 North (TX)3-2-6 · GD -7+1.1911ratingpts
Played11W-D-L3-2-6Points11Goals for12Goals against19Goal diff-7Last 5WLDLLTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)Draw 0-0 Aug 1526Dallas Surf N1 G2013/14 White (TX)7-3-3 · GD +16+1.1424ratingpts
Played13W-D-L7-3-3Points24Goals for27Goals against11Goal diff+16Last 5WWWWWTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff27FC Dallas Youth White ECNL RL NTX G2013/143-1-5 · GD -6+1.1210ratingpts
Played9W-D-L3-1-5Points10Goals for17Goals against23Goal diff-6Last 5LLWLLTheir results vs CosmosL 1-4 Aug 23Their results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff28SOLAR RED ECNL RL NTX G2013/14- 95-cNEXT4-3-3 · GD +10+1.0615ratingpts
Played10W-D-L4-3-3Points15Goals for19Goals against9Goal diff+10Last 5WWLDLTheir results vs CosmosNo games since the cutoff29FC Dallas Youth N1 G2013/14 McAnally (TX)7-2-5 · GD +9+1.0323ratingpts
Played14W-D-L7-2-5Points23Goals for28Goals against19Goal diff+9Last 5LWWWWTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff30GA 13/145-0-4 · GD +2+0.9315ratingpts
Played9W-D-L5-0-4Points15Goals for21Goals against19Goal diff+2Last 5LWWLLTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff31SOLAR ECNL RL NTX G2012/13- 8-c5-0-3 · GD +8+0.8615ratingpts
Played8W-D-L5-0-3Points15Goals for22Goals against14Goal diff+8Last 5LWWWLTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff32Attack FC N1 G2014/13 Campos (TX)3-2-1 · GD +1+0.7511ratingpts
Played6W-D-L3-2-1Points11Goals for7Goals against6Goal diff+1Last 5DWLDWTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff33Sting Royal Pre-ECNL G2014/15 Brave5-2-6 · GD -9+0.6617ratingpts
Played13W-D-L5-2-6Points17Goals for20Goals against29Goal diff-9Last 5DLLLWTheir results vs CosmosL 0-3 Sep 20Their results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff34SOLAR WHITE ECNL RL NTX G2013/141-1-4 · GD -4+0.634ratingpts
Played6W-D-L1-1-4Points4Goals for12Goals against16Goal diff-4Last 5DWLLLTheir results vs CosmosL 0-3 Sep 5Their results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff35Waco United 2014G Andrade - LD3-2-6 · GD -8+0.6111ratingpts
Played11W-D-L3-2-6Points11Goals for14Goals against22Goal diff-8Last 5LDDLWTheir results vs CosmosL 0-2 Aug 22Their results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff36HTX N1 G2013/14 East (TX)4-1-4 · GD +0+0.5813ratingpts
Played9W-D-L4-1-4Points13Goals for11Goals against11Goal diff+0Last 5LLWWWTheir results vs CosmosL 0-2 Sep 6Their results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff37Solar 14G Carrillo.E5-3-1 · GD +20+0.5718ratingpts
Played9W-D-L5-3-1Points18Goals for30Goals against10Goal diff+20Last 5DDWLWTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff38Solar N1 G2014 Byars (TX)1-2-3 · GD -5+0.555ratingpts
Played6W-D-L1-2-3Points5Goals for3Goals against8Goal diff-5Last 5LLDLWTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff39ULETE FC 13-14G Carlo8-2-2 · GD +16+0.5426ratingpts
Played12W-D-L8-2-2Points26Goals for29Goals against13Goal diff+16Last 5DWWLWTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff40Panthers 13/14G8-0-3 · GD +20+0.5324ratingpts
Played11W-D-L8-0-3Points24Goals for33Goals against13Goal diff+20Last 5WLWLWTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff41DKSC WTX BLACK U14G 13/12 ORTIZ 50%5-0-2 · GD +16+0.4515ratingpts
Played7W-D-L5-0-2Points15Goals for24Goals against8Goal diff+16Last 5LWLWWTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff42Sting Black N1 G2013/14 McNeal (TX)2-1-4 · GD +4+0.287ratingpts
Played7W-D-L2-1-4Points7Goals for12Goals against8Goal diff+4Last 5LDWLLTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff43Sting Black ECNL RL NTX G2013/142-5-7 · GD -19+0.2611ratingpts
Played14W-D-L2-5-7Points11Goals for12Goals against31Goal diff-19Last 5LLLLLTheir results vs CosmosL 0-4 Sep 6Their results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff44NTX Celtic 14G Bravo South2-3-7 · GD -17+0.229ratingpts
Played12W-D-L2-3-7Points9Goals for10Goals against27Goal diff-17Last 5DLDDWTheir results vs CosmosL 0-6 Sep 12Their results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)Draw 2-2 Sep 1945Fever United G2013/14G Wright7-2-4 · GD +10+0.2223ratingpts
Played13W-D-L7-2-4Points23Goals for22Goals against12Goal diff+10Last 5DDLWWTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)W 1-0 Aug 1646FCD-ETX U13 Sabillon - LD4-2-2 · GD +19+0.1414ratingpts
Played8W-D-L4-2-2Points14Goals for27Goals against8Goal diff+19Last 5WWLWDTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff47NTX Celtic FC North G2013/14 McCallum3-2-7 · GD -23+0.1311ratingpts
Played12W-D-L3-2-7Points11Goals for11Goals against34Goal diff-23Last 5LLDLLTheir results vs CosmosL 0-10 Sep 19Their results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff48Dallas Surf Inspire 14/15 Black7-2-8 · GD -5+0.0823ratingpts
Played17W-D-L7-2-8Points23Goals for25Goals against30Goal diff-5Last 5DLWLLTheir results vs CosmosL 0-6 Sep 9Their results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff49FC Dallas High Plains 2014 Girls6-1-2 · GD +12+0.0719ratingpts
Played9W-D-L6-1-2Points19Goals for23Goals against11Goal diff+12Last 5WDWWWTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff50FC Dallas Youth Gold G2013/147-4-1 · GD +7+0.0225ratingpts
Played12W-D-L7-4-1Points25Goals for18Goals against11Goal diff+7Last 5WWDWLTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff51Fort Worth All Stars FC U13G6-3-5 · GD -4-0.0721ratingpts
Played14W-D-L6-3-5Points21Goals for22Goals against26Goal diff-4Last 5WLDWWTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff52Dallas Legends N1 G2013/14 Rochetti (TX)4-1-2 · GD +5-0.1013ratingpts
Played7W-D-L4-1-2Points13Goals for21Goals against16Goal diff+5Last 5WDLWLTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff53Dallas Texans Pre ECNL 2014/15 Haylock4-1-7 · GD -8-0.1013ratingpts
Played12W-D-L4-1-7Points13Goals for13Goals against21Goal diff-8Last 5LLDLLTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff54Legends Football Club U13G 14/13 19%3-3-3 · GD +3-0.1512ratingpts
Played9W-D-L3-3-3Points12Goals for13Goals against10Goal diff+3Last 5LLWWWTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff55LTFC Premier White STXCL WC GU135-0-2 · GD +10-0.2215ratingpts
Played7W-D-L5-0-2Points15Goals for20Goals against10Goal diff+10Last 5WLWWWTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff56Dallas Surf U13G Central2-1-4 · GD -11-0.387ratingpts
Played7W-D-L2-1-4Points7Goals for5Goals against16Goal diff-11Last 5LWDLWTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff57Sting Pre-ECNL G2014/15 Girau5-1-11 · GD -15-0.4516ratingpts
Played17W-D-L5-1-11Points16Goals for18Goals against33Goal diff-15Last 5LLLLDTheir results vs CosmosL 0-4 Aug 29Their results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff58DKSC N1 G2013/14 WTX ORTIZ (TX)4-1-3 · GD -7-0.6313ratingpts
Played8W-D-L4-1-3Points13Goals for11Goals against18Goal diff-7Last 5LWWDWTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff59Quest FC 14 Girls - T4-2-3 · GD +6-0.8514ratingpts
Played9W-D-L4-2-3Points14Goals for14Goals against8Goal diff+6Last 5WWDDLTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff60FWFC 13/14G Mittendorf5-0-6 · GD -7-0.9415ratingpts
Played11W-D-L5-0-6Points15Goals for17Goals against24Goal diff-7Last 5LWWWWTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)L 0-5 Aug 2261Dallas Texans Red ECNL RL NTX G2013/140-1-7 · GD -23-1.111ratingpts
Played8W-D-L0-1-7Points1Goals for0Goals against23Goal diff-23Last 5LLLLLTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)Draw 0-0 Aug 15 L 0-3 Aug 2262Dallas Cosmos 14G White2-3-4 · GD -7-1.169ratingpts
Played9W-D-L2-3-4Points9Goals for11Goals against18Goal diff-7Last 5LDLWDTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff63Dallas Surf U12/U13G North3-0-5 · GD -22-1.179ratingpts
Played8W-D-L3-0-5Points9Goals for11Goals against33Goal diff-22Last 5WWLLWTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff64Sting G2013/14 Wong3-1-6 · GD -4-1.2110ratingpts
Played10W-D-L3-1-6Points10Goals for16Goals against20Goal diff-4Last 5LLLLWTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff65Dallas Legacy South2-0-6 · GD -10-1.396ratingpts
Played8W-D-L2-0-6Points6Goals for5Goals against15Goal diff-10Last 5LLLWLTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff66FC Dallas Youth White G2013/145-1-4 · GD +11-1.4916ratingpts
Played10W-D-L5-1-4Points16Goals for22Goals against11Goal diff+11Last 5WWWWDTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff67FC Corinthians 14G1-1-4 · GD -10-1.504ratingpts
Played6W-D-L1-1-4Points4Goals for12Goals against22Goal diff-10Last 5LLDWLTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff68ToKa FC - 2013/2014G Red2-0-6 · GD -15-1.556ratingpts
Played8W-D-L2-0-6Points6Goals for10Goals against25Goal diff-15Last 5WLLWLTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff69Revolution Premier SC U13G Blue1-1-10 · GD -29-1.584ratingpts
Played12W-D-L1-1-10Points4Goals for5Goals against34Goal diff-29Last 5LLWDLTheir results vs CosmosL 0-7 Sep 5Their results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff70Dallas Surf U13G Blue2-3-4 · GD -16-1.939ratingpts
Played9W-D-L2-3-4Points9Goals for8Goals against24Goal diff-16Last 5WDLDLTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff71Solar SC 14G Sanchez1-1-5 · GD -16-1.994ratingpts
Played7W-D-L1-1-5Points4Goals for8Goals against24Goal diff-16Last 5LLLLLTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff72Evolution 14G McGregor4-0-8 · GD -18-2.0312ratingpts
Played12W-D-L4-0-8Points12Goals for17Goals against35Goal diff-18Last 5LWLLLTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff73Dallas Surf U13G East Blue1-1-6 · GD -21-2.134ratingpts
Played8W-D-L1-1-6Points4Goals for5Goals against26Goal diff-21Last 5LLLLLTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff74Frisco Fusion Navy G2013/143-0-4 · GD -6-2.289ratingpts
Played7W-D-L3-0-4Points9Goals for6Goals against12Goal diff-6Last 5LLLLWTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff75FC Dallas Youth Black G2013/141-0-7 · GD -23-2.443ratingpts
Played8W-D-L1-0-7Points3Goals for4Goals against27Goal diff-23Last 5LLLLWTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)L 0-6 Aug 2376Invictus United N1 G2014 Mcmenamy (TX)0-0-6 · GD -46-4.590ratingpts
Played6W-D-L0-0-6Points0Goals for3Goals against49Goal diff-46Last 5LLLLLTheir results vs CosmosNo games since the cutoffTheir results vs SOLAR RED ECNL RL NTX G2013/14 (our next game)No games since the cutoff
How is this worked out?
Every played game since Sat Aug 1, 2026 among all 229 teams in our data (557 games) is used. Each result becomes a goal difference, capped at ±5 so one blowout doesn't dominate. Every team then gets a rating so that the gap between two ratings best matches how they actually did against each other, which means beating strong teams counts for more than beating weak ones. A rating of +3.82 means we would be expected to beat an average team here by about that many goals. The bar under each team shows its rating from lowest to highest.
Points re-sorts the same teams by league-style points (3 for a win, 1 for a draw), then goal difference, then goals scored. Points ignore how strong the opponents were, which is why the two orders differ. The matchup calls on the Preview tab use the power rating. Only teams with at least 6 games this season are listed: with fewer, a rating is too uncertain to rank (about ±2 goals either way at 3 games, ±1.6 at 6). Every team still counts in the ratings and the odds.
Analytics
18 filmed games · Aug 22 – Sep 26Key takeaways
Against each style
A team gets a style when it does that more than most of the 18 opponents we've filmed. Tap one for details.
Low block6 games · 6-0-04.3–0.0goals / game
Teams that sit deep: their back line stays close to their own goal when we have the ball: 14/15 Sting Girau, Solar RL NTX, Revolution Blue, Celtic RL NTX, Sting 14/15 Brave, Nido Dallas.
High line5 games · 4-1-03.0–0.8goals / game
Teams that hold a high back line, leaving space behind: DKSC RL U13G, FCD White, DKSC PK’s, Sting ECNL RL NTX, Revolution Premier.
Pressing5 games · 4-1-02.0–0.6goals / game
Teams that win the ball back higher up the pitch: DKSC RL U13G, FCD White, DKSC PK’s, HTX, DKSC ECNL RL NTX.
Swarm the ball5 games · 5-0-02.8–0.2goals / game
Teams that put more players near the ball when we have it: Waco u13G, Albion 2014-2015, Solar RL NTX, Sting ECNL RL NTX, Sting 14/15 Brave.
Possession5 games · 5-0-02.8–0.4goals / game
Teams that pass the most: DKSC RL U13G, Solar RL NTX, Sting ECNL RL NTX, Revolution Premier, Solar BLUE ECNL RL NTX.
Direct5 games · 4-1-04.2–0.2goals / game
Teams that play longer passes: DKSC PK’s, DKSC ECNL RL NTX, Celtic RL NTX, CELTIC NTX NORTH, Nido Dallas.
Counter-attacking5 games · 4-1-01.8–0.4goals / game
Teams that break forward quickly after winning the ball: FCD White, DKSC PK’s, HTX, DKSC ECNL RL NTX, Solar BLUE ECNL RL NTX.
Game by game
Sep 26Nido DallasShots 14–0 · Poss 53% · Breaks 13–3Low blockDirect3–0
Sep 20Sting 14/15 BraveShots 6–0 · Poss 55% · Breaks 7–3Low blockSwarm the ball3–0
Sep 19CELTIC NTX NORTHShots 21–2 · Poss 68% · Breaks 20–4Direct10–0
Sep 19Solar BLUE ECNL RL NTXShots 19–0 · Poss 50% · Breaks 19–9PossessionCounter-attacking1–0
Sep 16Revolution PremierShots 16–4 · Poss 50% · Breaks 25–3High linePossession4–1
Sep 12Celtic RL NTXShots 20–0 · Poss 51% · Breaks 20–1Low blockDirect6–0
Veo had 7–0; the official score is shown.
Sep 10Surf inspire u12Shots 21–3 · Poss 61% · Breaks 14–46–0
Sep 7DKSC ECNL RL NTXShots 7–5 · Poss 52% · Breaks 11–9PressingDirectCounter-attacking1–0
Sep 6Sting ECNL RL NTXShots 15–6 · Poss 46% · Breaks 12–6High lineSwarm the ballPossession4–0
Sep 6HTXShots 13–10 · Poss 51% · Breaks 10–7PressingCounter-attacking2–0
Sep 5Revolution BlueShots 21–0 · Poss 51% · Breaks 20–2Low block7–0
Sep 5Solar RL NTXShots 16–5 · Poss 47% · Breaks 14–2Low blockSwarm the ballPossession3–0
Aug 30Albion 2014-2015Shots 23–1 · Poss 50% · Breaks 18–2Swarm the ball2–1
Aug 2914/15 Sting GirauShots 15–0 · Poss 61% · Breaks 10–4Low block4–0
Aug 23DKSC PK’sShots 8–7 · Poss 51% · Breaks 14–12High linePressingDirectCounter-attacking1–1
Aug 23FCD WhiteShots 8–14 · Poss 49% · Breaks 15–17High linePressingCounter-attacking4–1
Aug 22Waco u13GShots 15–1 · Poss 58% · Breaks 12–4Swarm the ball2–0
Aug 22DKSC RL U13GShots 9–3 · Poss 46% · Breaks 12–6High linePressingPossession2–1
About this data
- Everything here comes from Veo's AI watching the film. It is rough: use it for trends, not exact counts.
- Scores marked UNOFFICIAL are Veo's; once GotSport or ECNL posts the result, the official score replaces it.
- Possession is each team's share of the passes. Players back, behind the ball, back line and near the ball come from Veo's player tracking while we have the ball (keepers left out).
- Goals Veo has without a player: Aug 29 14/15 Sting Girau (1), Sep 5 Revolution Blue (1). Tag the scorer in Veo and refresh to credit them.
- Veo's own score for Celtic RL NTX was 7–0; the official 6–0 is used.
- Data pulled Oct 1.
Game history
| Stat | Us | Them |
|---|---|---|
| shots | 14 | 0 |
| possession pct (pass share) | 53 | 47 |
| passes | 272 | 237 |
| corners | 2 | 0 |
| fast breaks | 15 | 4 |
| tackles | 44 | 54 |
| interceptions | 40 | 20 |
| fouls | 8 | 17 |
| players back on defense | 1.54 | 4.53 |
| back line pct up pitch | 41 | 23 |
| Stat | Us | Them |
|---|---|---|
| shots | 6 | 0 |
| possession pct (pass share) | 55 | 45 |
| passes | 203 | 168 |
| corners | 4 | 2 |
| fast breaks | 8 | 4 |
| tackles | 12 | 22 |
| interceptions | 8 | 8 |
| fouls | 4 | 4 |
| players back on defense | 1.85 | 4.95 |
| back line pct up pitch | 41 | 24 |
| Stat | Us | Them |
|---|---|---|
| shots | 21 | 2 |
| possession pct (pass share) | 68 | 32 |
| passes | 310 | 146 |
| corners | 4 | 2 |
| fast breaks | 21 | 4 |
| tackles | 24 | 25 |
| interceptions | 27 | 22 |
| fouls | 2 | 1 |
| players back on defense | 1.41 | 3.96 |
| back line pct up pitch | 41 | 29 |
| Stat | Us | Them |
|---|---|---|
| shots | 19 | 0 |
| possession pct (pass share) | 50 | 50 |
| passes | 338 | 331 |
| corners | 3 | 1 |
| fast breaks | 26 | 13 |
| tackles | 52 | 48 |
| interceptions | 59 | 41 |
| fouls | 4 | 7 |
| players back on defense | 1.73 | 4.26 |
| back line pct up pitch | 38 | 26 |
| Stat | Us | Them |
|---|---|---|
| shots | 16 | 4 |
| possession pct (pass share) | 50 | 50 |
| passes | 285 | 287 |
| corners | 3 | 0 |
| fast breaks | 29 | 3 |
| tackles | 43 | 32 |
| interceptions | 53 | 40 |
| fouls | 4 | 7 |
| players back on defense | 1.84 | 3.38 |
| back line pct up pitch | 38 | 32 |
| Stat | Us | Them |
|---|---|---|
| shots | 20 | 0 |
| possession pct (pass share) | 51 | 49 |
| passes | 254 | 247 |
| corners | 1 | 0 |
| fast breaks | 25 | 1 |
| tackles | 34 | 33 |
| interceptions | 50 | 29 |
| fouls | 10 | 10 |
| players back on defense | 1.45 | 5.05 |
| back line pct up pitch | 42 | 23 |
| Stat | Us | Them |
|---|---|---|
| shots | 21 | 3 |
| possession pct (pass share) | 61 | 39 |
| passes | 311 | 199 |
| corners | 8 | 0 |
| fast breaks | 16 | 5 |
| tackles | 27 | 35 |
| interceptions | 32 | 26 |
| fouls | 1 | 1 |
| players back on defense | 1.7 | 4.49 |
| back line pct up pitch | 41 | 26 |
| Stat | Us | Them |
|---|---|---|
| shots | 7 | 5 |
| possession pct (pass share) | 52 | 48 |
| passes | 276 | 259 |
| corners | 3 | 2 |
| fast breaks | 13 | 11 |
| tackles | 33 | 50 |
| interceptions | 30 | 27 |
| fouls | 2 | 6 |
| players back on defense | 2.6 | 3.48 |
| back line pct up pitch | 33 | 29 |
| Stat | Us | Them |
|---|---|---|
| shots | 15 | 6 |
| possession pct (pass share) | 46 | 54 |
| passes | 241 | 278 |
| corners | 5 | 2 |
| fast breaks | 13 | 7 |
| tackles | 36 | 28 |
| interceptions | 34 | 28 |
| fouls | 7 | 6 |
| players back on defense | 1.99 | 4.12 |
| back line pct up pitch | 40 | 31 |
| Stat | Us | Them |
|---|---|---|
| shots | 13 | 10 |
| possession pct (pass share) | 51 | 49 |
| passes | 197 | 187 |
| corners | 3 | 1 |
| fast breaks | 9 | 6 |
| tackles | 23 | 27 |
| interceptions | 27 | 23 |
| fouls | 3 | 3 |
| players back on defense | 2.63 | 3.72 |
| back line pct up pitch | 37 | 31 |
| Stat | Us | Them |
|---|---|---|
| shots | 21 | 0 |
| possession pct (pass share) | 51 | 49 |
| passes | 209 | 198 |
| corners | 8 | 3 |
| fast breaks | 18 | 2 |
| tackles | 33 | 25 |
| interceptions | 26 | 21 |
| fouls | 2 | 4 |
| players back on defense | 1.29 | 5.25 |
| back line pct up pitch | 47 | 23 |
| Stat | Us | Them |
|---|---|---|
| shots | 16 | 5 |
| possession pct (pass share) | 47 | 53 |
| passes | 204 | 230 |
| corners | 2 | 1 |
| fast breaks | 14 | 2 |
| tackles | 22 | 38 |
| interceptions | 27 | 16 |
| fouls | 3 | 2 |
| players back on defense | 1.43 | 5.21 |
| back line pct up pitch | 44 | 25 |
| Stat | Us | Them |
|---|---|---|
| shots | 23 | 1 |
| possession pct (pass share) | 50 | 50 |
| passes | 253 | 257 |
| corners | 4 | 0 |
| fast breaks | 22 | 3 |
| tackles | 27 | 52 |
| interceptions | 40 | 22 |
| fouls | 2 | 5 |
| players back on defense | 1.84 | 4.72 |
| back line pct up pitch | 41 | 25 |
| Stat | Us | Them |
|---|---|---|
| shots | 15 | 0 |
| possession pct (pass share) | 61 | 39 |
| passes | 373 | 237 |
| corners | 8 | 0 |
| fast breaks | 12 | 5 |
| tackles | 31 | 30 |
| interceptions | 43 | 34 |
| fouls | 3 | 4 |
| players back on defense | 1.55 | 4.89 |
| back line pct up pitch | 42 | 24 |
| Stat | Us | Them |
|---|---|---|
| shots | 8 | 7 |
| possession pct (pass share) | 51 | 49 |
| passes | 252 | 243 |
| corners | 1 | 2 |
| fast breaks | 16 | 14 |
| tackles | 31 | 43 |
| interceptions | 28 | 25 |
| fouls | 6 | 3 |
| players back on defense | 2.62 | 3.16 |
| back line pct up pitch | 34 | 31 |
| Stat | Us | Them |
|---|---|---|
| shots | 8 | 14 |
| possession pct (pass share) | 49 | 51 |
| passes | 236 | 242 |
| corners | 3 | 2 |
| fast breaks | 17 | 19 |
| tackles | 40 | 37 |
| interceptions | 21 | 24 |
| fouls | 7 | 8 |
| players back on defense | 3.4 | 2.41 |
| back line pct up pitch | 30 | 34 |
| Stat | Us | Them |
|---|---|---|
| shots | 15 | 1 |
| possession pct (pass share) | 58 | 42 |
| passes | 264 | 188 |
| corners | 7 | 3 |
| fast breaks | 14 | 4 |
| tackles | 26 | 39 |
| interceptions | 19 | 20 |
| fouls | 6 | 3 |
| players back on defense | 2.54 | 4.62 |
| back line pct up pitch | 36 | 25 |
| Stat | Us | Them |
|---|---|---|
| shots | 9 | 3 |
| possession pct (pass share) | 46 | 54 |
| passes | 222 | 261 |
| corners | 3 | 2 |
| fast breaks | 13 | 7 |
| tackles | 39 | 23 |
| interceptions | 21 | 26 |
| fouls | 1 | 6 |
| players back on defense | 2.75 | 3.08 |
| back line pct up pitch | 36 | 33 |
Trophy case · 2026–27
Tournaments this season
U90C Labor Day Open 20261st place
| Date | Round | Opponent | Result |
|---|---|---|---|
| Sat Sep 5, 2026 | pool play | SOLAR WHITE ECNL RL NTX G2013/14 | W 3-0 |
| Sat Sep 5, 2026 | pool play | Revolution Premier SC U13G Blue | W 7-0 |
| Sun Sep 6, 2026 | pool play | HTX N1 G2013/14 East (TX) | W 2-0 |
| Sun Sep 6, 2026 | Semi-Finals | Sting Black ECNL RL NTX G2013/14 | W 4-0 |
| Mon Sep 7, 2026 | Final | DKSC ECNL RL NTX G2013/14 | W 1-0 |
Summer Splash 2026Semifinalist
| Date | Round | Opponent | Result |
|---|---|---|---|
| Sat Aug 22, 2026 | pool play | DKSC ECNL RL G2013/14 | W 2-1 |
| Sat Aug 22, 2026 | pool play | Waco United 2014G Andrade - LD | W 2-0 |
| Sun Aug 23, 2026 | pool play | FC Dallas Youth White ECNL RL NTX G2013/14 | W 4-1 |
| Sun Aug 23, 2026 | Semi-Finals | DKSC ECNL RL G2013/14 | 1-1 · Lost on PKs |
BOB WISEMAN MEMORIAL 261st place
| Date | Round | Opponent | Result |
|---|---|---|---|
| Sat Aug 15, 2026 | pool play | LTFC U13G Premier- 33 | W 4-0 |
| Sat Aug 15, 2026 | pool play | FC Dallas Youth N1 G2013/14 Avant (TX) | W 1-0 |
| Sun Aug 16, 2026 | Semi-Finals | LTFC U13G Premier- 33 | W 1-0 |
| Sun Aug 16, 2026 | Final | Revolution Premier SC N1 G2014/2013Gold (TX) | W 2-0 |
Last season (2025–26): 6 tournaments
| Dates | Tournament | Finish | Record | Goals |
|---|---|---|---|---|
| May 23–26 | Surf Cup Texas 2026 | Group play | 0-0-2 | 0–2 |
| May 15–18 | SLSC Spring Twister 2026 | 2nd place | 2-0-2 | 6–6 |
| Mar 29 – Apr 6 | Dallas Cup 2026 | 2nd place | 4-0-2 | 8–8 |
| Dec 12–14 | 2025 NTX Celtic Snowball Cup | 2nd place | 3-0-1 | 11–2 |
| Dec 5–8 | Texas SuperCopa Qualifier | Playoffs | 0-2-2 | 1–6 |
| Nov 14–17 | FALL PREMIER SHOWCASE | Group play | 1-2-0 | 8–2 |
Finish comes from GotSport's published placement when there is one; otherwise it is worked out from the playoff rounds we played. Only events GotSport marks as tournaments count (league games do not).
Watch list
0 teamsBrand-new North Texas teams (unranked, or at most 3 games on GotSport) that are about to play a top-25 team or enter a tournament where the top teams play. Big clubs sometimes form a team just for a tournament: its ranking cannot show how strong it really is. Not used in the odds.
Nobody to watch right now. A North Texas team shows up here when it is brand new and about to play one of the state's best. Checked with every refresh.
Change log
130 loggedEvery data refresh, and every practice or game whose confirmed date and time moved. A brand-new event, or a time posted for the first time, is not a change and is never announced.
↻Data refresh7 sources checked · 5 live over the API—Oct 1 · 1:33 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 32 requests, 233 cache hits, 1 failures | 7 min ago |
| ECNL standings | API | 20 teams | 5 min ago |
| ECNL schedule and results | API | whole division, one call per team | 5 min ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 15 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 11 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API1Oct 1 · 1:27 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 109 requests, 147 cache hits, 23 failures | 2 min ago |
| ECNL standings | API | 20 teams | 0 min ago |
| ECNL schedule and results | API | whole division, one call per team | 0 min ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 14 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 11 days ago |
Changes found
- Practice Cancelled: Wed, Sep 30 5:45 PM
✕Practice CancelledWed, Sep 305:45 PMOct 1 · 1:27 PM
↻Data refresh7 sources checked · 5 live over the API—Sep 30 · 6:22 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 17 hr ago |
| ECNL standings | API | 20 teams | 17 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 17 hr ago |
| TeamSnap schedule and roster | API | 164 events | 17 hr ago |
| GroupMe team chat | API | 50 messages saved | 17 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 10 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 30 · 6:18 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 17 hr ago |
| ECNL standings | API | 20 teams | 17 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 17 hr ago |
| TeamSnap schedule and roster | API | 164 events | 17 hr ago |
| GroupMe team chat | API | 50 messages saved | 17 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 10 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 30 · 6:09 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 16 hr ago |
| ECNL standings | API | 20 teams | 16 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 16 hr ago |
| TeamSnap schedule and roster | API | 164 events | 16 hr ago |
| GroupMe team chat | API | 50 messages saved | 16 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 10 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 30 · 6:05 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 16 hr ago |
| ECNL standings | API | 20 teams | 16 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 16 hr ago |
| TeamSnap schedule and roster | API | 164 events | 16 hr ago |
| GroupMe team chat | API | 50 messages saved | 16 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 10 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 30 · 1:15 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 4 min ago |
| ECNL standings | API | 20 teams | 3 min ago |
| ECNL schedule and results | API | whole division, one call per team | 3 min ago |
| TeamSnap schedule and roster | API | 164 events | 3 min ago |
| GroupMe team chat | API | 50 messages saved | 3 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 1 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 9 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 30 · 1:12 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 33 requests, 223 cache hits, 0 failures | 1 min ago |
| ECNL standings | API | 20 teams | 0 min ago |
| ECNL schedule and results | API | whole division, one call per team | 0 min ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 1 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 9 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 30 · 1:05 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 1 days ago |
| ECNL standings | API | 20 teams | 1 days ago |
| ECNL schedule and results | API | whole division, one call per team | 1 days ago |
| TeamSnap schedule and roster | API | 164 events | 1 days ago |
| GroupMe team chat | API | 50 messages saved | 1 days ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 1 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 9 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 28 · 9:47 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 42 requests, 214 cache hits, 0 failures | 2 min ago |
| ECNL standings | API | 20 teams | 7 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 7 hr ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 8 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 7 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 28 · 6:07 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 35 hr ago |
| ECNL standings | API | 20 teams | 4 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 4 hr ago |
| TeamSnap schedule and roster | API | 164 events | 14 hr ago |
| GroupMe team chat | API | 50 messages saved | 14 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 4 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 7 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 28 · 1:46 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 31 hr ago |
| ECNL standings | API | 20 teams | 41 min ago |
| ECNL schedule and results | API | whole division, one call per team | 41 min ago |
| TeamSnap schedule and roster | API | 164 events | 10 hr ago |
| GroupMe team chat | API | 50 messages saved | 10 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 29 min ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 7 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 28 · 1:28 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 30 hr ago |
| ECNL standings | API | 20 teams | 23 min ago |
| ECNL schedule and results | API | whole division, one call per team | 23 min ago |
| TeamSnap schedule and roster | API | 164 events | 10 hr ago |
| GroupMe team chat | API | 50 messages saved | 10 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 11 min ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 7 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 28 · 1:17 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 30 hr ago |
| ECNL standings | API | 20 teams | 11 min ago |
| ECNL schedule and results | API | whole division, one call per team | 11 min ago |
| TeamSnap schedule and roster | API | 164 events | 10 hr ago |
| GroupMe team chat | API | 50 messages saved | 10 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 0 min ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 7 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 28 · 1:08 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 30 hr ago |
| ECNL standings | API | 20 teams | 2 min ago |
| ECNL schedule and results | API | whole division, one call per team | 2 min ago |
| TeamSnap schedule and roster | API | 164 events | 9 hr ago |
| GroupMe team chat | API | 50 messages saved | 9 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 27 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 7 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 27 · 3:34 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 21 hr ago |
| ECNL standings | API | 20 teams | 8 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 8 hr ago |
| TeamSnap schedule and roster | API | 164 events | 22 min ago |
| GroupMe team chat | API | 50 messages saved | 22 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 17 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 7 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 27 · 3:12 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 0 requests, 258 cache hits, 0 failures | 20 hr ago |
| ECNL standings | API | 20 teams | 7 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 7 hr ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 17 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 7 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 27 · 3:07 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 20 hr ago |
| ECNL standings | API | 20 teams | 7 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 7 hr ago |
| TeamSnap schedule and roster | API | 164 events | 4 hr ago |
| GroupMe team chat | API | 50 messages saved | 4 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 17 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 7 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 27 · 3:00 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 20 hr ago |
| ECNL standings | API | 20 teams | 7 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 7 hr ago |
| TeamSnap schedule and roster | API | 164 events | 4 hr ago |
| GroupMe team chat | API | 50 messages saved | 4 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 17 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 7 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 27 · 10:50 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 16 hr ago |
| ECNL standings | API | 20 teams | 3 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 3 hr ago |
| TeamSnap schedule and roster | API | 164 events | 3 min ago |
| GroupMe team chat | API | 50 messages saved | 3 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 12 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 27 · 10:47 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 0 requests, 258 cache hits, 0 failures | 16 hr ago |
| ECNL standings | API | 20 teams | 3 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 3 hr ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 12 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 27 · 10:12 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 15 hr ago |
| ECNL standings | API | 20 teams | 2 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 2 hr ago |
| TeamSnap schedule and roster | API | 164 events | 1 hr ago |
| GroupMe team chat | API | 50 messages saved | 1 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 12 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 27 · 10:09 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 15 hr ago |
| ECNL standings | API | 20 teams | 2 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 2 hr ago |
| TeamSnap schedule and roster | API | 164 events | 1 hr ago |
| GroupMe team chat | API | 50 messages saved | 1 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 12 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 27 · 10:00 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 15 hr ago |
| ECNL standings | API | 20 teams | 2 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 2 hr ago |
| TeamSnap schedule and roster | API | 164 events | 1 hr ago |
| GroupMe team chat | API | 50 messages saved | 1 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 12 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 27 · 9:56 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 15 hr ago |
| ECNL standings | API | 20 teams | 2 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 2 hr ago |
| TeamSnap schedule and roster | API | 164 events | 1 hr ago |
| GroupMe team chat | API | 50 messages saved | 1 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 12 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 27 · 9:46 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 15 hr ago |
| ECNL standings | API | 20 teams | 2 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 2 hr ago |
| TeamSnap schedule and roster | API | 164 events | 1 hr ago |
| GroupMe team chat | API | 50 messages saved | 1 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 11 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 27 · 9:42 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 15 hr ago |
| ECNL standings | API | 20 teams | 2 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 2 hr ago |
| TeamSnap schedule and roster | API | 164 events | 86 min ago |
| GroupMe team chat | API | 50 messages saved | 86 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 11 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 27 · 9:39 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 15 hr ago |
| ECNL standings | API | 20 teams | 2 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 2 hr ago |
| TeamSnap schedule and roster | API | 164 events | 83 min ago |
| GroupMe team chat | API | 50 messages saved | 83 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 11 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 27 · 8:40 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 14 hr ago |
| ECNL standings | API | 20 teams | 80 min ago |
| ECNL schedule and results | API | whole division, one call per team | 80 min ago |
| TeamSnap schedule and roster | API | 164 events | 24 min ago |
| GroupMe team chat | API | 50 messages saved | 24 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 10 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 27 · 8:36 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 14 hr ago |
| ECNL standings | API | 20 teams | 76 min ago |
| ECNL schedule and results | API | whole division, one call per team | 76 min ago |
| TeamSnap schedule and roster | API | 164 events | 20 min ago |
| GroupMe team chat | API | 50 messages saved | 20 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 10 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 27 · 8:34 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 14 hr ago |
| ECNL standings | API | 20 teams | 74 min ago |
| ECNL schedule and results | API | whole division, one call per team | 74 min ago |
| TeamSnap schedule and roster | API | 164 events | 18 min ago |
| GroupMe team chat | API | 50 messages saved | 18 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 10 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 27 · 8:33 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 14 hr ago |
| ECNL standings | API | 20 teams | 73 min ago |
| ECNL schedule and results | API | whole division, one call per team | 73 min ago |
| TeamSnap schedule and roster | API | 164 events | 17 min ago |
| GroupMe team chat | API | 50 messages saved | 17 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 10 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 27 · 8:32 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 13 hr ago |
| ECNL standings | API | 20 teams | 72 min ago |
| ECNL schedule and results | API | whole division, one call per team | 72 min ago |
| TeamSnap schedule and roster | API | 164 events | 16 min ago |
| GroupMe team chat | API | 50 messages saved | 16 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 10 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 27 · 8:15 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 33 requests, 225 cache hits, 0 failures | 13 hr ago |
| ECNL standings | API | 20 teams | 55 min ago |
| ECNL schedule and results | API | whole division, one call per team | 55 min ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 10 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 27 · 8:11 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 13 hr ago |
| ECNL standings | API | 20 teams | 51 min ago |
| ECNL schedule and results | API | whole division, one call per team | 51 min ago |
| TeamSnap schedule and roster | API | 164 events | 10 hr ago |
| GroupMe team chat | API | 50 messages saved | 10 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 10 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 27 · 8:09 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 13 hr ago |
| ECNL standings | API | 20 teams | 49 min ago |
| ECNL schedule and results | API | whole division, one call per team | 49 min ago |
| TeamSnap schedule and roster | API | 164 events | 10 hr ago |
| GroupMe team chat | API | 50 messages saved | 10 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 10 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 27 · 8:07 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 13 hr ago |
| ECNL standings | API | 20 teams | 47 min ago |
| ECNL schedule and results | API | whole division, one call per team | 47 min ago |
| TeamSnap schedule and roster | API | 164 events | 10 hr ago |
| GroupMe team chat | API | 50 messages saved | 10 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 10 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 27 · 8:05 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 13 hr ago |
| ECNL standings | API | 20 teams | 45 min ago |
| ECNL schedule and results | API | whole division, one call per team | 45 min ago |
| TeamSnap schedule and roster | API | 164 events | 10 hr ago |
| GroupMe team chat | API | 50 messages saved | 10 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 10 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 27 · 8:04 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 13 hr ago |
| ECNL standings | API | 20 teams | 44 min ago |
| ECNL schedule and results | API | whole division, one call per team | 44 min ago |
| TeamSnap schedule and roster | API | 164 events | 10 hr ago |
| GroupMe team chat | API | 50 messages saved | 10 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 10 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 27 · 8:02 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 13 hr ago |
| ECNL standings | API | 20 teams | 42 min ago |
| ECNL schedule and results | API | whole division, one call per team | 42 min ago |
| TeamSnap schedule and roster | API | 164 events | 10 hr ago |
| GroupMe team chat | API | 50 messages saved | 10 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 10 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 27 · 8:00 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 13 hr ago |
| ECNL standings | API | 20 teams | 40 min ago |
| ECNL schedule and results | API | whole division, one call per team | 40 min ago |
| TeamSnap schedule and roster | API | 164 events | 10 hr ago |
| GroupMe team chat | API | 50 messages saved | 10 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 10 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 27 · 7:58 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 13 hr ago |
| ECNL standings | API | 20 teams | 38 min ago |
| ECNL schedule and results | API | whole division, one call per team | 38 min ago |
| TeamSnap schedule and roster | API | 164 events | 9 hr ago |
| GroupMe team chat | API | 50 messages saved | 9 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 10 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 27 · 7:31 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 12 hr ago |
| ECNL standings | API | 20 teams | 11 min ago |
| ECNL schedule and results | API | whole division, one call per team | 11 min ago |
| TeamSnap schedule and roster | API | 164 events | 9 hr ago |
| GroupMe team chat | API | 50 messages saved | 9 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 9 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 26 · 10:00 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 0 requests, 258 cache hits, 0 failures | 3 hr ago |
| ECNL standings | API | 20 teams | 14 min ago |
| ECNL schedule and results | API | whole division, one call per team | 14 min ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 7 min ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 26 · 9:57 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 3 hr ago |
| ECNL standings | API | 20 teams | 11 min ago |
| ECNL schedule and results | API | whole division, one call per team | 11 min ago |
| TeamSnap schedule and roster | API | 164 events | 3 min ago |
| GroupMe team chat | API | 50 messages saved | 3 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 4 min ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 26 · 9:54 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 3 hr ago |
| ECNL standings | API | 20 teams | 8 min ago |
| ECNL schedule and results | API | whole division, one call per team | 8 min ago |
| TeamSnap schedule and roster | API | 164 events | 1 min ago |
| GroupMe team chat | API | 50 messages saved | 1 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 1 min ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 26 · 9:53 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 0 requests, 258 cache hits, 0 failures | 3 hr ago |
| ECNL standings | API | 20 teams | 7 min ago |
| ECNL schedule and results | API | whole division, one call per team | 7 min ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 0 min ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 26 · 9:46 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 0 requests, 258 cache hits, 0 failures | 3 hr ago |
| ECNL standings | API | 20 teams | 0 min ago |
| ECNL schedule and results | API | whole division, one call per team | 0 min ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 29 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 26 · 9:32 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 2 hr ago |
| ECNL standings | API | 20 teams | 2 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 2 hr ago |
| TeamSnap schedule and roster | API | 164 events | 2 hr ago |
| GroupMe team chat | API | 50 messages saved | 2 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 29 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 26 · 9:30 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 2 hr ago |
| ECNL standings | API | 20 teams | 2 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 2 hr ago |
| TeamSnap schedule and roster | API | 164 events | 2 hr ago |
| GroupMe team chat | API | 50 messages saved | 2 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 29 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 26 · 9:25 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 2 hr ago |
| ECNL standings | API | 20 teams | 2 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 2 hr ago |
| TeamSnap schedule and roster | API | 164 events | 2 hr ago |
| GroupMe team chat | API | 50 messages saved | 2 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 29 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 26 · 9:22 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 2 hr ago |
| ECNL standings | API | 20 teams | 2 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 2 hr ago |
| TeamSnap schedule and roster | API | 164 events | 2 hr ago |
| GroupMe team chat | API | 50 messages saved | 2 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 29 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 26 · 6:48 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 15 min ago |
| ECNL standings | API | 20 teams | 14 min ago |
| ECNL schedule and results | API | whole division, one call per team | 14 min ago |
| TeamSnap schedule and roster | API | 164 events | 14 min ago |
| GroupMe team chat | API | 50 messages saved | 14 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 26 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 26 · 6:45 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 13 min ago |
| ECNL standings | API | 20 teams | 11 min ago |
| ECNL schedule and results | API | whole division, one call per team | 11 min ago |
| TeamSnap schedule and roster | API | 164 events | 11 min ago |
| GroupMe team chat | API | 50 messages saved | 11 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 26 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 26 · 6:33 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 57 requests, 201 cache hits, 0 failures | 1 min ago |
| ECNL standings | API | 20 teams | 0 min ago |
| ECNL schedule and results | API | whole division, one call per team | 0 min ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 26 hr ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 6 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 25 · 4:01 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 2 hr ago |
| ECNL standings | API | 20 teams | 2 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 2 hr ago |
| TeamSnap schedule and roster | API | 164 events | 2 hr ago |
| GroupMe team chat | API | 50 messages saved | 2 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 3 min ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 5 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 25 · 4:00 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 2 hr ago |
| ECNL standings | API | 20 teams | 2 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 2 hr ago |
| TeamSnap schedule and roster | API | 164 events | 2 hr ago |
| GroupMe team chat | API | 50 messages saved | 2 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 2 min ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 5 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 25 · 3:58 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 2 hr ago |
| ECNL standings | API | 20 teams | 2 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 2 hr ago |
| TeamSnap schedule and roster | API | 164 events | 2 hr ago |
| GroupMe team chat | API | 50 messages saved | 2 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 0 min ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 5 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 25 · 3:40 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 2 hr ago |
| ECNL standings | API | 20 teams | 1 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 1 hr ago |
| TeamSnap schedule and roster | API | 164 events | 1 hr ago |
| GroupMe team chat | API | 50 messages saved | 1 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 4 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 5 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 25 · 3:39 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 1 hr ago |
| ECNL standings | API | 20 teams | 1 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 1 hr ago |
| TeamSnap schedule and roster | API | 164 events | 1 hr ago |
| GroupMe team chat | API | 50 messages saved | 1 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 4 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 5 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 25 · 3:36 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 1 hr ago |
| ECNL standings | API | 20 teams | 1 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 1 hr ago |
| TeamSnap schedule and roster | API | 164 events | 1 hr ago |
| GroupMe team chat | API | 50 messages saved | 1 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 4 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 5 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 25 · 3:21 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 1 hr ago |
| ECNL standings | API | 20 teams | 1 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 1 hr ago |
| TeamSnap schedule and roster | API | 164 events | 1 hr ago |
| GroupMe team chat | API | 50 messages saved | 1 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 4 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 5 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 25 · 2:46 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 66 min ago |
| ECNL standings | API | 20 teams | 61 min ago |
| ECNL schedule and results | API | whole division, one call per team | 61 min ago |
| TeamSnap schedule and roster | API | 164 events | 59 min ago |
| GroupMe team chat | API | 50 messages saved | 59 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 4 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 5 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 25 · 2:44 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 63 min ago |
| ECNL standings | API | 20 teams | 59 min ago |
| ECNL schedule and results | API | whole division, one call per team | 59 min ago |
| TeamSnap schedule and roster | API | 164 events | 57 min ago |
| GroupMe team chat | API | 50 messages saved | 57 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 4 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 5 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 25 · 2:37 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 57 min ago |
| ECNL standings | API | 20 teams | 53 min ago |
| ECNL schedule and results | API | whole division, one call per team | 53 min ago |
| TeamSnap schedule and roster | API | 164 events | 50 min ago |
| GroupMe team chat | API | 50 messages saved | 50 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 4 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 5 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 25 · 2:34 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 53 min ago |
| ECNL standings | API | 20 teams | 49 min ago |
| ECNL schedule and results | API | whole division, one call per team | 49 min ago |
| TeamSnap schedule and roster | API | 164 events | 47 min ago |
| GroupMe team chat | API | 50 messages saved | 47 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 4 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 5 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 25 · 2:31 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 51 min ago |
| ECNL standings | API | 20 teams | 46 min ago |
| ECNL schedule and results | API | whole division, one call per team | 46 min ago |
| TeamSnap schedule and roster | API | 164 events | 44 min ago |
| GroupMe team chat | API | 50 messages saved | 44 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 4 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 5 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 25 · 2:26 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 46 min ago |
| ECNL standings | API | 20 teams | 42 min ago |
| ECNL schedule and results | API | whole division, one call per team | 42 min ago |
| TeamSnap schedule and roster | API | 164 events | 39 min ago |
| GroupMe team chat | API | 50 messages saved | 39 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 4 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 5 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 25 · 2:06 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 26 min ago |
| ECNL standings | API | 20 teams | 22 min ago |
| ECNL schedule and results | API | whole division, one call per team | 22 min ago |
| TeamSnap schedule and roster | API | 164 events | 19 min ago |
| GroupMe team chat | API | 50 messages saved | 19 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 4 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 5 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 25 · 2:05 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 25 min ago |
| ECNL standings | API | 20 teams | 20 min ago |
| ECNL schedule and results | API | whole division, one call per team | 20 min ago |
| TeamSnap schedule and roster | API | 164 events | 18 min ago |
| GroupMe team chat | API | 50 messages saved | 18 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 4 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 5 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 25 · 2:02 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 22 min ago |
| ECNL standings | API | 20 teams | 18 min ago |
| ECNL schedule and results | API | whole division, one call per team | 18 min ago |
| TeamSnap schedule and roster | API | 164 events | 15 min ago |
| GroupMe team chat | API | 50 messages saved | 15 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 4 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 5 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 25 · 1:46 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 0 requests, 260 cache hits, 0 failures | 6 min ago |
| ECNL standings | API | 20 teams | 2 min ago |
| ECNL schedule and results | API | whole division, one call per team | 2 min ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 4 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 5 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 25 · 1:44 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 260 requests, 0 cache hits, 18 failures | 4 min ago |
| ECNL standings | API | 20 teams | 0 min ago |
| ECNL schedule and results | API | whole division, one call per team | 0 min ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 4 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 5 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 25 · 12:31 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 0 requests, 260 cache hits, 0 failures | 18 hr ago |
| ECNL standings | API | 20 teams | 46 min ago |
| ECNL schedule and results | API | whole division, one call per team | 46 min ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 4 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 5 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 25 · 12:28 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 18 hr ago |
| ECNL standings | API | 20 teams | 43 min ago |
| ECNL schedule and results | API | whole division, one call per team | 43 min ago |
| TeamSnap schedule and roster | API | 164 events | 43 min ago |
| GroupMe team chat | API | 50 messages saved | 43 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 4 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 5 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 25 · 12:21 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 18 hr ago |
| ECNL standings | API | 20 teams | 36 min ago |
| ECNL schedule and results | API | whole division, one call per team | 36 min ago |
| TeamSnap schedule and roster | API | 164 events | 36 min ago |
| GroupMe team chat | API | 50 messages saved | 36 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 4 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 0 min ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 25 · 12:19 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 18 hr ago |
| ECNL standings | API | 20 teams | 34 min ago |
| ECNL schedule and results | API | whole division, one call per team | 34 min ago |
| TeamSnap schedule and roster | API | 164 events | 34 min ago |
| GroupMe team chat | API | 50 messages saved | 34 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 4 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 5 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 25 · 12:17 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 18 hr ago |
| ECNL standings | API | 20 teams | 33 min ago |
| ECNL schedule and results | API | whole division, one call per team | 33 min ago |
| TeamSnap schedule and roster | API | 164 events | 33 min ago |
| GroupMe team chat | API | 50 messages saved | 33 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 4 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 5 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 25 · 11:46 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 17 hr ago |
| ECNL standings | API | 20 teams | 1 min ago |
| ECNL schedule and results | API | whole division, one call per team | 1 min ago |
| TeamSnap schedule and roster | API | 164 events | 1 min ago |
| GroupMe team chat | API | 50 messages saved | 1 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 4 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 5 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 25 · 11:44 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 12 requests, 248 cache hits, 0 failures | 17 hr ago |
| ECNL standings | API | 20 teams | 0 min ago |
| ECNL schedule and results | API | whole division, one call per team | 0 min ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 4 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 5 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 25 · 11:41 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 17 hr ago |
| ECNL standings | API | 20 teams | 1 days ago |
| ECNL schedule and results | API | whole division, one call per team | 1 days ago |
| TeamSnap schedule and roster | API | 164 events | 17 hr ago |
| GroupMe team chat | API | 50 messages saved | 17 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 4 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 5 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 25 · 11:09 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 17 hr ago |
| ECNL standings | API | 20 teams | 1 days ago |
| ECNL schedule and results | API | whole division, one call per team | 1 days ago |
| TeamSnap schedule and roster | API | 164 events | 17 hr ago |
| GroupMe team chat | API | 50 messages saved | 17 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 4 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 5 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 25 · 10:52 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 16 hr ago |
| ECNL standings | API | 20 teams | 1 days ago |
| ECNL schedule and results | API | whole division, one call per team | 1 days ago |
| TeamSnap schedule and roster | API | 164 events | 16 hr ago |
| GroupMe team chat | API | 50 messages saved | 16 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 4 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 4 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 25 · 10:50 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 16 hr ago |
| ECNL standings | API | 20 teams | 1 days ago |
| ECNL schedule and results | API | whole division, one call per team | 1 days ago |
| TeamSnap schedule and roster | API | 164 events | 16 hr ago |
| GroupMe team chat | API | 50 messages saved | 16 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 4 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 4 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 25 · 10:49 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 16 hr ago |
| ECNL standings | API | 20 teams | 1 days ago |
| ECNL schedule and results | API | whole division, one call per team | 1 days ago |
| TeamSnap schedule and roster | API | 164 events | 16 hr ago |
| GroupMe team chat | API | 50 messages saved | 16 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 4 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 4 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 25 · 10:37 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 16 hr ago |
| ECNL standings | API | 20 teams | 1 days ago |
| ECNL schedule and results | API | whole division, one call per team | 1 days ago |
| TeamSnap schedule and roster | API | 164 events | 16 hr ago |
| GroupMe team chat | API | 50 messages saved | 16 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 4 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 4 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 25 · 10:36 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 16 hr ago |
| ECNL standings | API | 20 teams | 1 days ago |
| ECNL schedule and results | API | whole division, one call per team | 1 days ago |
| TeamSnap schedule and roster | API | 164 events | 16 hr ago |
| GroupMe team chat | API | 50 messages saved | 16 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 4 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 4 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 24 · 6:00 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 10 requests, 250 cache hits, 0 failures | 0 min ago |
| ECNL standings | API | 20 teams | 20 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 20 hr ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 3 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 4 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 24 · 5:08 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 25 hr ago |
| ECNL standings | API | 20 teams | 19 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 19 hr ago |
| TeamSnap schedule and roster | API | 164 events | 10 hr ago |
| GroupMe team chat | API | 50 messages saved | 10 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 3 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 4 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 24 · 5:04 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 25 hr ago |
| ECNL standings | API | 20 teams | 19 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 19 hr ago |
| TeamSnap schedule and roster | API | 164 events | 10 hr ago |
| GroupMe team chat | API | 50 messages saved | 10 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 3 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 4 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 24 · 5:02 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 25 hr ago |
| ECNL standings | API | 20 teams | 19 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 19 hr ago |
| TeamSnap schedule and roster | API | 164 events | 10 hr ago |
| GroupMe team chat | API | 50 messages saved | 10 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 3 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 4 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 24 · 10:58 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 18 hr ago |
| ECNL standings | API | 20 teams | 13 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 13 hr ago |
| TeamSnap schedule and roster | API | 164 events | 4 hr ago |
| GroupMe team chat | API | 50 messages saved | 4 hr ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 3 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 3 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 24 · 6:33 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 14 hr ago |
| ECNL standings | API | 20 teams | 8 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 8 hr ago |
| TeamSnap schedule and roster | API | 164 events | 17 min ago |
| GroupMe team chat | API | 50 messages saved | 17 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 3 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 3 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 24 · 6:17 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 14 hr ago |
| ECNL standings | API | 20 teams | 8 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 8 hr ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 3 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 3 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 24 · 6:16 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 0 requests, 260 cache hits, 0 failures | 14 hr ago |
| ECNL standings | API | 20 teams | 8 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 8 hr ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| Veo game film analytics | Manual (Claude, browser) | no pull due (every game of ours in the last week has a Veo record) | 3 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, teams.json, upsets.json | 3 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 24 · 5:49 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 0 requests, 280 cache hits, 0 failures | 13 hr ago |
| ECNL standings | API | 20 teams | 7 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 7 hr ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| Veo game film analytics | Manual (Claude in Chrome) | not pulled by a normal run | 3 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, aliases.json | 3 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 23 · 10:29 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 0 requests, 280 cache hits, 0 failures | 6 hr ago |
| ECNL standings | API | 20 teams | 34 min ago |
| ECNL schedule and results | API | whole division, one call per team | 34 min ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| Veo game film analytics | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, aliases.json | 3 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 23 · 10:24 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 6 hr ago |
| ECNL standings | API | 20 teams | 30 min ago |
| ECNL schedule and results | API | whole division, one call per team | 30 min ago |
| TeamSnap schedule and roster | API | 164 events | 8 min ago |
| GroupMe team chat | API | 50 messages saved | 8 min ago |
| Veo game film analytics | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, aliases.json | 3 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 23 · 10:15 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 0 requests, 280 cache hits, 0 failures | 6 hr ago |
| ECNL standings | API | 20 teams | 21 min ago |
| ECNL schedule and results | API | whole division, one call per team | 21 min ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| Veo game film analytics | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, aliases.json | 3 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 23 · 10:06 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 0 requests, 280 cache hits, 0 failures | 6 hr ago |
| ECNL standings | API | 20 teams | 12 min ago |
| ECNL schedule and results | API | whole division, one call per team | 12 min ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| Veo game film analytics | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, aliases.json | 3 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 23 · 9:58 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 0 requests, 280 cache hits, 0 failures | 5 hr ago |
| ECNL standings | API | 20 teams | 4 min ago |
| ECNL schedule and results | API | whole division, one call per team | 4 min ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| Veo game film analytics | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, aliases.json | 3 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 23 · 9:54 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 7 requests, 273 cache hits, 0 failures | 5 hr ago |
| ECNL standings | API | 20 teams | 0 min ago |
| ECNL schedule and results | API | whole division, one call per team | 0 min ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| Veo game film analytics | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, aliases.json | 3 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 23 · 9:30 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 13 requests, 259 cache hits, 0 failures | 5 hr ago |
| ECNL standings | API | 20 teams | 12 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 12 hr ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| Veo game film analytics | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, aliases.json | 3 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 23 · 9:21 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 0 requests, 259 cache hits, 0 failures | 5 hr ago |
| ECNL standings | API | 20 teams | 12 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 12 hr ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| Veo game film analytics | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, aliases.json | 3 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 23 · 9:18 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 0 requests, 259 cache hits, 0 failures | 5 hr ago |
| ECNL standings | API | 20 teams | 12 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 12 hr ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| Veo game film analytics | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, aliases.json | 3 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 23 · 9:11 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 82 requests, 248 cache hits, 0 failures | 5 hr ago |
| ECNL standings | API | 20 teams | 12 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 12 hr ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| Veo game film analytics | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, aliases.json | 3 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 23 · 9:02 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 2 requests, 243 cache hits, 0 failures | 5 hr ago |
| ECNL standings | API | 20 teams | 12 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 12 hr ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| Veo game film analytics | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, aliases.json | 3 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 23 · 8:28 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 2 requests, 139 cache hits, 0 failures | 4 hr ago |
| ECNL standings | API | 20 teams | 11 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 11 hr ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| Veo game film analytics | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, aliases.json | 3 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 23 · 8:00 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 6 requests, 135 cache hits, 0 failures | 4 hr ago |
| ECNL standings | API | 20 teams | 11 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 11 hr ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| Veo game film analytics | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, aliases.json | 3 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 23 · 6:31 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 87 requests, 54 cache hits, 0 failures | 2 hr ago |
| ECNL standings | API | 20 teams | 9 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 9 hr ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| Veo game film analytics | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, aliases.json | 3 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 23 · 4:00 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 1 requests, 53 cache hits, 0 failures | 0 min ago |
| ECNL standings | API | 20 teams | 7 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 7 hr ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| Veo game film analytics | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, aliases.json | 3 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 23 · 3:30 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 24 hr ago |
| ECNL standings | API | 20 teams | 6 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 6 hr ago |
| TeamSnap schedule and roster | API | 164 events | 6 hr ago |
| GroupMe team chat | API | 50 messages saved | 6 hr ago |
| Veo game film analytics | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, aliases.json | 3 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 23 · 3:29 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 24 hr ago |
| ECNL standings | API | 20 teams | 6 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 6 hr ago |
| TeamSnap schedule and roster | API | 164 events | 6 hr ago |
| GroupMe team chat | API | 50 messages saved | 6 hr ago |
| Veo game film analytics | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, aliases.json | 3 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 23 · 3:28 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 24 hr ago |
| ECNL standings | API | 20 teams | 6 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 6 hr ago |
| TeamSnap schedule and roster | API | 164 events | 6 hr ago |
| GroupMe team chat | API | 50 messages saved | 6 hr ago |
| Veo game film analytics | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, aliases.json | 3 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 23 · 3:26 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 24 hr ago |
| ECNL standings | API | 20 teams | 6 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 6 hr ago |
| TeamSnap schedule and roster | API | 164 events | 6 hr ago |
| GroupMe team chat | API | 50 messages saved | 6 hr ago |
| Veo game film analytics | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, aliases.json | 3 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 23 · 3:24 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 24 hr ago |
| ECNL standings | API | 20 teams | 6 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 6 hr ago |
| TeamSnap schedule and roster | API | 164 events | 6 hr ago |
| GroupMe team chat | API | 50 messages saved | 6 hr ago |
| Veo game film analytics | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, aliases.json | 3 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 23 · 3:23 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 24 hr ago |
| ECNL standings | API | 20 teams | 6 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 6 hr ago |
| TeamSnap schedule and roster | API | 164 events | 6 hr ago |
| GroupMe team chat | API | 50 messages saved | 6 hr ago |
| Veo game film analytics | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, aliases.json | 3 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 23 · 3:23 PM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 24 hr ago |
| ECNL standings | API | 20 teams | 6 hr ago |
| ECNL schedule and results | API | whole division, one call per team | 6 hr ago |
| TeamSnap schedule and roster | API | 164 events | 6 hr ago |
| GroupMe team chat | API | 50 messages saved | 6 hr ago |
| Veo game film analytics | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, aliases.json | 3 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 5 live over the API—Sep 23 · 9:02 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 0 requests, 54 cache hits, 0 failures | 17 hr ago |
| ECNL standings | API | 20 teams | 2 min ago |
| ECNL schedule and results | API | whole division, one call per team | 2 min ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| Veo game film analytics | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, aliases.json | 2 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 4 live over the API—Sep 23 · 9:00 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 0 requests, 54 cache hits, 0 failures | 17 hr ago |
| ECNL standings | API | 20 game rows on file | 0 min ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| ECNL schedule and results | Manual (Claude in Chrome) | not pulled by a normal run | 0 min ago |
| Veo game film analytics | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, aliases.json | 2 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 4 live over the API—Sep 23 · 8:46 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 0 requests, 54 cache hits, 0 failures | 17 hr ago |
| ECNL standings | API | 20 game rows on file | 1 days ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| ECNL schedule and results | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Veo game film analytics | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, aliases.json | 2 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 4 live over the API—Sep 23 · 8:44 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 17 hr ago |
| ECNL standings | API | 20 game rows on file | 1 days ago |
| TeamSnap schedule and roster | API | 164 events | 46 min ago |
| GroupMe team chat | API | 50 messages saved | 46 min ago |
| ECNL schedule and results | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Veo game film analytics | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, aliases.json | 2 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 4 live over the API—Sep 23 · 7:58 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 0 requests, 54 cache hits, 0 failures | 16 hr ago |
| ECNL standings | API | 20 game rows on file | 1 days ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| ECNL schedule and results | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Veo game film analytics | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, aliases.json | 2 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 4 live over the API—Sep 23 · 7:56 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 16 hr ago |
| ECNL standings | API | 20 game rows on file | 1 days ago |
| TeamSnap schedule and roster | API | 164 events | 18 min ago |
| GroupMe team chat | API | 50 messages saved | 18 min ago |
| ECNL schedule and results | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Veo game film analytics | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, aliases.json | 2 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 4 live over the API—Sep 23 · 7:43 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 16 hr ago |
| ECNL standings | API | 20 game rows on file | 1 days ago |
| TeamSnap schedule and roster | API | 164 events | 5 min ago |
| GroupMe team chat | API | 50 messages saved | 5 min ago |
| ECNL schedule and results | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Veo game film analytics | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, aliases.json | 2 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 4 live over the API—Sep 23 · 7:39 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 16 hr ago |
| ECNL standings | API | 20 game rows on file | 1 days ago |
| TeamSnap schedule and roster | API | 164 events | 2 min ago |
| GroupMe team chat | API | 50 messages saved | 2 min ago |
| ECNL schedule and results | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Veo game film analytics | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, aliases.json | 2 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 4 live over the API—Sep 23 · 7:38 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 16 hr ago |
| ECNL standings | API | 20 game rows on file | 1 days ago |
| TeamSnap schedule and roster | API | 164 events | 1 min ago |
| GroupMe team chat | API | 50 messages saved | 1 min ago |
| ECNL schedule and results | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Veo game film analytics | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, aliases.json | 2 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 4 live over the API—Sep 23 · 7:37 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | 0 requests, 54 cache hits, 0 failures | 16 hr ago |
| ECNL standings | API | 20 game rows on file | 1 days ago |
| TeamSnap schedule and roster | API | 164 events | 0 min ago |
| GroupMe team chat | API | 50 messages saved | 0 min ago |
| ECNL schedule and results | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Veo game film analytics | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, aliases.json | 2 days ago |
No practice or game times moved in this refresh.
↻Data refresh7 sources checked · 4 live over the API—Sep 23 · 7:36 AM
| Source | Type | This run | Newest data |
|---|---|---|---|
| GotSport rankings | API | cache only (offline) | 16 hr ago |
| ECNL standings | API | 20 game rows on file | 1 days ago |
| TeamSnap schedule and roster | API | 164 events | 15 min ago |
| GroupMe team chat | API | 50 messages saved | 14 min ago |
| ECNL schedule and results | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Veo game film analytics | Manual (Claude in Chrome) | not pulled by a normal run | 2 days ago |
| Hand-edited corrections | Manual (files) | manual_games.csv, pk_overrides.csv, game_stats.csv, aliases.json | 2 days ago |
No practice or game times moved in this refresh.
How to read a call
| Should win | We have a 65% or better chance to win |
| Lean win | 45% to 65% chance to win |
| Toss-up | Neither team has a clear edge |
| Underdog | They have a 45% to 65% chance to win |
| Tough | They have a 65% or better chance to win |
| TBD | Not enough results yet for a fair call |
A win chance of 70% means that in 10 games like this one we would expect to win about 7. Upsets are part of the game.
94% is the top. The model never goes higher: a draw and a loss each keep at least 3%. Two games at 94% can still differ; the expected goal margin in Preview shows by how much.
Tip: tap any win %, trend arrow or "not enough results yet" for a short explanation.
How the predictions work
Current model: version 1.6. This page explains it in plain English; the version history at the bottom lists every change.
- Collect the games. Every finished game since Aug 1 from the Girls Classic League, ECNL RL North Texas and the tournaments and other events we can see for the teams we meet: 557 games and 229 teams so far. Older games are left out on purpose: rosters change every season, and when we tested adding spring games the odds got worse.
- Give every team a Power Ranking. A team's rating is how many goals per game it is better (+) or worse (−) than an average team. It is worked out from all games at once, so beating a strong team by 2 counts for more than beating a weak team by 2. One blowout counts as at most 5 goals, and teams with few games are pulled toward average so a single lucky result cannot make anyone look great.
- Compare the two teams. Our rating minus theirs is the expected goal margin. Youth games swing a lot, so the margin is turned into a chance of a win, a draw and a loss, assuming results land about 1.3 goals either side of the expected margin. No result is ever shown below 3%. Checked game by game in time order, real results have landed about 2.1 goals away, so the odds run a little sure: version 1.7, tested beside the live model, uses the real figure.
- Say it in words. The label comes from those chances (table below).
- Only call it when there is enough to go on. A call needs at least 2 games for both teams and a chain of results linking them. Otherwise the game shows TBD. In our tests, calls that met this rule were right about 4 times in 5 and the rest were close to coin flips.
- Keep score. Each call is saved before kickoff and never changed. When the game is played it is graded, and every change to the method is written in the version history.
How accurate has it been?
Live = the call was saved before the game and graded after it. Backtest = what the model would have said using only the games played before. Whole-league check = every game since Aug 1, each predicted only from the games played before it, the way a real call is made (308 games had too little before them to call).
Brier grades the percentages, not just the pick: 0 is perfect and 0.67 is what always saying 33/33/33 would score. Lower is better.
Are the odds honest? Said vs what happened
| Favourite's win chance | Games | Average said | Won | Drew |
|---|---|---|---|---|
| under 60% | 80 | 47% | 48% | 15% |
| 60%-70% | 38 | 65% | 58% | 21% |
| 70%-80% | 26 | 75% | 73% | 12% |
| 80%-90% | 39 | 85% | 69% | 15% |
| 90%+ | 66 | 94% | 88% | 6% |
Every game read from the favourite's side. If "Average said" and "Won" are close, the odds are honest. The highest the model ever says is about 94%: it always leaves at least 3% for a draw and 3% for a loss. Where it says 60%-70% and 80%-90% and 90%+, it happened a bit less often than promised, so those odds are a little too sure.
Big misses (favourite said 80% or more and did not win): 20. Each is treated as a mistake in our data or assumptions until every check says otherwise: 20 explained, 0 accepted as genuine upsets, 0 still being checked. Most common causes: the model assumed results scatter less than they do (20), too few earlier games behind a rating (12), a rating that came from one tournament group only (10).
Every big miss and why
| Date | Game | Favourite said | Favourite | Why we were wrong |
|---|---|---|---|---|
| Sep 30 | FC Forney 13/14G 1-1 FC Dallas Youth White G2013/14 | 90% | drew | explained: the model assumed results scatter less than they do called at 1.34 goals against real misses of about 2.1 (the spread check added 2026-09-30 flags it); no other check flags anything: one record, no identity, age or thin-data issue |
| Sep 27 | ToKa FC - 2013/2014G Red 0-2 FC Dallas Youth Black G2013/14 | 84% | lost | explained: the model assumed results scatter less than they do called at 1.33 goals against real misses of about 2.1; 1.7 said 72%, under the 80% line. Two low-rated sides (ToKa 2-0-5 before it, FCD Black 0-0-7 but its last three losses by 1-2 goals after early 0-6s to ECNL sides); one record, no identity or age issue |
| Sep 27 | FCD-ETX U13 Sabillon - LD 1-1 Dallas Cosmos 14G White | 86% | drew | explained: the model assumed results scatter less than they do, wins over teams we barely know, a rating built on blowouts over weak teams called at 1.33 goals against real misses of about 2.1; 1.7 said 74%. The favourite's rating rested on a 10-0 and a 7-0 and on 4 of 7 games against teams with 2 or fewer games (Labor Day Cup one-game sides) |
| Sep 26 | SOLAR BLUE ECNL RL NTX G2014/15 1-1 NTX Celtic 14G Bravo South | 94% | drew | explained: the model assumed results scatter less than they do called at 1.32 goals against real misses of about 2.1 (the floor-only spread check let it by; fixed 2026-09-30); 1.7 said 89%, and a draw at 89% comes about 1 in 10. Celtic Bravo drew two ECNL sides 2-2 around it (9/19, 9/26), so its rating lagged. Identity checked: Solar Blue's id is a 2014 group playing up (ECNL roster 2014, entry names 2014/15), the link stands; no record or archive problem |
| Sep 20 | Solar South 14G Dickerson 0-0 Sting Pre-ECNL G2014/15 Girau | 92% | drew | explained: the model assumed results scatter less than they do, a rating built on blowouts over weak teams favourite's rating rests on 10-0, 8-1, 6-1 and 6-0 over teams with 1-4 games; called with a 1.3-goal spread when calls miss by 2.1; 1.7 would have said 82%, not 92% |
| Sep 20 | FC Corinthians 14G 5-1 Meca United 14G Black | 82% | lost | explained: the model assumed results scatter less than they do, too few earlier games behind a rating, GotSport knows these teams better than our games do the favourite had 2 earlier games and no GotSport ranking; the underdog is TXN #46 with 32 GotSport games but only 4 of ours, 3 of them heavy losses in one tournament; 1.7: 71% |
| Sep 20 | Red River United FC - U13 Girls 3-1 Panthers 13/14G | 87% | lost | explained: the model assumed results scatter less than they do, too few earlier games behind a rating, a rating built on blowouts over weak teams the underdog had only 2 earlier games (1-0, 3-3), so it was barely known; the favourite's rating leaned on four wins by 5+ over weak teams; 1.7: 76% |
| Sep 13 | Dallas Surf U13G Central 1-1 Dallas Cosmos 14G White | 87% | drew | explained: the model assumed results scatter less than they do, GotSport knows these teams better than our games do two weak teams (favourite 1-3 in its 4 games, underdog TXN #94); a 2-goal expected margin between them is not 87%; the favourite has no GotSport ranking to check against; 1.7: 75% |
| Sep 12 | Sting Black ECNL RL NTX G2013/14 2-1 SOLAR BLUE ECNL RL NTX G2014/15 | 94% | lost | explained: the model assumed results scatter less than they do, too few earlier games behind a rating, a rating that came from one tournament group only, the two teams are different birth years the underdog's 3 earlier games were all from one tournament; it is the older 2013/14 group against a 2014/15 team; 1.7: 85% |
| Sep 12 | Solar N1 G2014 Byars (TX) 0-0 Dallas Surf N1 G2013/14 North (TX) | 83% | drew | explained: the model assumed results scatter less than they do, too few earlier games behind a rating, a rating that came from one tournament group only, GotSport knows these teams better than our games do the underdog's 3 earlier games were all from one tournament and GotSport ranks it higher (#33 vs #51); 1.7: 71% |
| Sep 12 | FWFC 13/14G Mittendorf 3-0 Atletico Dallas Youth 15G Welge | 81% | lost | explained: the model assumed results scatter less than they do, too few earlier games behind a rating, a rating that came from one tournament group only, GotSport knows these teams better than our games do the favourite had 2 earlier games, both at one tournament, and no GotSport ranking; the underdog is TXN #78; 1.7: 70% |
| Sep 12 | Solar South 14G Dickerson 1-1 Waco United 2014G Andrade - LD | 89% | drew | explained: the model assumed results scatter less than they do, a rating built on blowouts over weak teams same favourite as 27015998: rating built on blowouts over teams with 1-4 games; the underdog is TXN #40; 1.7: 77% |
| Sep 12 | Dallas Surf U13G Blue 0-0 Solar 14G Carrillo.E | 89% | drew | explained: the model assumed results scatter less than they do no other check flags; the two had already drawn 1-1 three weeks earlier; with an honest spread a 2.2-goal expected margin is 78%, and a draw between them is not remarkable. Nearest to a genuine result of the 16 |
| Sep 6 | ULETE FC 13-14G Carlo 1-1 Steel United TX 13/14G DPL | 88% | drew | explained: the model assumed results scatter less than they do, too few earlier games behind a rating, a rating that came from one tournament group only, wins over teams we barely know the underdog had 2 earlier games, both at this tournament; 5 of the favourite's 7 games were against teams with 2 or fewer games; 1.7: 75% |
| Aug 29 | Evolution 14G McGregor 2-4 Dallas Surf U12/U13G North | 81% | lost | explained: the model assumed results scatter less than they do, too few earlier games behind a rating, a rating that came from one tournament group only both teams had 3 earlier games, all at one tournament; 1.7: 68% |
| Aug 29 | Sting G2013/14 Wong 0-1 Dallas Surf U13G Blue | 94% | lost | explained: the model assumed results scatter less than they do, too few earlier games behind a rating, a rating that came from one tournament group only the underdog's 3 games were all at one tournament (two heavy losses, then a 1-1 with a 94% favourite); the favourite's 4 all at another; 1.7: 90% |
| Aug 23 | Solar 14G Carrillo.E 1-1 Dallas Surf U13G Blue | 94% | drew | explained: the model assumed results scatter less than they do, too few earlier games behind a rating, a rating that came from one tournament group only, wins over teams we barely know an expected margin of 5 goals from 2 games each on the same day (8-2 and 4-1 against teams with 2 games); even 1.7 says 94%: thin data is the cause here, not the spread |
| Aug 16 | Sting Black N1 G2013/14 McNeal (TX) 0-2 SOLAR PRE-ECNL G2014/15 KLASSEN- 6 | 80% | lost | explained: the model assumed results scatter less than they do, too few earlier games behind a rating, a rating that came from one tournament group only, wins over teams we barely know, the two teams are different birth years second day of the season: both teams had 2 games, in the same tournament group; the winner is the younger 2014/15 group; 1.7: 71% |
| Aug 16 | FC Dallas Youth N1 G2013/14 Avant (TX) 0-2 Revolution Premier SC N1 G2014/2013Gold (TX) | 94% | lost | explained: the model assumed results scatter less than they do, too few earlier games behind a rating, a rating that came from one tournament group only, wins over teams we barely know, a rating built on blowouts over weak teams, GotSport knows these teams better than our games do the underdog had 2 games (two 0-0s) and GotSport ranks it TXN #16 while the favourite has no ranking; the favourite's rating leaned on two 5-0 wins; 1.7: 89% |
| Aug 16 | Dallas Cosmos N1 G2013/14 Navy (TX) 2-3 SOLAR PRE-ECNL G2014/15 KLASSEN- 6 | 91% | lost | explained: the model assumed results scatter less than they do, too few earlier games behind a rating, a rating that came from one tournament group only, wins over teams we barely know, the two teams are different birth years second day of the season, 2 games each in one group; the winner is the younger 2014/15 group and beat another 2013/14 team the same day; 1.7: 82% |
Results by model version
| Model version | Games graded | Right | Brier |
|---|---|---|---|
| v1.2 | 14 | 71% | 0.388 |
| v1.2+tier | 17 | 71% | 0.401 |
| v1.3 | 17 | 71% | 0.399 |
| v1.3+tier | 17 | 71% | 0.402 |
| v1.4 | 18 | 72% | 0.375 |
| v1.4+tier | 17 | 71% | 0.381 |
| v1.5 | 23 | 70% | 0.447 |
| v1.5+tier | 23 | 57% | 0.465 |
| v1.6 | 44 | 64% | 0.508 |
| v1.6+tier | 44 | 64% | 0.503 |
| v1.7 | 44 | 64% | 0.486 |
| vlegacy | 1 | 100% | 0.005 |
The permanent history file has 222 saved runs since 9/20/26, holding a call for 563 different games and the model version that made each one, so versions can be compared fairly.
What it cannot do
- It only knows scores. Lineups, injuries, travel, weather and who is playing up are invisible to it.
- Early in the season some teams have only two or three games, so their ratings can move a lot week to week. The highest win chance we show is 94%.
- It does not yet know that ECNL RL teams are stronger on average than Classic League teams. We tested it and it helps a little, but not by enough to be sure, so it stays off until the evidence is clear.
- Youth soccer is unpredictable. A 70% call still misses 3 times in 10, and that is the model working as intended.
Where the data comes from
- Girls Classic League and tournaments: GotSport, checked every Thursday at 6 PM and whenever asked.
- ECNL RL North Texas: AthleteOne schedule and results, updated after each round of games.
- How current is this page? The "Refreshed" time beside Upcoming games on the Matchup tab is when new data last arrived.
- Same team in two leagues: GotSport team ids are the background key that links a team's Classic and ECNL games into one rating. Names on each game stay as that league spells them.
Games by leagueGCL 338 · ECNL 150 · TOURNAMENT 358
| League | Games | Played | Teams |
|---|---|---|---|
| GCLGirls Classic League | 338 | 119 | 57 |
| ECNLECNL RL North Texas | 150 | 28 | 20 |
| TOURNAMENTTournaments | 358 | 338 | 200 |
| LEAGUEOther leagues | 345 | 72 | 95 |
Classic League flight: 18 teams, all 153 of 153 games between them loaded (49 played). Matches GotSport's own table.
Games since Aug 1. Each game belongs to one league by the competition it was played in; every finished game here feeds the ratings.
Version historynow v1.6
Surer about which team is which (2026-09-28), predictions unchanged
- A club's team can appear under different names in the ECNL, the Classic League and tournaments, and one coaching
staff often runs several teams. Every link between a team's records is now checked against the evidence behind it:
kickoff times (one team cannot play two games at once), the head coach, the birth years on the league roster, the
Classic League's own registrations, and the shirt numbers on our game film.
- Tested against every past mix-up and hundreds of deliberately wrong links: none gets through. No odds changed.
One grading rule: a prediction counts only if it was made before kickoff (2026-09-26), predictions unchanged
- How predictions are graded, not how they are made. The dashboard's prediction log used to grade the last call saved
before the score appeared, so a refresh after the final whistle (score not yet posted) could be graded: the 9/20
game's only calls were made that night, after an 8:00 am kickoff. The permanent record refused same-day GotSport
calls, believing GotSport kickoff times unreliable; they are UTC, and converted to Dallas time they match TeamSnap
on every game since August.
- Now both use one rule: the last call saved before the real kickoff (or before game day when there is no time). No
new calls are saved once a game has kicked off. A game with no call before kickoff is graded by the walk-forward
backtest instead, labelled as such: the 9/20 game moves there (94%, a win, so still called).
- The Matchup refresh note now says when the graded call was made ("Thu 4:01 PM, 47 hours before kickoff").
- Scores in the permanent record are never rewritten; the rule applies to games graded from now on.
Tests: test_grading.
ECNL scores the same evening (2026-09-26), predictions unchanged
- A refresh the morning of a game day kept the ECNL schedule for a day, so an evening refresh missed that day's ECNL
scores. Now a game that finished after the saved copy and still has no score makes the copy stale, as GotSport's
cache already did. Tests: test_ecnl_due.
This week froze on the iPhone; Details slides up from its card (2026-09-25), predictions unchanged
- Billy, on his iPhone: every tap of This week slid a big empty box up the screen and the buttons stopped lining up
(also after Change log or a game's details). Tapping a tab scrolled past the header even on This week, which is too
short for that, and did it with a smooth scroll. This week now always shows from the top, and every scroll after a
tab change is instant. The week page's footer is hidden by a plain marker on the page instead of a :has() rule
iOS did not always re-check.
- The Matchup card's button is now Details. On a phone the card rises to the top and shrinks to one line
("vs <team>" and Close) while the details open beneath it; the bottom bar stays visible and usable throughout.
Desktop keeps the side panel.
- Back now closes the More menu, and the family page's Schedule/Results tabs work with Back like the dashboard's.
- Matchup: the refresh time is a small pill on the Upcoming games line, and the gap under the header is halved.
Tests: test_display.BackButton.
Back after Preview left the dashboard (2026-09-25), predictions unchanged
- Billy: on the phone, Preview on the This week card and then Back showed nothing. Every tab change replaced the
history entry instead of adding one, so Back skipped This week and left the page (inside claude.ai's frame, a blank
frame or the previous site). Tab changes now add an entry holding the tab and scroll position, an open game preview
adds one more, and Back and Forward restore both (report.JS). Checked at 375 px and 1024 px locally and live.
docs/TESTING.mdis the new testing plan: automated tests, then a phone and a desktop walk-through of both pages,
then the same checks on the live links after publishing. Test: test_display.BackButton.
Veo player numbers were mixing in the opponent's (2026-09-25), predictions unchanged
- Veo's physical metrics list both teams with no team label saved, and
veo.playerskept the LAST row per jersey, so
whenever the opponent wore one of our numbers their minutes, distance, top speed and sprints replaced ours (every
one of the 17 saved games has a clash; #22 in 10). It hit the Veo tab's player cards, veo_players.csv,
veo_player_games.csv and who counts as having played (5+ minutes).
veo.split_physicalnow reads only our rows: a saved team field when a file has one, else the first ascending-jersey
block (checked on all 17 files: one drop each, our keeper #23 and our event jerseys in the first block). 173 of 252
player-game rows change; e.g. #23's typical top speed 18.1 -> 14.7 km/h, #5's distance 69 -> 87 km.
veo_extract.jsnow saves ateamon each physical row, taken from whichever field holds Veo's own 'Own'/'Opponent'
labels, with Veo's other plain fields under veo; veoPhysicalShape(slug) shows the raw response. Veo's field name
is still to be confirmed at the next login (DATA_SOURCES.md).
This week tab, Matchup tab, compact phone header (2026-09-25), predictions unchanged
- Billy: the first tab is now This week: Monday to Thursday every game and practice this week, from Friday the
weekend's games; each drops off the day after, and the viewer's own date decides (no daily refresh needed). Games
have Preview ›, which opens the new Matchup tab (the game cards with the odds) at that game.
- Bottom bar: This week, Matchup, Rankings, History, More; Snap and Analytics moved into More.
- Phones get the season box as one row of badges (the full box stays on desktop). The preview's back button says
"‹ Back"; a game with no kickoff time says "Time TBA".
One uniform look everywhere; "Details ›" on Next up (2026-09-24), predictions unchanged
- Billy: on phones the Upcoming tab's Next up had "Snap ›" floating mid-right, squeezing the text. It now reads
"Details ›" in the bottom-right corner, the text uses the full width, and a game shows its uniform.
- Every uniform on both pages (upcoming cards, the Snap tab's Next up and schedule rows, the game preview, the
change log, the family page's Next up and schedule) is report.uniform_html: the shirt in the uniform's own colour,
then "Navy uniform". On the dark game-day card the shirt's outline is white so navy still shows.
- Both pages now carry
[hidden]{display:none!important}themselves. They had relied on the publishing host adding
it: opened any other way, all eight Next up candidates showed at once.
Previews lose "▲ N pts vs last run" (2026-09-24), predictions unchanged
Billy: trend markers confuse people; readdress after a weekend of games with a stable model. The pill went on
2026-09-23; this was the same idea in the preview. The folded "Odds history for this game" table stays.
Read-with-care notes, big misses listed, cleanup of what no longer fit (2026-09-24), predictions unchanged
- Read with care on each preview: the big-miss checks run before the game (
upsets.pregame): a team with under 4
games, all its games from one event, most games against teams we have barely seen, a record that is mostly wins by
5+, GotSport ranking the underdog higher, different birth years. 8 of our 24 upcoming games carry one (run #129).
- Every big miss and why, listed inside the dashboard's "Are the odds honest?" section (Billy: no tab of its own).
- Watch list: tournaments only (Billy,
watch.tournaments_only); it was already North Texas only. gameday.pykeeps a record of what it posted (data/gameday_sent.json); a secondsendfor the same game is
refused unless --again, and a post GroupMe did not accept is not recorded.
- Veo is asked for only when due:
veo.duefinds games of ours that ended 12+ hours ago (TeamSnap kickoff) in the
last week with no Veo record; the source report's Veo line says "no pull due" or "DUE" (Billy's rule, CLAUDE.md,
README, DATA_SOURCES).
- Cleanup: the old experiments (
accuracy_levers.py,league_tier_test.py) scored leave-one-out and built a dataset
without the top-100 games; both now use experiments/common.py (the live build, scored in time order). Run that way,
two of their variants pass 2 SE (HANDOFF): ridge 0.1 +0.024 +/- 0.011, tier prior +0.018 +/- 0.007. The Model tab
and the preview's odds step said real results land about 1.3 goals from the expected margin: that is what 1.6
assumes, and they now also say what really happens (about 2.1). The readiness rule's quoted accuracy (77% vs 53%)
was leave-one-out; in time order it is 66% vs 57% (53% with one game of history). The 6-game leaderboard line was
reasoned as +-1 goal at 6 games; with the honest spread it is +-1.6, and 6 stays as a practical line. The source
report listed aliases.json (replaced by teams.json). ledger.backtest ("Backtest, our games") had its own copy
of the in-time call and now uses model.in_time (output checked identical).
- Tests: 100 pass; the pregame side, tournaments-only, the send record and the Veo rule were each broken on purpose
once and caught.
Page-sized logo (2026-09-24), predictions unchanged
- Both pages embedded GotSport's 512 px, ~115 KB club logo, shown at 104 px at most; it was most of the family page
(211 KB). run.page_logo makes a 208 px copy (~27 KB, same look on phone screens) with Windows' own imaging,
remade whenever a new logo is fetched, falling back to the original. Family page 211 -> 97 KB, dashboard 1028 ->
911 KB.
- Settled with Billy: the big-miss line stays at a favourite of 80%+. At 75%+ the model already promises a miss
about 1 in 4, so most would be normal; under 1.7, 80%+ misses are about 1 call in 8 (6 of 51 in time order).
Revisit once 1.7 has run for a few weeks.
v1.7 (baseline) spread measured from earlier misses; accuracy checked in time order; big-miss review (2026-09-23)
Billy: "if we are saying 94% is a must win and they lose then there is something wrong in the data and assumptions
should be our first reaction ... assume that we messed up and try and find out why and only after we tried
everything to prove we are wrong then we take it as truth." (CLAUDE.md, "A big miss is our mistake until proven
otherwise".)
- The accuracy check was wrong. The whole-league check predicted each game from all the others, including later
games. Every one of its five 91%+ "misses" was a call the model could never have made: at least one team did not
yet have 2 earlier games. model.validate now calls every game in time order (model.in_time, only games played
before it), the way a real call is made, and bins it by the favourite's win chance. Honestly measured, 1.6 is more
over-confident than the old table showed: said 84% won 71% (34 games), said 94% won 88% (52). Brier 0.477 on 204
called games (the old leave-one-out figure was 0.431 on 363).
- The cause: the spread was measured on the games just fitted. With a few games per team the fit is nearly
exact, so the measured spread sat at its 1.3-goal floor in 203 of 204 calls, while real results missed the expected
margin by 2.15 goals. That turns an honest 88% into a displayed 94%.
- v1.7 = 1.6 with the spread measured from how far earlier calls missed (
model.use_spread, start 2.0 until 30
calls exist, never below the fitted spread). Ratings and picks are unchanged; only the odds move. In time order on
the same 204 games: Brier 0.477 -> 0.460 (+0.017 +/- 0.010, 1.7 standard errors, short of the 2-SE bar), and the
table lines up: said 86% won 86%, said 93% won 94%. A fixed floor of 1.8-2.0 passes 2 SE but that number was chosen
after seeing the results. 1.7 runs as a baseline beside 1.6 (config model.baselines) and is promoted only if
it stays ahead on new games; our Nido game moves 89% -> 78%, the clear mismatches stay at 91-94%.
- Big-miss review (
upsets.py, decisions inupsets.json, in git): every in-time miss (favourite 80%+ did not
win) gets checks for the spread, duplicate or cross-source records, archived teams, birth years, thin data, a
closed tournament group, wins over barely-known teams, blowouts, and GotSport disagreeing. real (a genuine upset)
is refused while any check still flags something not dismissed by name. A decision whose flags change on a later
refresh is logged LOOK AGAIN. First pass, all 16 explained: the spread in 16, thin data in 12, a closed tournament
group in 11, GotSport knowing better in 5, blowouts in 4, birth years in 3; no data errors found (duplicate-looking
games were a group game plus a final). Thin data is the next thing to fix: even 1.7 says 94% on a 5-goal margin
built from 2 games each on one day. Summary line in the dashboard's odds table.
- Tested and not taken (in time order,
experiments/upset_hypotheses.py): leaving out games against teams with few
games (worse or noise), more smoothing (worse), margin cap 3-4 (worse). Requiring 4+ games per team cut 91%+ misses
from 5 of 50 to 1 of 29 but drops about 45% of calls. Starting each team at its GotSport strength scored +0.013 +/-
0.005, but today's GotSport points already contain these games; rankings are saved every run (rank_history), so
it can be tested fairly once there are a few weeks of them.
Leaderboards need 6 games; Next up stays right between refreshes (2026-09-23), predictions unchanged
Billy spotted both on the live page.
- Leaderboards (season box: Power Ranking, Scoring, Goals Against; the Power Ranking tab; "#N of M" in previews)
now rank only teams with 6+ games this season (rating.rank_min_games). With 3, a team seen three times led
Goals Against at 0.00 while rated below average, and a 2012/13 team led Scoring at 8.33. Why 6: a rating's 95%
margin is about 1.96 x 1.3 / sqrt(games + 0.5): +-1.4 goals at 3 games, +-1.0 at 6. Every team still counts in the
ratings and the odds; only who is *ranked* changed. Now: Power #3 of 70 (#1 Solar SC Bates, 6 games), Scoring #10,
Goals Against #1.
- Next up chose the next event dated today or later, so a practice that had ended by the 9 PM refresh still
showed; and a published page is a snapshot, so it went stale after every event until the next publish. Now the
build skips events already over (TeamSnap end times), and each page carries the next 8 events with their end
times; a few lines of script show the first one not over when the page is opened, and finished rows in the
schedule lists hide themselves (both pages). The family page's "Today/Tomorrow" became the weekday for the same
reason. Checked by replaying the script at Saturday 5 PM, Sunday and Tuesday.
Identity decisions for all 20 ECNL teams, re-tested every refresh (2026-09-23), predictions: data correction
Billy: "make your best choice ... save it so that every time we refresh data you run a series of tests to validate if
your assumptions and links are correct or if there is new data that suggests a change ... track everything even things
we validated are wrong." IDENTITY.md has the full logic.
- decided: DKSC, DKSC White, FC Dallas Red/Blue/White, Solar White, Dallas Texans Red (confirming the exact-name links
the model already used: coaches on both); Solar Red -> 300809 (same name, coach); Sting Royal Bold -> 754939
(entered at Labor Day as "ECNL RL NTX G2014/15 Bold", both coaches), and not 754938, which is a second squad: its
kickoffs clash with Bold's on 9/26 and 10/31; Alpha Forms -> 202744 (both coaches, no clash; its ECNL squad is a
2014/15 group playing up); Kernow Storm and Fever United ECNL only.
- corrected reasoning, kept in each team's history: birth year comes from the names a team is entered under, never a
division label; shared coaches do not prove one squad; only close kickoffs prove two.
identity_checks.pyruns on every refresh and intests/test_live_data.py: not archived, one squad (no kickoffs
within 120 minutes across the team's ids), coaches, birth year, active; each rule-out re-tested against its basis;
ECNL-only decisions re-tested against every candidate. First run: 76 checks, all pass.
- coaches are compared by one-way fingerprints (ecnl.coach_key); no names are stored.
- effect: 217 -> 214 rated teams (split ECNL/GotSport identities joined); one upcoming prediction moved.
v1.6 Top 100 TXN; our own team identity; scope from config; tests (2026-09-23)
Billy: "the top 50 restriction was to limit you from going crazy. I am good to raise that to 100."
- v1.6 learns from the games of the top 100 TXN teams (490 rated games, 217 teams; 1.5: 356 / 175; 1.4: 232 / 108).
Leave-one-out on the same games: all three can score (145): Brier 1.4 0.3391, 1.5 0.3294, 1.6 0.3286; 1.5 vs 1.6
on the 221 both can score: 0.3968 -> 0.3872. Our own 21 games: 1.4 0.1079, 1.5 0.1104, 1.6 0.1109, 20/21 right for
all three: slightly worse since 1.4, and too few games to call. Our upcoming games: one moved 2 points.
- versions are config now:
model.VERSIONSin code defines each version;config.jsonmodel.livepicks the live
one and model.baselines (1.5, 1.4) are rebuilt from their own inputs and logged beside it every run. This replaces
txn_top.enabled/count/use_in_model. Going back is "live": "1.5" (or "1.4").
- our own identity:
teams.json(registry.py, in git) is the one place that decides "same team", with our
permanent keys (T0001...), every system's ids, ids ruled out, and evidence without personal names. It replaces
aliases.json and team_links.json, and the model now uses it: Billy's confirmed Nido link (762185), which only
the key store knew, now applies to every version, and registered teams are linked by AthleteOne id, not by name.
team_keys.py is rebuilt as a view plus the review queue (pending, link, not); keys no longer renumber.
Rank plates come only from our identity: they had been reading unconfirmed guesses (the guessed link had shown Sting
Royal's rank beside Sting Royal Bold). Coach names had been written into the evidence of two decisions today; the
evidence now names roles.
- scope from config, not from disk: every reader gets the exact files it may read. Before, a top-100 *test* fetch
left files that silently linked ECNL Sting Royal Bold to 754939 in 1.5. Registered teams' GotSport rankings are now
fetched (they are often ECNL-only opponents the crawl never reaches), and the Classic League flight table, read by
pattern and never refreshed since 9/20, is now configured and fetched every run.
- one place for GotSport's quirks (
gs_client.matches/ranking_row/details): a null bracket slot in a new record
had crashed the name matcher (fixed earlier today) and would have crashed the scheduled run.
- watchlist (
watchlist.py): new teams outside the top 100 about to play a top-25 team or a top-flight tournament,
with the club's ranked teams as hints (owner only; never in the model).
- tests:
python -m unittest discover -s tests -t ., 53 tests incl. offline checks of the real cache; each guard
was broken on purpose once to see its test fail. One guard turned out to be dead code and was removed.
v1.5 Top 50 TXN teams' games feed the ratings (2026-09-23)
New txn_top.py pulls GotSport's Texas North U13 girls ranking list (the top 50) on every run, plus each listed
team's games and coach names. It needs no login: the rankings page nests every filter under search[...] and only
applies the state filter with filter_by=state beside it; flat parameters were silently ignored, which is why this
had looked blocked. 16 of the 50 were already in our crawl as opponents; 34 are new. Their games are saved as
raw/topmatches_<id>.json, not matches_, so nothing in 1.4 can read them by accident. Scope stays fixed: the top
50 plus teams we play; the top 50's own opponents are not followed; awards (event_results_json, *_award) are
dropped on load.
- what changed in the model: the ratings also learn from those teams' games since the cutoff (352 rated games and
175 teams instead of 232 and 109), and the ECNL name matcher can see their names, so an ECNL team whose GotSport
name matches exactly gets its GotSport games too. The method itself (ratings, margin cap, odds, readiness) is
unchanged; the version is bumped because the games it learns from changed.
- effect, leave-one-out on the 140 games both versions can score: Brier 0.3259 -> 0.3157 (lower is better), 107 ->
110 outcomes called right. Our own 21 scorable games: 20/21 either way (Brier 0.1068 vs 0.1083, noise at n=21).
1.5 can score 34 more games than 1.4. Of our 24 upcoming games, 1.5 has a call on all 24 (1.4: 23; FC Dallas Blue
was TBD) and no call moved more than 6 points.
- how to go back to 1.4, nothing lost either way: set
"use_in_model": falseundertxn_topinconfig.json.
That is a complete revert: the live model is 1.4 again, built from exactly its old inputs (verified against the
untouched pre-top50 code on the same data: identical games, 0 rating differences). While 1.5 is live, 1.4 is
rebuilt and logged beside it every run (model 1.4 in history.db, predictions and ratings), so its record has
no gap and the two are scored on the same games. Code: git tag pre-top50. Data: GotSportData/backups/.
- identity: a GotSport record now proves only that its own id exists. It no longer promotes a guessed ECNL link to
confirmed, and it is never attached to another team by name. The top 50's official names exposed that the old
guess "Sting Brave -> 68699" was wrong: 68699 is Sting Black (coach Zambrano) and Sting Brave is 394962 (coach
Asher); the two were entered under each other's names on the 8/8 weekend.
- Sting, reviewed with Billy across GotSport (16 Sting teams on the TXN U13 list), all three Classic U13 flights and
the 20 ECNL RL teams, matched by head coach: Royal = 617189, Black = 68699, Brave = 394962 (all confirmed in
team_links.json; Black and Brave also as aliases.json name links, so Black's 2 ECNL games and 11 GotSport games
are finally one team). v1.4's alias "Sting Royal Bold -> 754938" is removed: 754938 is a 2014/15 team (GotSport
ranks it U12) playing up in Classic U13, while the ECNL team is U13. The same two coaches are on both, which is why
staff matching got it wrong; birth year decides. Royal Bold is ECNL-only until its GotSport id is known (754939,
Labor Day only, may be a tournament registration). 617190 (Robles' second squad, Classic D1) stays separate: both
played Classic games on the same four days. team_links.json can now rule ids out ("not": [...]), so a rejected
guess is not re-offered.
- archived teams: a team named "... - ARCHIVE" (capitals) is dead: dropped from the top-50 list (which reads on to
keep 50 live teams), from matcher candidates and from team keys. Games it already played still count. GotSport
has no public active flag.
- these identity fixes apply to the 1.4 baseline too (they are data corrections, not method), so going back keeps
them. Run #115 was 1.5 before the fixes; #116 is the first with them. Our upcoming games moved at most 4 points,
the largest being Nido 94% -> 90%, from a new result (Nido beat the #51 team 2-0) that also joined Nido's ECNL
name to its confirmed GotSport team.
Game day notifications (2026-09-23), predictions unchanged
New gameday.py: the one message a parent needs on the morning of a game, built from TeamSnap and the cached
Open-Meteo forecast. Same glyphs and plain-text discipline as the schedule change notifications, and the same rule
that nothing posts without approval (preview is the default, send confirms; -y skips the confirm).
Line order is what a parent does with it, in order, and deliberately differs from a change notification: headline,
date, opponent, jersey, arrival, kickoff, field, weather. Jersey sits above the times because it is the one line
that has to be read before anyone is in the car. The uniform line is labelled ("Jersey Color: Navy") rather than
the bare colour, which had been read as part of the opponent's name. No map link, no odds, no ratings, no RSVP
counts: this is the logistics message, and the dashboard is where the prediction lives. The opponent line always
says "vs" — TeamSnap's home/away only picks the uniform here, and every league game is at the same complex, so
"at" would read as travel that isn't happening.
First one was posted to the team GroupMe on 2026-09-23 for Saturday's ECNL RL game vs Nido Aguila. Not yet
scheduled or wired into run.py: it is sent by hand for now.
Team chat on the shared page (2026-09-21), predictions unchanged
The published copy now has the Team chat too: the team group's recent messages as of the last run, and posting with your name through a GroupMe bot that can only post into that one group (no token in the page). Photos show as a placeholder there (the host blocks outside images).
Tap-to-explain tips; How to read a call first (2026-09-21), predictions unchanged
Tapping a win % (game cards and Preview), a trend arrow or "not enough results yet" pops up a one-line explanation. At 94%: "94% is the max. A draw and a loss always keep at least 3%, because upsets happen", plus that game's expected goal margin. Trend arrows use the tap tip instead of a hover-only title. Model tab opens with How to read a call, which now explains the 94% ceiling and mentions the tips.
Team chat proof of concept (2026-09-21), predictions unchanged
New Team chat in the More sheet (phones) and a Chat tab (desktop): the team's GroupMe group, live, posting as the dashboard owner. groupme.py (token from .env, pick the group), serve.py (local server that relays chat requests; replaces python -m http.server for the preview), chat_now.bat. The published copy leaves the chat out. Bottom bar layout unchanged.
Trend shown as a small pill left of the % (2026-09-21), predictions unchanged
The trend line graph is replaced by a compact ▲/▼ pill directly left of the win % (nothing below the bar): the win-chance change when it moved 5+ points ("▼ 8%"), else the expected-margin change in goals ("▲ +0.6"), green our way / red slipping, hidden when nothing meaningful moved. Hover or long-press shows the before and after.
Trend line only when something moved (2026-09-21), predictions unchanged
The trend line on an upcoming game card now appears only for a real move since our first saved call for that game: the expected margin moved at least 0.25 goals (e.g. "▲ +0.6 goals") or the win chance moved 5+ points (e.g. "▼ −12% win"). Green when moving our way, red when slipping; otherwise nothing is shown. Hover/long-press gives the before and after.
Trend lines, maxed-out look, medal initials, flame circles (2026-09-21), predictions unchanged
Upcoming game cards show a small trend line left of the win %: our expected goal margin for that game across saved runs of the live model (history.db, consecutive repeats collapsed), green when it has moved our way, red when slipping, gray dashed when unchanged. It keeps moving when the % is pinned at the ceiling. At the ceiling (94%: draw and loss each keep at least 3%), the bar glows with a gold star at the end. Header medals show the tournament's initials (BW, LD) instead of "1". Unbeaten flames sit in dark circles, lit or empty, like the Shutout circles.
Season box wording and streak markers (2026-09-21), predictions unchanged
Stat lines shortened so the three columns match: "+3.38 rating", "3.35 goals per", "0.25 allowed"; the #1 team / next best lines drop "/ game". Unbeaten's six markers are flames and Shutout's are purple circles with a white keeper's glove when lit (dim when not reached); the label reads "current streak: N". Next up drops the "in N days" part.
Snap: Next up redesign and RSVP counts (2026-09-21), predictions unchanged
Next up for a practice is one plain reminder ("Practice on Wednesday, Sep 23", time, linked field, RSVPs). For a game it is a game-day card: date, opponent, big kickoff with arrival highlighted, field link and uniform, league chip, our call and win chance, and a Preview button that opens the game preview. The Upcoming tab's Next up strip uses the same wording. Every schedule row shows player RSVP counts from TeamSnap (going / maybe / out / no reply; counts only, no names or notes). TeamSnap pull adds availability summaries (6 API calls). Checked and not available through TeamSnap's API: team chat (separate service), announcements for a parent login, stats, lineups.
Snap tab: slate practices, working filters, field map links (2026-09-21), predictions unchanged
Practices are quiet slate/silver (date blocks, labels, next-up card; orange was tried and dropped); games stay blue and carry their league chip (from TeamSnap's label, else our GotSport schedule). The All / Games / Practices switch works (rows were ignoring the hidden flag; a global [hidden] rule fixes it), and the count boxes are filters too: games, practices, this week, canceled (tap again to clear); empty sections hide. Arrival times are bold everywhere. Field names link to Google Maps using TeamSnap's field coordinates (new: TeamSnap pull includes the team's locations, 5 API calls).
Fix: on days with two games (tournaments, doubleheaders) each game now takes its own TeamSnap kickoff / arrival / field, matched by opponent name, instead of both getting the first game's.
Color pass (2026-09-21), predictions unchanged
One palette: navy and brand blue for structure, buttons and links (the old indigo accent is gone, card header strips are blue to navy); silver/white for cards; gold for achievements; green/amber/red only for results. League badges: ECNL light blue #5CA1F7 with navy text (AthleteOne's ECNL blue), GCL purple (was green, which read as "good"), tournaments gold. Season box border is silver to blue like the Power Ranking box. The Team Info button is gone: tapping the State, Regional or National badge asks "Open GotSport?" first. Unbeaten is a red/orange/white flame on a charcoal hexagon. Phone bottom bar: two-tone icons, gold icon and a lit pill on the active tab, silver-to-blue top edge.
Upcoming game cards redesigned (2026-09-21), predictions unchanged
Each upcoming game card now leads with a colored league badge and matching left stripe (ECNL navy, GCL green, tournaments gold), date and home/away, the opponent in large type, and our call with the win chance and its bar right under it. The Power Ranking lines are gone from the cards and the tab header. The lower half shows TeamSnap game-day details: kickoff and arrival time, field, and uniform with a color dot; the Preview button opens the full details.
Tabs regrouped: Upcoming + preview sheet, Snap, History with Tournaments (2026-09-21), predictions unchanged
Tabs are now Upcoming Games (default), Snap, Power Ranking, Analytics, History, Model. The Preview tab and its game chips are gone: each upcoming game's Preview button slides the full preview in over the page (Back button, phone back gesture or Esc closes it). New Snap tab from TeamSnap: next up (time, arrival, field, uniform), counts ahead, the schedule for the next 7 days and later with a Games / Practices filter, and the roster; Upcoming shows a Next up strip that opens it. Tournaments moved into History behind a Games / Tournaments switch (the header medals open it). Old #preview and #tournaments links still land in the right place.
Analytics redesign, TeamSnap schedule and roster (2026-09-21), predictions unchanged
- Analytics (was Veo Analytics) rebuilt phone-first: season-at-a-glance tiles, three key takeaways with bars (overlapping styles merged so each says something different), tap-to-open cards for each opponent style, each game and each player (search and sort by goals, assists, shots, minutes, km). Wide tables are gone; data notes fold away at the bottom. Per-game minutes are no longer shown in player game logs (Veo tracking loses players).
- Phone bottom bar now has six slots: Preview, Upcoming, Rankings, Analytics, History, More (Tournaments, Model).
- TeamSnap connected (read-only): Team schedule card on Upcoming, kickoff/arrival/field/uniform on Preview games, and roster merge (added a player #18, who is on TeamSnap but not the Veo team; Veo's #18 readings now count for her).
Phone navigation and icon colours (2026-09-21), predictions unchanged
On phones (760 px and narrower) the sideways-scrolling tab row is replaced by a fixed bottom bar: Preview, Upcoming, Rankings, History and More (Tournaments, Veo Analytics, Model in a slide-up menu); desktop keeps the top tab row. Tab order is now Preview, Upcoming Games, Power Ranking, Game History, Tournaments, Veo Analytics, Model. Power Ranking icon is silver with gold bars and arrow; Unbeaten is red with a flame (its streak dots are red too). The "See rankings" link is gone; the whole Power Ranking cell still opens the tab.
Season box and Power Ranking tab (2026-09-21), predictions unchanged
The Hot Streaks box is now "2026-2027 Season". Overall GD is replaced by a Power Ranking cell (our rank by rating, the rating, and the #1 team's) with a rising-bars icon; tapping it opens the new Power Ranking tab, where the tap-to-open team cards now live (top 5 and three teams either side of us, with Show all). Unbeaten gets a flame icon. Overall goal difference is still in the brief and Game History.
Power Ranking redesigned for phones (2026-09-21), predictions unchanged
The dot chart (names only on mouse hover) is replaced by tap-to-open team cards in silver, white and blue. Closed: rank, name, W-D-L, goal difference, a rating bar and the rating. Open: games, W-D-L, points, goals for/against/difference, last 5, their results against us, and their results against our next opponent. Shows the top 3 and the teams around us, with "Show all" for the rest; a Power rating / Points toggle re-sorts by 3-1-0 points, then goal difference, then goals scored. Touch targets are at least 44 px. Ranking and odds are unchanged.
The hanging-medal Tournament Season box is removed: podium finishes (1st-3rd) now show as small medals: on phones between the team name and the logo, on wider screens centered above the Regional badge; tap one for the tournament's name, dates and a link to the Tournaments tab. The Power Ranking box takes the full width (up to 760 px).
Veo Analytics tab (2026-09-21), predictions unchanged
New data source: Veo game film. veo_extract.js (run by Claude in a logged-in Veo tab) saves a summary per filmed game to raw/veo/; veo.py builds the Veo Analytics tab: opponent styles from player tracking and events, how we do against each style, formation and by-half splits, and player stats by jersey from data/roster.csv. Veo scores are shown as UNOFFICIAL until GotSport/ECNL posts the result. Preview shows "What Veo saw last time" for filmed opponents. Not used in the odds; MODEL_VERSION unchanged.
Experiment: accuracy levers (2026-09-20), nothing promoted
experiments/accuracy_levers.py scores the live model and several variants on the same 139 games (each game predicted from all the others). Live model: Brier 0.324, picked the outcome 77.7% of the time.
- older games hurt: also learning from games since May 1 scored worse (Brier 0.359, 75.5% right; worse by 0.035 +/- 0.018), which supports the Aug 1 cutoff
- less smoothing looks slightly better: ridge 0.1 scored 0.312 and 80.6% right (better by 0.012 +/- 0.007, about 1.7 standard errors); ridge 0.25 and 0.15 are in between; more smoothing (1.0, 2.0) is worse. Not promoted: the rule is 2+ standard errors. Re-run each week; this is the first candidate for v1.5
- goal cap: 3 or 4 worse than 5; 7 about the same. residual spread floor: 1.6 and 2.0 worse than 1.3. Keep as is
- honesty check: calls of 40-80% came true more often than said (said 49%, happened 69%; said 72%, happened 89%), calls of 80%+ slightly less (said 91%, happened 86%). Consistent with too much smoothing
- accuracy by half-month showed no steady trend as games accumulate (0.28, 0.44, 0.24, 0.27); the main thing more games buy is coverage: more teams reach the readiness rule and get a call
v1.4 Three ECNL teams linked to their Classic League teams (2026-09-20)
The two leagues publish no shared team id (AthleteOne's ids do not point to GotSport), so we build our own key from the staff lists both sites show: a team is linked only when its head coach and another staff member (manager, assistant coach) appear on both the GotSport Classic League page and the AthleteOne Staff tab. Staff names are used for the check only and are not stored; the evidence is recorded in aliases.json.
- linked (ECNL -> Classic): NTX Celtic FC -> Celtic North McCallum (369838); NTX Celtic FC Green -> Celtic 14G Bravo South (254634); Sting Royal Bold -> Sting Royal Pre-ECNL Brave (754938)
- confirmed already linked by name: Solar Blue, Sting Royal
- checked and NOT linked: ECNL Solar Red vs Classic Solar Red G2012/13 (different staff, so a different team)
- effect: each linked team now has one rating built from both leagues' games; the method is unchanged, the version is bumped because the games behind those teams' ratings changed
v1.3 Opponent-name filter removed (2026-09-20)
v1.2 carried a filter that dropped every game involving certain Classic League opponents (chosen by a word in their team name) from ratings, records, streaks, predictions and accuracy checks, and showed "Not rated" for upcoming games against them. It is removed: every Classic League and ECNL team counts the same way, using the results GotSport and AthleteOne publish.
- effect: our record and ratings include those games again (record 19-1-0), and the two upcoming games that had no call (Sep 20, Oct 18) get predictions
- each upcoming game now shows the opponent's name as its own source spells it (Classic League games use the Classic League name, ECNL games the ECNL name); GotSport team ids are used only in the background to link the same team across the two sources
- the method itself (ratings, margin cap, odds, readiness rule) is unchanged; the version is bumped because the games it learns from changed
v1.2 Permanent history (2026-09-20)
MODEL_VERSION(model.py) is now stored with every prediction; bump it and add an entry here for ANY change to how predictions are made- new: permanent append-only history store outside OneDrive (history.py,
history_dirin config.json). Every run records the model version and settings, predictions for EVERY unplayed game in our data (live model and the tier-prior challenger side by side, always as p_home / p_draw / p_away), team ratings, results with any later score corrections, ECNL standings and GotSport ranks by run. A prediction is scored once, only if saved before the game (an earlier date, or earlier the same day for ECNL games that have local kick-off times). Nothing is ever reset. The old prediction_log.json snapshots were imported once as run 1. - new: challengers.py (tier-prior challenger) shared by the history store and experiments/league_tier_test.py, which now uses two tiers (ECNL RL / other)
v1.1 ECNL games added (2026-09-20)
The ECNL RL North Texas GU13 division schedule and results (150 games, 19 played) now feed the same ratings as everything else.
- data: collected from the public AthleteOne division schedule page through the Chrome extension; checked against ECNL's official standings (all 20 teams' games played and goals match exactly)
- identity: an ECNL opponent is treated as a GotSport team only when its name exactly and uniquely matches a name that team has used (or you mapped it in aliases.json); everyone else is an ECNL-only team (negative id = minus its AthleteOne id). Nothing is guessed or merged.
- effect on predictions: Cosmos' two ECNL wins and every ECNL team's results now count; 13 ECNL games appear in Preview tagged ECNL (12 with a call, 1 warm-up); existing Classic calls moved by at most a few points.
- KNOWN LIMITATION: the model has no league-strength term. ECNL RL teams may be stronger than the average Classic League opponent, and each ECNL team has only 2 games so far, so early ECNL calls (many at the 94% ceiling) are probably overconfident. Candidate for the next version: a league-level adjustment, tested in shadow against v1.1 before it replaces it.
Experiment: league-tier prior (2026-09-20), NOT promoted
experiments/league_tier_test.py scores the live model (champion) against a challenger that shrinks each team toward its tier's average (ECNL RL / other) instead of toward the league-wide zero. Leave-one-out on every game since the cutoff, same games for both.
- all scored games (n=133): Brier 0.339 champion vs 0.328 challenger, challenger better by +0.010 +/- 0.006 (about 1.7 standard errors); picked the outcome 77% vs 79%
- learned tier gaps (approx.): ECNL RL about 2 goals per game above "other"; treat as rough (few teams, and Cosmos is in the ECNL tier)
- ECNL-schedule games: only 4 could be scored yet, so no evidence either way on the games we care most about
- effect on Cosmos' ECNL previews: lowers several (Kernow 90 -> 76%, Sting Brave 83 -> 76%, Nido 94 -> 89%, DKSC White 69 -> 63%); the rest stay at the 94% ceiling
- decision: keep v1.1 live. Promote the challenger only if it wins by 2+ standard errors on all games AND is not worse on ECNL games once about 40 ECNL games are scorable (roughly 4 more rounds). Re-run the script after each ECNL refresh.
v1.0 baseline (2026-09-20)
Predictions come from goal-difference power ratings (ridge-regularised Massey-style fit), all games since the season cutoff (2026-08-01), one equal-weight row per game.
- margin capped at +/-5 goals; ridge 0.5; residual spread floor 1.3; win/draw/loss odds from a normal spread with a 3% floor on each outcome
- readiness rule: no call unless both teams have 2+ games and a chain of results links them (walk-forward check: Brier 0.35 / 77% right when ready, 0.61 / 53% when not; guessing = 0.67)
- leave-one-out check across the league since the cutoff: Brier 0.34, right 74% of the time on games that pass the readiness rule
- not used: home/away, recency, attack vs defense split, league level, official ranking points, rosters, game stats, ECNL results (standings only), PK results (counted as draws)
- head-to-head and shared opponents are NOT separate inputs: a head-to-head game is one equal-weight game in the fit, and shared-opponent comparisons happen implicitly plus through longer chains. The shared-opponent table is a human cross-check.