Data Analytics · Telecom
Data Analyst Role in Telecom — What the Job Really Looks Like
Quick summary — data analyst role in telecom
The data analyst role in telecom centres on three areas: revenue, customers and network quality. Analysts track ARPU and plan performance, measure churn and find customers at risk, and monitor network KPIs such as call drop rates by region, mostly using SQL on large usage tables and dashboards for business teams.
In this guide you will learn:
- Revenue analysis — ARPU, plan mix and recharge behaviour.
- Customer analysis — churn, inactivity and retention signals.
- Network analysis — quality KPIs by circle and site.
- Practice templates — telecom datasets and dashboards.
- Career tips — how to prepare for telecom analyst roles.
SECTION 01Revenue analysis: ARPU, plans and recharges
Average Revenue Per User (ARPU) is one of the most watched numbers in telecom. Analysts break it down by plan, circle (service region), prepaid versus postpaid and customer tenure. They study which plans customers move to, how recharge frequency changes after a price revision and which add-ons sell. Because usage tables are huge, analysts write efficient SQL that aggregates before joining.
| Metric | Definition | Typical breakdown | Business use |
|---|---|---|---|
| ARPU | Revenue / active users in a period | Circle, plan, prepaid vs postpaid | Pricing and plan design |
| Plan mix | Share of users on each plan | Month over month | Spot upgrades and downgrades |
| Recharge frequency | Recharges per user per month | Plan validity, region | Measure engagement |
| Add-on uptake | Users buying data or OTT add-ons | Plan type, age of account | Cross-sell ideas |
-- Monthly ARPU by circle (aggregate first, then divide)
WITH rev AS (
SELECT circle, DATE_TRUNC('month', txn_date) AS month,
SUM(amount) AS revenue
FROM recharges
GROUP BY circle, DATE_TRUNC('month', txn_date)
),
active AS (
SELECT circle, DATE_TRUNC('month', usage_date) AS month,
COUNT(DISTINCT subscriber_id) AS active_users
FROM daily_usage
GROUP BY circle, DATE_TRUNC('month', usage_date)
)
SELECT r.circle, r.month,
ROUND(r.revenue / NULLIF(a.active_users, 0), 2) AS arpu
FROM rev r
JOIN active a USING (circle, month)
ORDER BY r.month, r.circle;
-- Users who moved from one plan to another between two months
SELECT prev.plan_id AS from_plan,
curr.plan_id AS to_plan,
COUNT(*) AS users
FROM subscriber_plan_month prev
JOIN subscriber_plan_month curr
ON curr.subscriber_id = prev.subscriber_id
AND curr.month = prev.month + INTERVAL '1 month'
WHERE prev.month = DATE '2026-09-01'
AND prev.plan_id <> curr.plan_id
GROUP BY prev.plan_id, curr.plan_id
ORDER BY users DESC;
SECTION 02Customer analysis: churn and retention
In prepaid-heavy markets, churn rarely looks like a formal cancellation. Customers simply stop recharging or move their number to another operator. Analysts define churn carefully — for example, no recharge and no usage for a set number of days — and look for early signals such as falling data usage, fewer recharges or repeated complaints. Retention teams use these lists for targeted offers.
| Signal | How it shows in data | Why it matters | Possible action |
|---|---|---|---|
| Inactivity | No usage for N days | Often precedes churn | Win-back offer |
| Falling usage | Data use dropping month on month | Customer may be using another SIM | Personalised data add-on |
| Recharge gaps | Longer gaps between recharges | Weakening engagement | Reminder or validity offer |
| Complaints | Repeated network or billing tickets | Frustration risk | Priority resolution |
-- Flag subscribers with no usage in the last 30 days
SELECT s.subscriber_id,
s.circle,
MAX(u.usage_date) AS last_active,
CURRENT_DATE - MAX(u.usage_date) AS days_inactive
FROM subscribers s
LEFT JOIN daily_usage u ON u.subscriber_id = s.subscriber_id
GROUP BY s.subscriber_id, s.circle
HAVING MAX(u.usage_date) IS NULL
OR CURRENT_DATE - MAX(u.usage_date) > 30;
import pandas as pd
u = pd.read_csv("monthly_usage.csv") # subscriber_id, month, data_gb
u = u.sort_values(["subscriber_id", "month"])
u["prev_gb"] = u.groupby("subscriber_id")["data_gb"].shift(1)
u["drop_pct"] = (u["prev_gb"] - u["data_gb"]) / u["prev_gb"] * 100
at_risk = u[(u["prev_gb"] >= 5) & (u["drop_pct"] >= 50)]
print(at_risk[["subscriber_id", "month", "prev_gb", "data_gb"]].head())
SECTION 03Network analysis: quality by region and site
Customers judge an operator mainly by network experience. Network teams track KPIs such as call drop rate, call setup success and data speeds by circle, city and site. Analysts help by combining these KPIs with complaint data and customer value, so engineers fix the sites that affect the most valuable or most frustrated customers first. This area often requires learning some telecom terminology.
| KPI | Definition | Breakdown | Analyst contribution |
|---|---|---|---|
| Call drop rate | Dropped calls / connected calls | Site, hour, technology | Find worst sites and hours |
| Call setup success | Successful setups / attempts | Circle, cell | Spot congestion patterns |
| Data throughput | Average speed delivered | Site, time of day | Compare with complaints |
| Complaint density | Complaints per thousand users | Area, issue type | Prioritise fixes by impact |
-- Sites with highest call drop rate in peak hours (minimum volume)
SELECT site_id,
city,
SUM(dropped_calls) AS dropped,
SUM(connected_calls) AS connected,
ROUND(100.0 * SUM(dropped_calls) / NULLIF(SUM(connected_calls), 0), 2) AS drop_rate_pct
FROM site_hourly_kpi
WHERE hour_of_day BETWEEN 18 AND 22
AND kpi_date >= CURRENT_DATE - 7
GROUP BY site_id, city
HAVING SUM(connected_calls) >= 1000
ORDER BY drop_rate_pct DESC
LIMIT 20;
-- Combine network KPIs with complaints for prioritisation
SELECT k.site_id,
k.drop_rate_pct,
COUNT(c.ticket_id) AS network_complaints
FROM weekly_site_kpi k
LEFT JOIN complaints c
ON c.site_id = k.site_id
AND c.category = 'NETWORK'
AND c.created_at >= CURRENT_DATE - 7
GROUP BY k.site_id, k.drop_rate_pct
ORDER BY network_complaints DESC, k.drop_rate_pct DESC;
SECTION 04Telecom analytics practice templates
Build a telecom portfolio project with synthetic data using these templates.
subscribers(subscriber_id, circle, plan_id, type, activated_on)
recharges(subscriber_id, txn_date, amount, plan_id)
daily_usage(subscriber_id, usage_date, data_mb, voice_min)
site_hourly_kpi(site_id, city, kpi_date, hour_of_day,
connected_calls, dropped_calls)
complaints(ticket_id, subscriber_id, site_id, category,
created_at)
Generate 3 months of synthetic rows with Python.
Page 1 — Revenue: ARPU by circle, plan mix trend
Page 2 — Customers: inactive users, churn trend,
at-risk list with usage drop
Page 3 — Network: worst 20 sites at peak hours,
complaints vs drop rate scatter
Summary card: 3 insights + 3 recommended actions
Telecom weekly note — Week __
Revenue: ARPU change vs last week, by circle
Customers: inactive users added; top risk segment
Network: top 3 sites to fix and why
Recommendation: one action per area
SECTION 05Tips for telecom data analyst roles
Telecom analytics has its own language and scale:
- Learn the vocabulary — ARPU, churn, circle, MOU (minutes of usage), port-out and site.
- Write efficient SQL — aggregate large usage tables before joining them.
- Use minimum volume filters — small samples create misleading rates.
- Respect subscriber privacy — work with IDs, never names or numbers, in analysis.
- Connect to action — every KPI should point to a team that can act on it.
SECTION 06Interview Q&A — telecom data analysts
Q1What is ARPU and how would you calculate it?
Average Revenue Per User is total revenue in a period divided by the number of active users in that period. Define "active" clearly and calculate by segment, such as circle or plan type.
Q2How would you define churn for prepaid customers?
Because prepaid users rarely cancel formally, churn is often defined as no recharge and no usage for a set number of days, or a confirmed port-out. The threshold should be validated against past behaviour.
Q3How would you find network sites that need attention first?
Calculate drop rates and other KPIs by site at peak hours with a minimum volume filter, then combine them with complaint counts and customer value to rank sites by impact.
Q4How do you handle very large usage tables in SQL?
Filter early by date, aggregate before joining, select only needed columns, use partitioned or indexed columns in filters and avoid repeated scans with CTEs or temporary tables.
Q5What early signals might suggest a customer is about to churn?
Falling usage, longer gaps between recharges, repeated complaints, a drop in add-on purchases and periods of inactivity are common early signals.
SECTION 07Test yourself — telecom data analysts quiz
Five questions. No sign-up.
0 / 5Pick an answer to see why it is right or wrong.
SECTION 08Frequently asked questions
What does a data analyst do in a telecom company?
They analyse revenue, customer and network data — tracking ARPU and plan performance, measuring churn and retention, and monitoring network quality — and share findings through reports and dashboards.
What skills are needed for a telecom data analyst?
Strong SQL for large datasets, Excel, a BI tool such as Power BI, basic statistics, Python for deeper analysis and familiarity with telecom terms like ARPU, churn and circles.
Is telecom a good industry for data analysts?
Telecom generates enormous volumes of structured data and depends on data-driven pricing, retention and network decisions, which creates meaningful analytics work.
What is a circle in Indian telecom?
A telecom circle is a licensed service area, often corresponding to a state or a group of states or a large metro, used by operators to organise operations and reporting.
How can I prepare for a telecom data analyst interview?
Learn the key metrics, practise SQL on large synthetic usage tables, build a revenue, churn and network dashboard, and be ready to explain how you would define active users and churn.
SECTION 09Related reads
Classroom & online · Noida
Prepare for analytics roles in data-heavy industries
Our Data Analytics Training Course builds SQL, Excel, Power BI and statistics skills through domain projects, including telecom-style revenue, churn and network analysis.
₹15,500 · full programme- SQL for large datasets
- Power BI dashboards
- Domain case studies
- Weekday & weekend batches