A SQL-driven look at every game of the 2026 season, refreshed daily while it's in progress. Built with Python, SQLite, and the balldontlie API. Each section answers one question with one query.
Two things are true at the same time: I love women's basketball, and I am a technologist looking for my next role. This project lives at the intersection of both.
The WNBA does not get enough good data work done about it. The same fifteen storylines get recycled every season. I wanted to ask my own questions and let the data answer them.
So I built one. Nine SQL queries, one dashboard, the entire 2026 season behind it. I taught myself SQL on a dataset I already had opinions about, because window functions and CTEs are easier to learn when you are using them to settle real arguments about real teams. No editorial filter. No narrative I was trying to push. Just the questions I cared about and the answers SQL gave back.
Some answers confirmed what I already thought. A couple genuinely surprised me. That is what good data work is supposed to do.
Total wins for each team across the 2026 season so far.
| Team | Wins | |
|---|---|---|
| 1 | Golden State Valkyries | |
| 2 | Atlanta Dream | |
| 3 | Las Vegas Aces | |
| 4 | Minnesota Lynx | |
| 5 | New York Liberty | |
| 6 | Washington Mystics | |
| 7 | Indiana Fever | |
| 8 | Dallas Wings | |
| 9 | Fire | |
| 10 | Phoenix Mercury | |
| 11 | Los Angeles Sparks | |
| 12 | Chicago Sky | |
| 13 | Tempo | |
| 14 | Connecticut Sun | |
| 15 | Seattle Storm | |
| 16 | TEAM SPOON |
Where teams won and lost. Home court still matters in the W.
| Team | Home W | Home L | Road W | Road L |
|---|---|---|---|---|
| Golden State Valkyries | 23 | 6 | 17 | 9 |
| Atlanta Dream | 19 | 8 | 18 | 9 |
| Minnesota Lynx | 15 | 8 | 18 | 5 |
| Las Vegas Aces | 17 | 8 | 16 | 10 |
| New York Liberty | 16 | 9 | 13 | 12 |
| Indiana Fever | 16 | 7 | 13 | 11 |
| Washington Mystics | 15 | 8 | 13 | 10 |
| Dallas Wings | 17 | 6 | 11 | 13 |
| Fire | 9 | 13 | 8 | 14 |
| Phoenix Mercury | 7 | 15 | 9 | 13 |
| Los Angeles Sparks | 8 | 14 | 8 | 14 |
| Chicago Sky | 11 | 11 | 5 | 17 |
| Tempo | 7 | 15 | 4 | 18 |
| Connecticut Sun | 8 | 14 | 3 | 19 |
| Seattle Storm | 6 | 16 | 2 | 20 |
Average points scored, allowed, and the differential. Positive means the team outscored opponents on average.
| Team | Scored | Allowed | Differential |
|---|---|---|---|
| Atlanta Dream | 84.9 | 78.4 | +6.5 |
| Minnesota Lynx | 88.1 | 82.1 | +6.0 |
| Golden State Valkyries | 78.5 | 72.6 | +5.8 |
| Indiana Fever | 95.5 | 90.7 | +4.8 |
| Las Vegas Aces | 87.0 | 82.6 | +4.5 |
| Dallas Wings | 87.4 | 84.0 | +3.4 |
| New York Liberty | 82.9 | 79.8 | +3.0 |
| Washington Mystics | 81.9 | 81.4 | +0.5 |
| Phoenix Mercury | 84.4 | 87.6 | -3.2 |
| Chicago Sky | 86.8 | 90.7 | -3.9 |
| Los Angeles Sparks | 87.0 | 91.3 | -4.3 |
| Fire | 86.2 | 91.0 | -4.8 |
| Seattle Storm | 82.2 | 88.9 | -6.8 |
| Tempo | 85.7 | 94.4 | -8.7 |
| Connecticut Sun | 78.9 | 88.1 | -9.2 |
The 10 games decided by the largest margins.
| Date | Home | Home Score | Away | Away Score | Margin | |
|---|---|---|---|---|---|---|
| 1 | 2026-07-11 | LV | 106 | PHX | 58 | |
| 2 | 2026-09-17 | ATL | 103 | CON | 59 | |
| 3 | 2026-08-09 | NY | 111 | LV | 71 | |
| 4 | 2026-09-18 | SEA | 77 | LV | 114 | |
| 5 | 2026-09-20 | TOR | 69 | NY | 106 | |
| 6 | 2026-08-21 | LA | 88 | ATL | 124 | |
| 7 | 2026-07-23 | IND | 123 | CON | 88 | |
| 8 | 2026-08-13 | CON | 69 | ATL | 104 | |
| 9 | 2026-06-02 | PHX | 77 | MIN | 111 | |
| 10 | 2026-07-13 | LV | 75 | IND | 109 |
The 10 nail-biters that came down to a single possession.
| Date | Home | Home Score | Away | Away Score | Margin |
|---|---|---|---|---|---|
| 2026-07-17 | DAL | 0 | NY | 0 | 0 |
| 2026-10-01 | MIN | 0 | NY | 0 | 0 |
| 2026-10-02 | ATL | 0 | WSH | 0 | 0 |
| 2026-10-11 | NY | 0 | ATL | 0 | 0 |
| 2026-10-11 | LV | 0 | GS | 0 | 0 |
| 2026-10-14 | ATL | 0 | NY | 0 | 0 |
| 2026-10-14 | GS | 0 | LV | 0 | 0 |
| 2026-05-10 | MIN | 90 | ATL | 91 | 1 |
| 2026-05-17 | ATL | 84 | LV | 85 | 1 |
| 2026-05-19 | POR | 83 | CON | 82 | 1 |
Comparing regular season and playoff scoring patterns. The playoff row will populate once the postseason begins.
| Phase | Games | Avg Total | Avg Margin |
|---|---|---|---|
| Regular Season | 333 | 173.8 | 11.8 |
| Playoffs | 27 | 127.7 | 8.7 |
Top 10 games by combined points so far this season.
| Date | Home | Home Score | Away | Away Score | Total | |
|---|---|---|---|---|---|---|
| 1 | 2026-07-26 | COOP | 122 | SPO | 129 | |
| 2 | 2026-06-28 | WSH | 124 | POR | 123 | |
| 3 | 2026-06-23 | SEA | 110 | DAL | 112 | |
| 4 | 2026-06-25 | TOR | 125 | LA | 97 | |
| 5 | 2026-07-29 | LA | 109 | NY | 113 | |
| 6 | 2026-06-11 | IND | 114 | CHI | 106 | |
| 7 | 2026-06-24 | IND | 109 | PHX | 111 | |
| 8 | 2026-06-26 | CHI | 124 | POR | 94 | |
| 9 | 2026-07-17 | IND | 110 | SEA | 107 | |
| 10 | 2026-05-28 | CHI | 104 | TOR | 111 |
Each team's longest consecutive run of wins. Uses window functions and the gaps-and-islands pattern.
| Team | Streak | |
|---|---|---|
| 1 | Minnesota Lynx | |
| 2 | Golden State Valkyries | |
| 3 | Las Vegas Aces | |
| 4 | New York Liberty | |
| 5 | Atlanta Dream | |
| 6 | Washington Mystics | |
| 7 | Dallas Wings | |
| 8 | Indiana Fever | |
| 9 | Chicago Sky | |
| 10 | Fire | |
| 11 | Los Angeles Sparks | |
| 12 | Phoenix Mercury | |
| 13 | Connecticut Sun | |
| 14 | Seattle Storm | |
| 15 | Tempo | |
| 16 | TEAM SPOON |
Number of players in the database per active 2026 franchise. Includes historical players, not just the current roster.
| Team | Players | |
|---|---|---|
| 1 | Minnesota Lynx | |
| 2 | Dallas Wings | |
| 3 | Chicago Sky | |
| 4 | Phoenix Mercury | |
| 5 | Indiana Fever | |
| 6 | New York Liberty | |
| 7 | Los Angeles Sparks | |
| 8 | Atlanta Dream | |
| 9 | Seattle Storm | |
| 10 | Washington Mystics | |
| 11 | Connecticut Sun | |
| 12 | Las Vegas Aces | |
| 13 | Tempo | |
| 14 | Fire | |
| 15 | Golden State Valkyries | |
| 16 | TEAM COOP | |
| 17 | TEAM SPOON |