I use the download of all transactions, filter by transaction type. Select payments and clear those entires. Same for fees. Then add everything that remains back to day 1. Take modulo 5000. I once got the bonus nights at only 30 dollars over, so I believe in this method.
Do you filter out returns? What about credits from things like Chase offers and $10 gopuff credits etc.