For a long time I've wanted a better way to determine US politicians' actual position -- not campaign promises, not inflammatory articles, not tweets. Those are abundant, but ephemeral, and nearly useless to keep up with on a comprehensive scale. Above all, they're distractions.
Voting records are public, but take time to parse in any substantial way for the average person.
I learned of an awesome tool: NOMINATE, which gives you something like this:
Basic reproduction of the 1D political spectrum for the Senate & House of the 117th US Congress, using DW-NOMINATE scores. Every dot is a legislator (or the Vice President), the horizontal axis is DW-NOMINATE dimension 1, and the vertical axis is just a random spread for better visibility. Democrats (blue), Republicans (red), and Independents (yellow).
NOMINATE (NOMINAL Three-Step Estimation) is a multidimensional scaling method that takes all US Congress members and distributes them in a space relative to their colleagues, according to their votes (Poole & Rosenthal 1985). Legislators who are ideologically similar end up near each other, while those more different from one another end up farther apart. You can read about the details, I won't go into the math here.
You end up with a map of where each candidate falls in the left/right spectrum of US policy. There's a 2nd dimension as well that's become less explanatory over time, which is interesting on its own.
NOMINATE's not perfect, there are political and mathematical imperfections, but overall it's useful and more or less tracks with common sense. That is...common sense if you're familiar with someone's policies, but I'm not familiar with all 535 of them.
It doesn't replace a deep dive on someone's positions, but that's not the point. It's the best way I've found of getting a comprehensive snapshot of where a legislator falls in the context of everyone else, which is missing in nearly all popular political discussions.
The official version is called Vote View and offers much more, made by the researchers. They did the hard work, and I'm so grateful. It's very cool.
What's more interesting than locating single politicians is watching the groups dance and, sadly, separate more and more over the last ~70 years. This is one of the primary conclusions by the researchers that developed the tool -- that the parties have become more polarized over time.
This trend toward polarization is depicted on VoteView here (scroll), here, and here (legacy site). Polarization stories from this data have been picked up by various media and think tanks over the years. This isn't the only way to measure polarization, other methods and extensions exist.
A lot has been written about polarization by people more expert than me -- polarization in legislators, voters, and media rhetoric -- so I won't regurgitate it here. If you're really curious, there's detailed academic discussion in Polarized America by the researchers involved, numerous papers, and countless articles elsewhere.
I'm glad we live in a world where smart people see the importance in quantifying and visualizing important phenomena.
Even when the quantification isn't perfect or 100% objective, it's miles better than "gut feelings" or some arbitrary anecdote, and more accessible when done well. I'm particularly fond of cases like this, where experts might have developed a sense for placing people on a scale, but this technique democratizes the information. My only complaint is that I didn't know about it sooner.
Best of all, the data is updated all the time & freely available. Go play with it.
My version is a python bokeh wrapper that gives the name & state of a legislator when you hover over a dot, but is otherwise static. This was a practice project to introduce myself to bokeh server, which I've now used for other purposes.
Lewis, Jeffrey B., Keith Poole, Howard Rosenthal, Adam Boche, Aaron Rudkin, and Luke Sonnet (2024). Voteview: Congressional Roll-Call Votes Database. https://voteview.com/
Poole KT, Rosenthal R (1985) A Spatial Model for Legislative Roll Call Analysis. Am J Pol Sci. 29:2, 357-384.