This was a good read @shadowart, thank you. It makes a lot more sense now.
The rate you're talking about @auto is what most people are used to, the "per real-time average" (#2 in Shadow's example), which considers all time online. This is the method most of us here at XenoBot use in our HUDs. It makes the most sense to most of us and thus is the most relevant to us since we know we get that much experience each hour. Its what I use, I'd rather know the experience per hour so I knew how much experience I'd gain in 4 hours since I'm only ever going to bot at maximum 4 hours, stamina is out of the equation for me entirely since it regenerates enough each day to recover those 4 hours. In which case, a 10 minute resupply time in Fenrock Dragon Lords making 350k/hour is still better than a 2 minute resupply time in Darashia Dragon Lords making 300k/hour, simply because the rate is per hour, including resupply time.
What Shadow is talking about is that during resupplying, since you don't use stamina, you are able to bot longer and experience should be factored in an alternative way (#3 in Shadow's example). Sort of like if you're at 16 hours of stamina and you will logout at 14 hours of stamina, you won't logout in exactly 2 hours unless you're non-stop decreasing your stamina (killing creatures). So instead, he takes your stamina used per bot session and gets the rate "per stamina hour". You could have 2 hours of stamina left but be online for 2.5 hours due to resupply times, yet he will only track the experience rate for time that stamina decrements. That is why the rates will almost always show to be higher (experience is only tracked when stamina decrements).
Aside from what each of them are, most users won't read this thread and will have no clue what the difference is or why one shows a different rate than the other. That being said, the fact that users don't know the difference and only see a number (/h, /sh doesn't matter to them) makes for a great marketing ploy - just like those scripting teams that advertise their rates based on the "15-min average" (#1 in Shadow's example). They are each correct in their own way, but again, the end-user only sees a number. The higher the number, the better they think they're botting, even while not knowing the difference in how the rates are being factored.
This is why there should always be total rates shown, for example:
1) With the "per real-time average" method:
If the rate shows you're getting 500k/h and you're botting for 6 hours, you will likely be at, or around (+/-), 3kk total experience gained after 6 hours.
The user reads 500k "per hour" understands it equates to the 3kk experience gained, everything is good - continue botting.
2) With the "per stamina hour" method:
If the rate shows you're getting 600k/sh and you're botting for 6 hours, you will always have less than 3.6kk total experience gained after 6 hours.
The user reads 600k "per stamina hour" but doesn't understand why it doesn't equate to the total experience gained, something is wrong - report it as a bug.
(This is simply due to not attributing the experience gained while stamina is not decremented. Achieving the "per stamina hour" rate.)
As you know, I consider the end-user quite often when deciding what or how to do something in the scripting realm. A rate that appears to conflict with the total experience gained will cause confusion and because of that, its not something we would ever use. Even though your method is equally correct as the other 2 methods, users simply wouldn't be able to grasp the idea and it would turn into a bug report. Or the rates could be questioned by other scripting teams, which could be equally bad and considered as advertising "false" rates, even though they are correct for what they are (per stamina hour vs per hour).