Grab yourself some beer and nachos. This could take a while.
Earlier on in the season, I noticed a trend that I'm sure surprises no-one: regardless of who's playing, Saskatchewan tends to draw large TV numbers. They're not always the top, but their average is the highest. Hamilton, on the other hand, tends to draw fairly low numbers (sadly). Their average is 2nd lowest. So it's a safe bet that more Riders fans are watching Riders games than fans of whatever team they're playing. Likewise, it's a safe bet that fewer TiCats fans are watching than fans of whatever team they're playing. That got me to wondering if there is some way to determine, based on the numbers alone, roughly how many people were watching a game for one team, and how many were watching for the other.
The answer came to me a couple weeks ago. If we take an individual game, say the BC @ Montreal game of this past weekend, then the total of the numbers of BC fans and Montreal fans watching is 914,000. We can write this out as an equation
#BC + #Montreal = 914,000
Likewise, for the Edmonton @ Calgary game there were 1,083,000 viewers, so we get the equation
#Edmonton + #Calgary = 1,083,000
We can do the same thing for every game of the season to get a whole bunch of equations. To find #Team for each team, we just need to find a solution to all of these equations. That is find numbers for #BC, #Calgary, #Edmonton, etc. that make each equation true. For any number of reasons, though, the number of people watching per week is not going to be the same (just look at the numbers for the 4 Hamilton-Winnipeg games). Things get in the way that make it impossible to watch every single game of our favourite team. That means that we won't actually be able to find #BC, #Calgary, etc. because these numbers change from week to week. The best you can hope for is an average, and the number of people watching per week is approximately equal to the average. So if we know the average numbers of BC fans and Montreal fans watching their teams per week, for example, then we get
Avg#BC + Avg#Montreal ~ 914,000
We also have
Avg#Edmonton + Avg#Calgary ~ 1,083,000
Now, instead of looking for numbers that give equality, which we'll never get, we look for numbers Avg#BC, Avg#Calgary, etc. that get us as close the actual TV numbers as possible, thus minimizing the difference between the actual TV numbers and the numbers that would be predicted if we used the numbers Avg#BC, Avg#Calgary, etc. It would be a pain to do this by hand, but it can be done with a computer using established methods which are provably correct (that is, it can be proved that the numbers output by the computer are as close to the TV numbers as possible).
It seems a bit magical, even to me. It also ignores the fact that some people, possibly many, aren't necessarily fans of a particular team and are just watching because they are fans of the CFL. So take it with a grain of salt. What I can say with certainty, though, is that these numbers are the best that we can have without actually asking the people watching why they're watching (even a regional breakdown is imperfect, since not everyone watching in a particular location is a fan of the nearest team).
Either that, or use Deanjo's formula.