Difference between reported hashrate and real hashrate
I like to keep a tight control of my small rig so I decided to start fetching data from XMRig and the pool I'm currently mining to see if I could identify patterns and differences. To my surprise, I actually found that **XMRig-AMD has been reporting slightly higher (~1%) hashrates** overall, when looking at the "15-minutes average" data (`$.hashrate.total.[2]`).

I've compiled this data in a spreadsheet, please look [here](https://docs.google.com/spreadsheets/d/18UqmhKPF9O3mBZStaGsn9D9lE5oOu5g63NV8jZsbhjA/edit?usp=sharing) (Google Spreadsheet) for the results.

### Explaining my test
After 24 hours mining and gathering data every 15 minutes (96 data points) from both the miner and the pool, the average hashrate reported by XMRig is 11950 H/s (`$.hashrate.total.[2]`). The pool reports 11848 H/s, a ~1% difference. To make sure this isn't a issue on the pool side, I've set a fixed difficulty of 100.000 (`$.results.diff_current`) so I could be sure XMRig and the pool were counting the same shares -- which they did. There was a 0.08% difference in shares sent, so the mining pool is alright. XMRig also reports a "total hashes" information (`$.results.hashes_total`), so I used that to calculate the real hashes for each data point (column M). That's when I saw that the average from that column: 11840 H/s, a **0.07%** difference from what has been reported by the pool, but a bigger **1%** difference when checking against the 15-minutes average (`$.hashrate.total.[2]`).

### Conclusion
Pool is reporting the correct hashrate, and if I check the total hashes from XMRig (`$.results.hashes_total`) I also come to the good hashrate, but apparently the 15 minutes average (`$.hashrate.total.[2]`) isn't showing the correct information, getting a ~1% difference overall.

I know that probably 1% isn't a lot to most of people, but big farms and mining operations might notice the difference and I imagine that their first reaction would be to blame the mining pool for "skimming" hashrate, which is not the case.