FourThirtyFive
- 4 Devlogs
- 17 Total hours
My personal attempt at predicting the 2026 United States Midterms!
My personal attempt at predicting the 2026 United States Midterms!
After a hell of a lot of procrastination and conflicts in my head on what to do, I finally have a almost-complete interface!
As you can see, this model predicts outcomes that align fairly well with models such as RaceToTheWH or Silver Bulletin, if a bit D-optimistic (probably due to the data-driven nature of the model, which I believed was the right path).
I want to add some QoL improvements such as candidate names, methodology breakdowns per prediction, and maybe even the latest news per race, but I think overall it’s fairly close to shipping!
Well, I switched to a ridge regression model, which yielded far better results. Did you know most regression models can have inference run with just a few basic json parameters? Well, I didn’t until today, but they can.
Anyway, with that done and mostly accurate, I got my first prediction working and with the assistance of Copilot, even a window! Now, there is still serious work on the table, but it feel good to finally have something tangible, doesn’t it?
It seems that maybe using a gradient-boosted tree with the limited features I can use with only 12 data points is perhaps a bad idea….
A one-point swing in the generic ballot causes a double-digit swing in the predicted national lean, turning a predicted blue wave into a comfortable Republican win.
Preprocessing the data is finally over (I really slacked off for a while, bad idea)!
This was actually fairly straightforward to do, it’s just that I kept having different ideas on how to implement the model. What I ended up settling on is a XGBoost gradient-boosted tree that predicts the national House lean (even though this will start by predicting Senate races) using three fundamentals, and then it will use a polling aggregate per race that gets more weight as election day nears.