Tier one service is adequate for 70-80% of the people calling in.
of the above calls, the issue is resolved in one call for 95% of the time.
It's the deeper problems that require Engineering Insight, or learning customer state, or escalating to what's effectively Tier 5 support, to escalate to Engineers that cause issues. (tier 2 and above get logged; and increase in weight; usually driving bug-fixes and Engineering time)
The issue is more that no-one has figureud out a way to actually enable good Customer Support.
This is an ongoing problem and there is no good solution in the wild yet.
State 1: There are only a few visible symptoms, and end-customers usually have no idea what's going on.
State 2: There are literally hundreds of systems internally that affect the customer
State 3: For these 10-20 symptoms, there are 100,000s of possible problems.
Problem 1: Hiring hundreds of call centre workers for $10/hr, many of whom have little technical background.
Problem 2: Trying to teach these people everything about Engineering, IT, Infrastructure, Systems Architecture, Hardware, Interaction issues, Software Service Issues, Billing Systems, Switching Systems, etc.... and not quit becasue they now know more than most Engineers.
PRoblem 3: Because Problem 2 never happens, how does the CS agent search for the solution for your particular problem?
You state symptom 1, 2, and 3.
CS does a search, there are 80,000 possible problems.
CS asks you a question to try to limit.
You perform, and answer.
CS enters that in, there are now 50,000 possible problems.
[repeat until there's a reasonable number]
This leads to Problem 4: Users lie, or misinterpret. If they answer any question wrong, or perform an action incorrectly and give a unknowningly false response, that just filtered out their actual problem, and their problem will never get resolved on that call.
Things like "reboot your modem" are good filters, as that eliminates thousands of possible issues if it causes no change. If you don't actually do this (depending on the problem, they would actually send reset signals, and then require you to reboot; many techincally competent people don't reboot when asked, and thus ) a problem which normally would be fixed with a reboot, isn't, simply because the end-user assumed becasue they rebooted before and it did nothing.
Now, if anyone can design a system that allows unskilled end-users, to communicate their issues, and allow unskilled CS workers to search and find the solution, that would make millions.
For people who ask "train them more" As a fully trained CS degree, Engineering degree, and Engineer at Comcast, I would say that I have no insight as to how hundreds of systems interact or data-relays function. Within my realm, there are thosands of things that can go wrong, thousands that should never happen (yet somehow do, possibly becaues of CS reps changing state on an account without realising the impact). I can fix many issues. But bceause I have this breadth of technical skill, understanding, and knowledge -- would I work CustSupport? No.
If you want better Customer Support, figure out how to make it enticing for highly skilled, trained engineers to work phone jobs; and enough of them to support millions of customers.