Career · Data Analytics · Banking 2026
Data Analytics Jobs in Banking: Role and Responsibilities
Quick summary — data analytics roles in banking
Banking is one of the largest and most stable employers of data analysts in India — because every banking decision is, at its core, a data decision. Whether it's approving a loan, flagging a fraudulent transaction, segmenting customers for a credit card offer, or reporting to RBI, each process produces and consumes enormous amounts of data. Data analysts in banking turn that data into decisions: they query loan books, segment customers, measure campaign lift, build dashboards for relationship managers, and prepare reports for compliance. The work is more structured than a startup analyst role — you are more likely to work with SQL, Excel, and Power BI or Tableau than with Python notebooks — but the impact is significant, the job is stable, and the domain has unusually strong career progression. Salaries for banking data analysts in India sit between ₹4–7 LPA at entry, ₹8–15 LPA for mid-level, and ₹15–25 LPA for senior roles, plus strong benefits and job security. This guide walks through what the role actually involves, the specific problems you solve, the tools, the skills, the salaries, and a realistic path in.
In this guide you will learn:
- What banking data analysts actually do — the day-to-day.
- The four core problems in banking analytics — credit, fraud, customer, compliance.
- The tools banks actually use — and why they differ from startups.
- The skills hiring managers want — beyond generic analytics.
- Salary ranges in India and a realistic path in.
SECTION 01What banking data analysts actually do
The role is more defined than a startup analyst role — you know what you will be working on, and you will not be chasing product managers for requirements every day. Here is the split of what a banking analyst actually does.
| Task | What It Looks Like | Share of Time |
|---|---|---|
| SQL analysis | Querying loan books, transaction logs, customer tables | 30% |
| Dashboards | Power BI or Tableau for relationship managers, executives | 25% |
| Ad-hoc requests | "How many customers in this segment churned last month?" | 20% |
| Reporting | Scheduled reports for risk, compliance, and business heads | 15% |
| Deep-dive analysis | Why did loan disbursement drop in Q3? Why is NPA rising in a segment? | 10% |
SECTION 02The four core problems in banking analytics
Banking analytics is not one problem — it is four categories of work, each with its own data, metrics, and business impact. Here are the four that dominate entry-level analyst roles.
| Problem | What Analysts Do | Business Impact |
|---|---|---|
| Credit risk analysis | Analyse loan portfolios, default rates, NPA trends by segment | Better lending decisions; reduced NPAs |
| Fraud detection support | Flag suspicious transaction patterns, investigate alerts | Direct loss avoidance |
| Customer analytics | Segment customers, measure cross-sell, predict churn | Campaign efficiency; retention |
| Regulatory reporting | Prepare RBI-required reports: CRR, SLR, NPA classifications | Compliance; avoids penalties |
-- Loan portfolio analysis — the core analytical query.
-- Every banking analyst writes queries like this weekly.
-- Question: what is the NPA rate by loan type and region?
-- NPA = Non-Performing Asset (loan overdue > 90 days)
WITH loan_status AS (
SELECT
loan_id,
loan_type, -- home, auto, personal, business
region,
disbursed_amount,
outstanding_amount,
days_past_due,
CASE
WHEN days_past_due > 90 THEN 'NPA'
WHEN days_past_due > 30 THEN 'SMA-2'
WHEN days_past_due > 0 THEN 'SMA-1'
ELSE 'Standard'
END AS asset_classification
FROM loans
WHERE disbursed_date >= DATE_SUB(CURRENT_DATE, INTERVAL 12 MONTH)
)
SELECT
loan_type,
region,
COUNT(*) AS total_loans,
SUM(disbursed_amount) / 10000000.0 AS disbursed_cr,
SUM(outstanding_amount) / 10000000.0 AS outstanding_cr,
COUNTIF(asset_classification = 'NPA') AS npa_count,
SUM(IF(asset_classification = 'NPA', outstanding_amount, 0))
/ 10000000.0 AS npa_cr,
ROUND(
100.0 * SUM(IF(asset_classification = 'NPA', outstanding_amount, 0))
/ SUM(outstanding_amount),
2
) AS npa_rate_pct
FROM loan_status
GROUP BY loan_type, region
ORDER BY npa_rate_pct DESC;
-- Sample output:
-- loan_type region total_loans outstanding_cr npa_cr npa_rate_pct
-- personal North 12,450 340.2 18.4 5.41
-- business East 3,200 210.8 9.1 4.32
-- auto South 8,100 195.4 6.2 3.17
-- home West 6,900 520.0 8.9 1.71
-- What this teaches:
-- - CTEs for readability
-- - Asset classification logic (RBI's SMA/NPA buckets)
-- - Business-friendly output (percentages, crores)
-- - Ordering by the metric the business cares about
-- What an interviewer wants to hear:
-- "I classified loans by RBI's days-past-due buckets, then
-- computed NPA rate by loan_type and region to identify
-- the segments with the highest credit risk."
# Customer segmentation — the second core banking analysis.
# Banks want to know which customers to target and how.
import pandas as pd
# Load transactions and customer data
customers = pd.read_csv("customers.csv")
transactions = pd.read_csv("transactions.csv")
# Build a customer-level feature table
features = transactions.groupby("customer_id").agg(
monthly_spend=("amount", lambda x: x.sum() / 12),
txn_count_12m=("txn_id", "count"),
avg_txn_size=("amount", "mean"),
days_since_last_txn=(
"txn_date",
lambda x: (pd.Timestamp.today() - pd.to_datetime(x).max()).days,
),
).reset_index()
# Join customer attributes
df = customers.merge(features, on="customer_id", how="left")
df = df.fillna({
"monthly_spend": 0,
"txn_count_12m": 0,
"avg_txn_size": 0,
"days_since_last_txn": 999,
})
# Simple RFM segmentation
df["r_score"] = pd.qcut(df["days_since_last_txn"], 4, labels=[4, 3, 2, 1]).astype(int)
df["f_score"] = pd.qcut(df["txn_count_12m"], 4, labels=[1, 2, 3, 4]).astype(int)
df["m_score"] = pd.qcut(df["monthly_spend"], 4, labels=[1, 2, 3, 4]).astype(int)
# Combine into segments
def segment(row):
r, f, m = row["r_score"], row["f_score"], row["m_score"]
if r >= 3 and f >= 3 and m >= 3:
return "Champions"
if r >= 3 and m >= 3:
return "Loyal high-value"
if r <= 2 and f >= 3:
return "At risk"
if r <= 2 and f <= 2:
return "Lost"
return "Promising"
df["segment"] = df.apply(segment, axis=1)
# Summarise by segment
summary = df.groupby("segment").agg(
customers=("customer_id", "count"),
avg_monthly_spend=("monthly_spend", "mean"),
avg_txn_count=("txn_count_12m", "mean"),
).round(1)
print(summary)
# What this teaches:
# - Feature engineering from transaction data
# - RFM segmentation — the classic banking framework
# - Business-friendly output (segment sizes, value, behaviour)
#
# Why it matters in a bank:
# Marketing uses this to decide who gets which campaign.
# Relationship managers use it to prioritise calls.
# Risk uses it to understand exposure by segment.
# Interview question:
# "How would you segment customers for a credit card campaign?"
# This is the answer.
-- Dashboard query — NPA trend report.
-- The report that every bank's risk committee looks at monthly.
-- Question: how is the NPA rate trending by month and segment?
-- (This feeds a Power BI / Tableau dashboard, not a one-off report.)
SELECT
DATE_TRUNC(month_end_date, MONTH) AS month,
segment, -- retail, SME, corporate
COUNT(*) AS loan_count,
SUM(outstanding_amount) / 10000000.0 AS outstanding_cr,
SUM(IF(days_past_due > 90, outstanding_amount, 0))
/ 10000000.0 AS npa_cr,
ROUND(
100.0 * SUM(IF(days_past_due > 90, outstanding_amount, 0))
/ SUM(outstanding_amount),
2
) AS npa_pct,
-- Month-over-month change
ROUND(
100.0 * (
SUM(IF(days_past_due > 90, outstanding_amount, 0))
- LAG(SUM(IF(days_past_due > 90, outstanding_amount, 0)))
OVER (PARTITION BY segment ORDER BY month_end_date)
) / NULLIF(
LAG(SUM(IF(days_past_due > 90, outstanding_amount, 0)))
OVER (PARTITION BY segment ORDER BY month_end_date),
0
),
2
) AS mom_npa_change_pct
FROM loans_monthly_snapshot
WHERE month_end_date >= DATE_SUB(CURRENT_DATE, INTERVAL 12 MONTH)
GROUP BY month, segment
ORDER BY month DESC, segment;
-- Sample output (npa_pct is what goes on the dashboard):
-- month segment outstanding_cr npa_pct mom_npa_change_pct
-- 2026-09 retail 6,240.5 2.41 +0.08
-- 2026-09 SME 1,820.4 5.12 +0.21
-- 2026-09 corporate 8,120.0 1.08 -0.04
-- 2026-08 retail 6,180.2 2.33 +0.12
-- ...
-- What this teaches:
-- - Window functions (LAG) for month-over-month comparison
-- - Cohort snapshots (month_end_date) vs live tables
-- - Aggregations that feed a dashboard, not just an answer
-- - Business-friendly output format
-- Why this matters in banking:
-- The risk committee uses this to decide credit tightening.
-- Regulators use this in quarterly reviews.
-- A single analyst owns this report — and it is visible
-- to the CEO. That is the kind of responsibility you get
-- in a bank that you would not get at a startup as a junior.
SECTION 03The tools banks actually use
Banking analytics has its own tool culture. It is more SQL-heavy, more Excel-heavy, and more BI-tool-heavy than startup analytics. Here is what you will actually work with.
| Tool | Where It Fits | Priority |
|---|---|---|
| SQL | Querying loan books, transaction logs, customer data | Essential |
| Excel | Ad-hoc analysis, financial models, stakeholder reports | Essential |
| Power BI or Tableau | Dashboards for business and management | Essential |
| Python (pandas) | Deeper analysis, segmentation, automation | High |
| SAS | Legacy models in risk and regulatory reporting | High |
| R | Credit scoring and statistical models (in some banks) | Medium |
| Snowflake / Redshift | Data warehouse; where analysts query | High |
| Jira / Confluence | Tracking requests and documenting analysis | Medium |
| Git | Versioning analysis scripts | Medium |
| Tableau Server / Power BI Service | Publishing dashboards to business users | High |
SECTION 04The skills hiring managers want
Banking analytics hiring managers want the same core skills as any analytics team — plus a few that only matter in a regulated, risk-heavy domain.
| Skill | Why It Matters in Banking | Priority |
|---|---|---|
| SQL | The primary tool; every analysis starts with a query | Essential |
| Excel | Still the language of finance and business reporting | Essential |
| Business metrics | NPA, CASA, LTV, CAC, ROA, CRR, SLR — you need to know what the numbers mean | Essential |
| Dashboarding | Power BI or Tableau for business-facing reporting | Essential |
| Python (pandas) | Deeper analysis, segmentation, automation of recurring work | High |
| Regulatory awareness | RBI guidelines, NPA classification, KYC/AML basics | High |
| Statistics | Segmentation, A/B testing, sampling — same as any analyst role | High |
| Data storytelling | Communicating findings to senior management, risk committees | Essential |
| Attention to detail | Numbers in banking must be exact — a misplaced decimal is a real problem | Essential |
SECTION 05Salary ranges in India
Banking analyst salaries are stable and competitive. They tend to start slightly below product-company analytics roles but catch up quickly, with stronger long-term job security. Here are realistic ranges in India for 2026.
| Experience | Typical Salary | Notes |
|---|---|---|
| Fresher (0–1 yr) | ₹4 – 7 LPA | Strong SQL + Excel + a banking domain project |
| Junior (1–3 yrs) | ₹7 – 12 LPA | Ownership of a dashboard or reporting line |
| Mid-level (3–5 yrs) | ₹12 – 20 LPA | Lead analyst roles; some management |
| Senior (5–8 yrs) | ₹20 – 32 LPA | Senior analyst, analytics manager |
| AVP / Director | ₹35 – 55+ LPA | At large private banks and NBFCs |
SECTION 06A realistic path in
Here is a realistic 6-month plan for someone with basic Excel and some analytical experience, assuming 8–10 hours per week.
| Month | Focus | Output |
|---|---|---|
| Month 1 | SQL fundamentals — joins, aggregation, window functions | Comfortable with analytical queries |
| Month 2 | Banking metrics — NPA, CASA, LTV, CAC, ROA | A cheat sheet you can defend in an interview |
| Month 3 | Python (pandas) — load, clean, analyse | A small analysis on a public banking dataset |
| Month 4 | Power BI or Tableau — dashboards | A dashboard using the same data |
| Month 5 | End-to-end banking project — loans, customers, NPA | A complete portfolio project |
| Month 6 | Resume, mock interviews, applications | Interview-ready portfolio |
SECTION 07Interview Q&A
Q1What does a data analyst actually do in banking?
They query loan books, transaction logs, and customer data; build dashboards for business and management; prepare regulatory reports; and do deep-dive analysis on specific business questions like "why did NPA rise in this segment?" The role is heavily SQL- and Excel-driven, with some Python and BI tooling, and it requires fluency in business metrics like NPA, CASA, LTV, and CAC.
Q2What are the core analytics problems in banking?
Four categories dominate: credit risk analysis (loan portfolios, NPA trends), fraud detection support (flagging suspicious transactions), customer analytics (segmentation, cross-sell, churn), and regulatory reporting (RBI-required reports like CRR, SLR, NPA classifications). Entry-level roles typically cover one or two of these in depth.
Q3Do I need Python to work in banking analytics?
Not always. SQL and Excel are the core tools of most banking analyst roles, and many positions do not require Python at all. But Python (pandas) is increasingly expected for deeper analysis, segmentation, and automation. Learning it will widen the roles you can apply for and let you do more interesting work.
Q4What is a realistic fresher salary for banking analytics in India?
₹4–7 LPA for freshers with strong SQL, Excel, and a banking domain project. With 3–5 years of experience, ₹12–20 LPA. Senior and AVP roles reach ₹20–55+ LPA. Banking roles often come with benefits that add 20–30% to the headline number, plus better job security than product startups.
Q5What should be in a banking analytics portfolio?
One or two banking-specific projects, not generic ones. A loan portfolio analysis with NPA classification by segment. A customer segmentation using RFM. A dashboard that mirrors what a real bank would actually use. Document the business context and what decisions the analysis supports — that is what makes the portfolio compelling in interviews.
SECTION 08Test yourself — banking analytics
Five questions. No sign-up.
0 / 5Pick an answer to see why it is right or wrong.
SECTION 09Frequently asked questions
What does a banking data analyst actually do?
They query loan books, transaction logs, and customer data; build dashboards for business and management; prepare regulatory reports; and answer specific business questions. The role is heavily SQL- and Excel-driven, with some Python and BI tooling, and requires fluency in banking-specific metrics like NPA, CASA, LTV, and CAC.
Do I need to know finance to work in banking analytics?
Not a finance degree, but you do need to understand the business metrics that appear in every analysis. NPA, CASA, LTV, CAC, ROA, CRR, SLR — these terms come up daily. You can learn them in a few weeks, and they are what separate a strong banking analyst from a generic one.
Are banking analyst roles stable?
Yes — banking analytics roles are generally more stable than equivalent roles at product startups. Banks are regulated, capital-heavy institutions that plan on multi-year horizons, and analytics is a core part of their decision-making. Layoffs happen, but they are rarer and more structured than in tech startups.
What tools do banking analysts actually use?
SQL, Excel, Power BI or Tableau, and increasingly Python (pandas) and SAS. Snowflake, Redshift, or another data warehouse is usually where the data lives. The tools are standard analytics tools — the domain constraints (regulation, risk, compliance) are what make banking distinct.
What is the best first project for a banking analytics portfolio?
A loan portfolio analysis with NPA classification by segment, or a customer segmentation using RFM. Both are realistic banking tasks, both can be done on public datasets, and both demonstrate the exact skills banking interviews probe — SQL fluency, business metrics understanding, and clear output. A well-documented NPA dashboard is worth more than ten generic analytics projects.
SECTION 10Related reads
Classroom & online · Noida
Learn banking analytics — with Uncodemy
Our Data Analytics Training Course covers SQL, Excel, Python, Power BI, and banking-specific projects — with real loan and customer datasets. Built for candidates who want to be hired as banking analysts, not just to learn tools.
₹32,000 · full programme- SQL + Excel
- Python + Power BI
- Banking domain projects
- Weekday & weekend batches