you need to keep track of you sum (the values you are getting with your formula) and keep track of the number of items, then where you want to use the average, create a formula that uses the sum and the count to create an average, and place that on the report.
CR can't use the aggregate functions on calculated value like your formula as it can't divine the values by just looking at the raw data, it has to read each value to determine what you want. If it made another pass through data it could it, but it doesn't....that's why you get the 'big bucks'.
as a last note, the variables should be global or shared so that they persist for the report, and might need to be reset at some point...depending on the report's criteria.
HTH