Well, we take each of the hashrates the pools report, add them up to come up with a total from pools. Next, We subtract that from what the block explorer tells us is the network total. This gives us what we expect other pools, or solo-miners are doing.

I can hear you now - but why is it negative sometimes?!

Well, it comes from the way the hashrates are calculated. The pools calculate based on the number of shares submitted per minute at each miners difficulty rating. Not only does this provide the number of shares per block a miner gets, but also their hashrate. This, is fairly easy, and fairly close. Some pools disregard rejected shares from these calculations.

Network hashrate is calculated very differently.

Network hashrate is calculated based on the time between found blocks, and the current network difficulty. This makes it far less accurite, and not updated as oftain.

Thus, if there is a spike in hashrate from a pool, it takes litterally hours for the average block speed to catch up. This is why you see a smooth network hashrate chart, even though pools can be very jagged.

Hopefully you followed along. Questions? Feel free to ask in the SubReddit.