West Corporation — Telecom Capacity Analytics & Billing Data Warehouse: Lessons Learned

Built the billing and capacity data warehouse for a telecom routing operation where routing, trunk, and IVR performance directly drove cost and revenue at large scale: What the project proved about the system and what should carry forward into the next build.

telecom-capacity-analytics-billing-data-warehouse Dec 1, 2015/3 min read
On this page

The durable lesson from this project is that most of these problems were systems problems, not isolated implementation problems. Once the workflow, data shape, or operational model was wrong, the team kept paying for that mistake until the system itself changed. That is why the project files emphasize tradeoffs, constraints, and outcomes instead of big claims about technology.

The best part of the work is the part that survives the next round of pressure. That means the architecture has to be simple enough to maintain, the process has to be clear enough to repeat, and the operating result has to be visible enough to measure.

When those conditions are met, the system stops depending on heroics. That is the pattern worth repeating across all of these projects.

Avoid

Do not confuse activity with progress. If the same friction keeps reappearing, the system is still producing the wrong outcome.

The project proved that the simplest system that produces the right outcome is usually the one that lasts. It may not be the cheapest to start, but it is usually the cheapest to run once the real operating cost shows up.

That is the useful lesson here: make the constraint explicit, build to the constraint, and keep the result observable after launch. That is how a project becomes a system instead of a one-time deliverable.

The implementation stayed close to PostgreSQL, MySQL, Python, Perl because the new system still had to live inside the same operating environment as the old one. That kept the work from drifting into a clean-room exercise that would look better on paper than it would in production. The practical question was always whether the implementation could hold up under the real workflow and the real users. If it could not do that, it was not finished.

The constraint behind the step was that Routing decisions, trunk capacity, and IVR performance affected billing accuracy and contract economics at scale, but there was no central analytics layer. That is why the work had to trade one kind of cost for another instead of trying to eliminate cost altogether. In almost every case, the useful move was to spend a little more effort on clarity, validation, or control so the business would spend less effort on repeated manual work later. That is the pattern the project files keep pointing to.

The role in the work was Sole owner across every phase — requirements, project management, systems and database architecture, ETL engineering, application development, deployment, and production operations. That meant the implementation could not stop at the code boundary because the operating model, handoff, and support path were part of the outcome. The relevant outcome was Supported an estimated $50M+/day in billing operations (estimate — frame it as such). The build only earns its place if the new result is visible in the way the business works after launch.

The specific step in this article was Built the billing and capacity data warehouse for a telecom routing operation where routing, trunk, and IVR performance directly drove cost and revenue at large scale. That is the piece that moves the story from analysis into execution. It is also the part that shows the difference between a conceptual fix and a system people can actually use. That distinction matters more than style or novelty.