I was thinking about this earlier today. I was going to make a simple script to take the list of known (average) results that people obtained, and use that to calculate on the fly what power, speed, etc. you would be expecting. I'd either write my own version of Bitcoinx's calculator or just give values to input there.
So essentially I would just have the script poll the user to ask them how many cards they want, whether they need to purchase a motherboard, CPU, etc., and if they do then just ask for their expected price and add that to the total capital investment.
If I did that, it might make things too easy for people