TWISTR IHSAA SPORTS RATINGS

Home Page | TWISTR Blog

Fall: Football | Boys Soccer | Girls Soccer | Volleyball

Winter: Boys Basketball | Girls Basketball

Spring: Baseball | Softball

Frequently Asked Questions


Last Post | Blog Home | Next Post

December 31, 2023

Blog: Bringing responsible recency bias to fall and spring sports (previewing some updates for 2024)

Happy New Year! The holidays can mean a lot of different things to different people, and for me, it often means a bit of downtime at the end of the year. For the 2023 holiday season, that turned into finally getting around to an item on my to-do list: making some enhancements to the TWISTR ratings for soccer, volleyball, baseball and softball.

If you've been checking the TWISTR ratings since I first published them in early 2023, you may have noticed that the basketball ratings (and later football ones) contained additional information and features the other sports lacked. Some of those features were missing for a good reason (a SCORING metric wouldn't make sense in volleyball, for example, where every winning team scores 2 or 3 set wins), but the lack of the INDEPENDENT (INDY) and FORECASTER (CASTER) ratings really weren't. They were simply missing because the fall and spring sports utilized a different ratings code base from basketball's.

I built the original TWISTR ratings a few years back and, truthfully, they were pretty primitive. It was mostly a passion project, and while it had elements that carry through into today's ratings — most notably the Weighting element and Strength of Schedule (SoS) design — it was a straightforward attempt with only team ratings and those SoS marks calculated. (They also weren't called the TWISTR ratings yet, but that's not important.)

As time went on, I noticed additional things of interest that turned into features included in TWISTR. Strength of Record (SoR) calculations were included as a way to evaluate team resumes instead of team quality; the SCORING metric was introduced as an attempt to measure pace in basketball; the DEVIANCE metric was built as a way to see which underdogs might be more likely to pull an upset or which favorites could be more susceptible to losing.

The most impactful observation, though, came after experiencing an injury-plagued opening to the season for my school's girls basketball squad. As the season went on, and our results began to match expectations, I wanted to see what happened if I gave more influence to a team's more recent games compared to ones played at the beginning of the year. While it was inspired by something I specifically saw with our team, the TWISTR ratings are designed to be forward-facing, and more recent results are generally more predictive of how a team will play next time out. Whether it's a key player returning from injury, a staff learning more about their squad, or opponents being able to identify weaknesses after having some games to scout, there's no denying that teams change between their first contest and the end of the season.

This is where the "Scaled" component of the TWISTR ratings come from — that in a team's RATING, and especially in their CASTER rating, recent results hold more influence than early-season games. The INDY ratings, which are time-agnostic, are also included (1) as a link to the "original" TWISTR logic, but also (2) because there's still value in having a "whole look" type of metric included.

So why haven't these been included in baseball, soccer, softball or volleyball ratings before? It was simply a relic of a lack of foresight on my part.

After the initial ratings were set up for basketball, I had some time to kill during the "two weeks" that turned into a whole missed, and wanted to get a set of ratings together for baseball, both as a scouting aid and to fill what I saw as a bit of a hole. While the Sagarin ratings have been around for a long time with basketball — and I'd be lying if I said my long-running interest in them didn't inspire TWISTR (during high school, I regularly got asked what the line was before my school's games) — there wasn't really an equivalent for baseball.[1]

As the COVID lockdown started, I built a primitive set of baseball ratings using the prior season's data and, despite having what turned into a full summer with nothing much to do other than golf or vibe in Verdansk, didn't really advance it beyond that primitive status. The most impactful decision, though, was choosing to re-write a decent portion of the code rather than trying to modularize it for use with different sports and different data sources. It meant the baseball and basketball ratings ran off of different sets of code and, for this topic, meant that future enhancements to the basketball code didn't always trickle down into the baseball code. When soccer, softball and volleyball ratings came along, they leveraged the baseball code base, meaning those sports also didn't get the recency scaling of the basketball ratings.

I am thankfully a better and more organized coder now than I was a few years ago, and some code changes I had to make to keep the soccer and volleyball ratings running in the fall sparked a realization for me: I could now pretty easily capture date information and knew how to unify the code bases for all sports to utilize a single ratings program. While the inputs specific to each sport are different, the changes I envisioned would make it easier to apply the same logic to all sports at all times.

I completed that work last week and re-stated the 2023 ratings for soccer and volleyball, so the next time you load those pages, you'll notice an updated layout and perhaps a few schools in different places in the final ratings. I don't know if I anticipate re-stating the 2023 ratings for baseball and softball, but when April comes along and the first ratings are published for those sports, they too will adopt the new, unified logic. The DEVIANCE ratings have also been removed from soccer and volleyball, as I have some doubts over how well this metric really works for low-scoring sports (especially soccer with its short season) and don't think it's as impactful as a metric in that environment.

The fall and spring sports still don't have Home Advantage metrics, but that's something I plan to work through in early 2024, as I think I finally have a reliable way to capture location data in those sports (though baseball and softball need a further investigation, as winning home teams have fewer chances to score than their opponents). Nevertheless though, I'm happy to have everything running through one place — it creates a more consistent and accurate experience throughout the ratings, and will make it easier for me to apply my ratings logic in other areas (watch this space for some NCAA ratings in 2024).

I'll hopefully keep finding more opportunities to streamline and enhance the TWISTR process as time goes on. (My GitHub repository for TWISTR has several issues I'd like to tackle.) We're in the swing of basketball season now, with most holiday tournaments in the books, and the girls state tournament on the horizon, so I'll try to be a little more active as well with publishing team ratings and, time permitting, tournament probabilities once the draws come out. The framework is there, it just needs a little care to get to a place where it's ready for primetime.

I appreciate everyone who consumes and engages with the TWISTR ratings. It's a fun way for me to keep the stats side of my brain fresh, and over time, I hope it grows into something that has a real following and earns the respect of fans statewide. I hope you all had a great Christmas if it's something you celebrate, and I'm looking forward to 2024. Happy holidays!

[1] MaxPreps does publish computer ratings for many sports, but I'm not familiar with the logic and, from my experience, they aren't as robust or accurate as most score-based algorithms are.