John James is doing really well.
There was no way he would perform better anywhere close to how well he did in 2018-
2018 the GOP put a lot of effort into this race. This year, they have so many other seats that they need to focus on and try to protect that this that they can't invest in this one too much. Plus Peters has been campaign more heavily, while Stabenow basically slept through. Plus in 2018 James ran his entire campaign revolving around his military service, that isn't going to work when Peters has a far more extensive military background. Plus (I'm not sure and too lazy to go check), I believe Peters is more popular than Stabenow in Michigan as well