I am presently looking into creating a subscription based web-application. What I am currently trying to do is predict how much my hosting costs for each user will be. I realize doing cost estimates like this is a whole business field of its own, but I need at least some idea.

My current approach:
1)Figure out the average size of page requests. ( Initial request + X * cached requests)
2)Perform a walkthrough to figure out how many times a user goes to a page.
3)Multiply parts 1 and 2 to figure out how much bandwidth is required for a typical session.
4)Multiply session bandwidth by estimated number of sessions a month for a user.
5)Get hosting cost per user by dividing monthly hosting cost by amount of bandwidth required for each user each month.

Not sure about:
* How much caching will play into this?
* How much processing will be required for each user? The app won’t be CPU intensive, but will be a lot of database hits to the DB server.

Am I way off in left field on this one? Are there some good estimating tools, or intro guides for what I want to do?

Thanks,
-Owen