I don't believe you can pass params using the methods option. One approach would be to calculate the outcome on the collection before calling to_json.
def calculate_outcome(arg) @outcome = # do calculation with arg end
def outcome @outcome end
collection.each {|c| c.calculate_outcome(arg)} collection.to_json(:methods => [:income, :outcome])
HTH, Nicholas