John Hill
Analytics and AI for telcos that need decisions to stick.
Manager of Communications and Ecommerce·GVTC Communications·San Antonio metro
Now
Building an LTV:CAC model on the GVTC subscriber base. Shipping NPS sentiment classification with telco-specific labels. Standing up Atlas, an internal AI agent with Slack-native delivery.
Selected work
-
01
Telco Churn MLOps Pipeline
Built a public-safe churn pipeline that turns synthetic broadband customer data into validated scores, action routing, API predictions, monitoring reports, dashboard views, and passing CI.
Churn models usually die as one-time spreadsheets. The useful system is the repeatable path around the model: validation, leakage checks, training, scoring, serving, monitoring, and business routing.
A standalone MLOps portfolio project that scores 12,000 synthetic broadband customers, separates retention candidates from winback/address-lifecycle opportunities, and exposes the workflow through FastAPI and Streamlit.
-
02
Customer Growth Phase II Model
Well-received by leadership April 2026. Phase 2 expansion in flight with rental capture rate, county ownership verification, and offer-hook lift testing.
GVTC's residential growth was stalling under fiber overbuild competition with no household-level penetration model.
A household-resolution model that maps every rooftop passing to its active-subscriber status, layered with offer-hook lift testing across rental and ownership segments.
-
03
Atlas — internal AI agent
Took over routine analytical workload via a multi-agent AI system with scheduled EC2 crons, Slack-native delivery, and isolated session workspaces per sub-agent specialty.
Routine analytical work and cross-system orchestration was eating practitioner time, and a single AI agent couldn't cover the breadth required without thrashing.
A Slack-native AI agent built on OpenClaw with custom MCP integrations, a sub-agent layer for domain specialization, identity files, and isolated cron sessions. Dual-auth across Anthropic subscription and API spillover keeps it always-on.
-
04
Custom Claude Code skill graph
Turned Claude Code into a domain-aware ISP analytics workbench through 115 custom skills covering data exploration, GVTC vocabulary, daily ops, content workflows, and AI debugging.
Off-the-shelf AI tooling didn't know GVTC's data model, ARPU conventions, vendor systems, or the cooperative's voice.
A composable skill graph with reference files for telco domain, iVUE/NISC schema, voice-DNA, and single-purpose workflows from morning briefings to NPS sentiment classification.
-
05
vault-search MCP server
Shipped a local MCP server that serves semantic search over a 30K-vector personal knowledge base into Claude Code workflows.
Knowledge captured across hundreds of vault notes was inaccessible during AI workflows without manual lookups, breaking the find-it-then-think-with-it loop.
A Python MCP server bridging Obsidian Smart Connections embeddings (bge-micro-v2, 384-dim) to the Claude Code MCP protocol with sub-100ms query latency.
-
06
NPS Sentiment Pipeline
Surfaced billing and reliability themes the manual coding pass had missed across 18 months of comments.
Open-ended NPS responses were summarized by hand and key themes were getting lost.
A telco-specific theme classifier with billing, speed, support, reliability, and pricing labels.
-
07
Meyer Ranch / Code Red
Pivoted the retention metric from new-customer MRR to net-change-plus-churn-avoidance, which became the competitive response template for fiber overbuild defense.
High-penetration subdivisions were getting overbuilt by Spectrum fiber and the existing retention math didn't capture the value of churn avoidance.
Modeled subdivision-level penetration and retention against incumbent and new-build scenarios.
How I think
- Verify inherited claims before propagating them.
- Most analyses are decisions in disguise. Surface the decision early.
- Bring the join-key reality, not the ideal-world ER diagram.
ARPUis recurring, not billed. Patronage credit is a member rebate.- Use AI to lower the cost of asking the next question. Save your judgment for the answer.
- If the audience already has a report for this data, match its labels. Continuity beats parallel terminology.
Contact
- linkedin.com/in/johnhill387
- Substack
- practicalmachines.substack.com
- GitHub
- github.com/jhillgvtc
- commsjhill@gmail.com