Can you rewrite this into a map that does the projection, i.e., computes revenue * (1-discount) and a reduce function (not a groupReduce). 
Reduce should be preferred over GroupReduce because it can be more efficiently executed in many situations  (streaming hash-based instead of blocking sort-based) and implicitly allows for Combining.