I Suck at Mario Kart, So I Turned it into a Data Experiment (Spoiler: Chaos is Winning)

I suck at Mario Kart.
My husband Keegan on the other hand...he's a beast. So how do I turn this crushing defeat into a story of learning, redemption, and hope? Easy: collect data every round and control for variables. If I can track my progress, maybe I’ll feel less demoralized.
While we're at it, why don't we throw everything into a live dashboard?
Almost 1,000 rounds in...still racing, still hoping.
What the Data Shows
🌀 Progress isn’t linear. Sometimes you have to zoom out. Take my first 100 rounds—it looks like I didn’t get any better. Same with rounds 200–300 and even 400–700 (was I actually getting worse?!). But looking at the full dataset, I did improve. Progress hides in the big picture.
🎮 Performance = Skill + Randomness + Momentum. Randomness balances out over time, but skill trends upward—if you keep at it. Momentum (Focus + Attitude) plays a role, too. Mario Kart is chaotic, but chaos doesn’t stand a chance against data.
〰 Variation shrinks at the ceiling of skill. Keegan’s consistent because he’s maxed out—1st or 2nd almost every time. I’m still climbing, so my scores are still all over the place. It seems randomness fades only once you’re consistently winning.
Experimental Details
🧪 In any good experiment, the things that you don't want to measure should be constant or randomized, so you can isolate the thing that does matter. Here, we isolated skill.
- Controlled: Characters (Keegan = Lakitu, me = Wiggler), carts, and difficulty (150cc).
- Randomized: Tracks (random selection of 48 tracks including Mirror mode) and 10 CPU bots (naturally chaotic).
Tech Stack
👾 Everything runs through Google Suite + App Script API. I log our placements in a mobile form, which updates a Sheets database. That database crunches the numbers and feeds live visuals into iframes, published on a Webflow site.