I'm still a paying customer of you guys because I think you can figure it out if you just listen to a few of us. Here are two things that I think could be helpful:
1) Check page rank, alexa, and backlinks once a week. PR changes every 3 months. Once you've checked it, store it and a timestamp of when you last checked it. Then just don't check it again for a week. You'll cut down your google queries by a ridiculous amount, and you won't swap from PR X to PR 0 every single day. Same goes for Alexa and Backlinks. The basic programming maxim here is "don't create your own problems". Checking PR every day (or possibly hour?) is creating your own problem. Checking rankings hourly is creating your own problem.
2) I have thought way too much about how it's possible you guys can go from showing my most recent ranking data to showing "Gathering data (up to 1 hour)" and I'm pretty sure I know what's going on, and it probably centers around poor DB design in the name of reducing queries when loading the view for the user. Please do me (and everyone here) a MASSIVE favor and:
Always show the most recent ranking data you have collected. I don't care if it's an hour old or 20 hours old. Just always show me the most recent ranking data you have. There's literally no reason that data shouldn't be accessible, so just show it. If it isn't accessible, you need to rethink how you're storing data.
I've reached out in the past with offers of helping, and they still stand. I'm not going to enter the rank tracking business ever, so I'm not going to undercut or steal anything. I've built dozens of complex web applications and understand scaling and proper database design and the works. I'm not bragging here at all, I want to help you guys without taking any credit for anything.
I like startups, I want to see you succeed.