The most common staffing model is based called Erlang C and is based on the “loss formula” developed by Erlang. There are many extensions to the original formula and to the Erlang C model to allow forecasting multiple call center key performance indicators. As the calculations are somewhat complex and can be tedious, this is best done by software. You can read about the actual model in http://www.DiagnosticStrategies.com/traffic_modeling.htm.
The modeling process starts with a target service level, e.g. 80% answered in 30 seconds. Because this metric does not reflect abandonment rate, some choose to include maximum abandonment rate as a target as well. Another input is the expected call volume and handling time.
The Erlang C model calculates the number of agents that are required to meet or exceed the target service level. The modeling software should also calculate ASA and utilization (occupancy rate). If the calculated headcount, abandonment or utilization is too high, you change the targets and recalculate until you find an acceptable balance between service levels, resource availability, and utilization.
Some Erlang software tools calculate additional parameters such as time in queue and provide additional insight of the customer experience for a given service level target and headcount.
I hope this helps.