One of easiest way to know how much you need is testing it.
I would recommend getting a DreamHost account using $97 discount coupon found in DreamHost forum or everywhere.
It would only cost $22.40 for 1 year of hosting.
And you can put your site and test.
As DreamHost offers lots of bandwidth and CPU resources,
most site that can be hosted on average shared hosting account would have no problem, at all.
So, you can test without worrying, most probably.
Also, DreamHost provides CPU% log.
With it, you can know how heavy your site is, as far as CPU time goes.
Once you know what you need, you can choose another host,
and use the DreamHost account as a backup until the end of the term.
(You can cancel within 97 days. But I don't think it's fair to get an account with the intention of cancelling.)
Mor importantly, you should remember that CPU/memory are more precious resource than simple bandwidth.
Sure, bandwidth limit can be something to worry if you don't get an account with enough safety margin.
But it's more often other resources that dictate if you can stay within the limit of particular account/plan.
Also, by optimizing the site/script, it's often possible to use less expensive accounts/plans.
Agressive caching technique can really save your money and also make the site more resistant to traffic surge and potential attacks.