Skip to content

Senior Data Analyst Interview Questions & Answers

40 questions for Senior Data Analyst interviews — 21 medium, 19 hard.

About the Senior Data Analyst role

A senior data analyst owns analysis for a business area end to end: framing problems, choosing metrics, designing experiments, guiding junior analysts and presenting recommendations to leadership. Interviews test advanced SQL and statistics, A/B testing, KPI design and metric consistency, dashboard strategy and stakeholder management. Expect open-ended case studies and behavioural questions about influence, trade-offs, prioritisation and mentoring junior analysts.

Experiment design Metric definition and governance Advanced SQL Executive storytelling Mentoring and influence
Solved for this roleStart practicing
3 QUESTIONS FREESign up to unlock the full question bank and track your progress.Unlock every question and answer, then continue practising company-wise and package-wise.
3 questions free Unlock the rest in seconds
01

How do you present insights to non-technical stakeholders?

Save to ▾
Show answer
Lead with the answer, use one simple chart per point, translate numbers into business impact (₹, %), avoid jargon and end with a clear recommendation and next step.
02

Explain GROUP BY with an example.

SQLMedium
Save to ▾
Show answer
It groups rows sharing values so aggregates run per group, for example SELECT region, SUM(sales) FROM orders GROUP BY region.
03

How do you decide the sample size for a survey?

Save to ▾
Show answer
It depends on margin of error, confidence level and expected variability; larger samples give smaller errors with diminishing returns.
04

The finance dashboard and the sales dashboard show different revenue for last month. How do you resolve it?

Save to ▾
Show answer
Start by listing both definitions: gross or net of returns and discounts, with or without tax, booking date or invoice date, and which entities are included. Compare at a detailed level for one region to find exactly where the difference arises. Usually both are correct for their purpose. Agree with both owners which is the official revenue KPI, rename the other clearly, such as booked sales, and document it in the metric dictionary.
05

What is the LAMBDA function in Excel and when would you use it?

ExcelHard
Save to ▾
Show answer
LAMBDA lets you write a custom, reusable function with formulas only, no VBA. You define it, for example =LAMBDA(price, rate, price*(1+rate)), and save it in the Name Manager as AddGST, then call =AddGST(B2, 18%) anywhere. Helper functions like MAP, REDUCE, SCAN and BYROW pair with it for array logic. Use it when a complex calculation repeats across a workbook, so the logic lives in one tested place.
06

Tell me about a time you had to say no to a stakeholder's request.

Save to ▾
Show answer
Situation: a regional manager asked me to show his team's numbers excluding two weeks of a stock-out. Task: be helpful without misreporting. Action: I explained that removing the period would make his region incomparable with others, and offered an annotation and a separate view showing the stock-out impact. Result: he accepted, the leadership review understood the dip, and the main dashboard stayed consistent for every region.
07

What is the difference between a clustered and a non-clustered index?

SQLMedium
Save to ▾
Show answer
A clustered index defines the physical order of rows (one per table); a non-clustered index is a separate structure with pointers to the rows.
08

Explain funnel analysis.

Save to ▾
Show answer
Track users through steps (visit → product view → cart → payment), compute conversion between each step, find the biggest drop, segment by device and source, and suggest fixes to test.
09

Design a dashboard for CXOs — what principles do you follow?

Save to ▾
Show answer
Start from the business questions, show 4–6 top KPIs with trend vs target, allow drill-downs, keep colours consistent, remove clutter, add time/region filters and give one clear insight per visual.
10

How would you segment customers?

Save to ▾
Show answer
Use RFM scoring or clustering on behaviour and value, validate segments with business teams and attach an action to each segment.
11

How would you present the same churn analysis to the CEO and to the customer support team?

Save to ▾
Show answer
For the CEO, lead with the headline and money: churn rose 2 points, costing about 3 crore annually, mainly from one segment, with two recommended actions and their expected impact, all on one or two slides. For the support team, go deeper into drivers they control: ticket types, resolution times and specific customer pain points, with operational next steps and how progress will be tracked. Same data, different level and call to action.
12

A senior stakeholder insists the data supports their conclusion, but your analysis does not. How do you handle it?

Save to ▾
Show answer
Stay respectful and focus on evidence, not opinions. Ask what they are seeing that leads to their view, as they may know context you lack. Walk through your method transparently, show the specific numbers, and test their hypothesis together on a cut they suggest. If the data still disagrees, present both views with their assumptions to the decision maker. Never adjust the analysis to fit a preferred answer.
13

How do you calculate a simple customer lifetime value?

Save to ▾
Show answer
A simple formula is CLV = average order value x purchase frequency per year x gross margin x expected lifetime in years. Example: 800 rupees x 6 orders x 30 percent margin x 3 years = 4,320 rupees. Expected lifetime can be estimated as 1 divided by annual churn rate. A better version discounts future value and calculates CLV by cohort or segment, because averages hide very different customer groups.
14

What is the difference between a data warehouse, a data lake and a lakehouse?

SQLMedium
Save to ▾
Show answer
A data warehouse stores cleaned, structured data in modelled tables optimised for SQL reporting. A data lake stores raw data of any type, such as logs, JSON and images, cheaply in files, with structure applied when read. A lakehouse combines them: open table formats on lake storage add transactions, schemas and fast SQL on top of files. Analysts typically query the warehouse or the curated layer of a lakehouse.
15

Leadership wants a single revenue number for next quarter, but your forecast is uncertain. How do you present it?

Save to ▾
Show answer
Show ranges, not just a single number: a forecast line with a shaded prediction interval, or a statement like revenue will likely be between 48 and 55 crore, most likely 51. Explain the main assumptions and what would change the outcome, perhaps with best, base and worst scenarios. Use plain words such as likely or unlikely consistently. Hiding uncertainty makes a forecast look precise but leads to bad decisions when reality differs.
16

Describe a time you influenced a decision without having formal authority.

Save to ▾
Show answer
Situation: the marketing team planned to spend most of its budget on a channel with high clicks. Task: as the analyst, I believed the channel brought low-quality customers. Action: I built a cohort view showing 90-day repeat purchase and revenue per customer by channel, and walked the marketing lead through it before the planning meeting. Result: they shifted 30 percent of that budget to better channels, and the next quarter's cost per retained customer fell noticeably.
17

Which KPIs would you include in an HR attrition dashboard?

Save to ▾
Show answer
Core KPIs: headcount, monthly and annualised attrition rate, voluntary versus involuntary split, and early attrition within the first 90 days or first year. Breakdowns by department, location, manager, tenure band, performance rating and salary band show where it concentrates. Add hiring metrics such as time to fill and offer acceptance rate, and exit reasons from exit interviews. Protect privacy by hiding very small groups.
18

How do you optimise a slow SQL query?

SQLHard
Save to ▾
Show answer
Read the execution plan, add or fix indexes, select only needed columns, filter early, avoid functions on indexed columns, and replace correlated subqueries with joins.
19

Business teams have built hundreds of their own reports, each with its own revenue logic. How do you balance self-service with governed dashboards?

Save to ▾
Show answer
A good model is a governed core plus self-service on top. The central team builds certified datasets with agreed metric definitions and a small set of official dashboards for key KPIs. Business users then build their own views on those certified datasets, not on raw extracts. This gives speed and flexibility without twenty versions of revenue. Training, naming conventions and periodic clean-up of unused content keep it healthy.
20

Find customers who ordered in January but not in February.

SQLHard
Save to ▾
Show answer
SELECT DISTINCT customer_id FROM orders WHERE month = 'Jan' EXCEPT SELECT customer_id FROM orders WHERE month = 'Feb';
21

Your findings deck has 30 slides and you have 10 minutes with leadership. How do you cut it down?

Save to ▾
Show answer
Write the single key message first, then keep only slides that directly support it, usually three to five: the headline finding, the main driver, the impact in money, and the recommendation with next steps. Merge related charts, use action titles, and move everything else to an appendix for questions. Rehearse to fit in about seven minutes, leaving time for discussion, because the discussion is where decisions are made.
22

Write SQL to calculate monthly customer churn rate.

Save to ▾
Show answer
WITH active AS ( SELECT DISTINCT customer_id, DATE_TRUNC('month', order_date) AS month FROM orders ) SELECT a.month, COUNT(*) AS active_customers, COUNT(*) - COUNT(n.customer_id) AS churned_next_month, ROUND(100.0 * (COUNT(*) - COUNT(n.customer_id)) / COUNT(*), 1) AS churn_pct FROM active a LEFT JOIN active n ON n.customer_id = a.customer_id AND n.month = a.month + INTERVAL '1 month' GROUP BY a.month ORDER BY a.month;
23

Tell me about a time you designed or improved a data model.

Save to ▾
Show answer
Situation: our sales reports used five separate Excel extracts and numbers never matched. Task: build one reliable model. Action: I listed the business questions, fixed the grain at invoice line, built conformed date, product and branch dimensions and moved logic into SQL views, then rebuilt the Power BI reports on top. Result: refresh time dropped from 40 to 6 minutes and month-end reconciliation queries fell sharply.
24

A retail chain asks you which of its 120 stores it should close. How do you approach it?

Save to ▾
Show answer
Clarify the goal first: profit, cash or market share. Build a store-level dataset with revenue, contribution margin after rent and staff, trend over 24 months, footfall, catchment demographics and cannibalisation with nearby stores. Separate structural losers from stores that are new or temporarily disrupted. Estimate how much revenue would shift to nearby stores or online if a store closes. Present a shortlist with scenarios and risks, not a single answer.
25

Tell me about a time you retired or consolidated reports that nobody used.

Save to ▾
Show answer
Situation: our team maintained over 60 scheduled reports and spent two days a month fixing them. Task: reduce the load without upsetting users. Action: I checked usage logs, listed reports not opened in 90 days, contacted owners and merged overlapping ones into four dashboards with filters. I archived the rest with a 30-day notice. Result: we retired 38 reports, only two were requested back, and maintenance time halved.
26

How do you calculate a rolling average?

SQLMedium
Save to ▾
Show answer
df['sales'].rolling(window=7).mean() gives a 7-period moving average, useful to smooth daily noise.
27

How would you calculate retention using SQL?

SQLHard
Save to ▾
Show answer
Find each user's first activity date as a cohort, join to later activity, and compute the share of each cohort active in day, week or month N.
28

What are indexes and when can they hurt?

SQLMedium
Save to ▾
Show answer
Indexes speed up lookups by keeping sorted pointers. They slow writes and use space, so index columns used in filters and joins, not every column.
29

What is cohort analysis?

Save to ▾
Show answer
Grouping users by a shared start date or trait and tracking behaviour over time, for example monthly retention per signup month.
30

What is statistical significance vs practical significance?

Save to ▾
Show answer
A result can be statistically significant yet too small to matter; always report effect size and business impact together with the p-value.
31

What is a CTE and why use it?

SQLMedium
Save to ▾
Show answer
A Common Table Expression is a named temporary result defined with WITH that makes complex queries readable and allows recursion.
32

What is a confidence interval?

Save to ▾
Show answer
A confidence interval gives a range of plausible values for a population parameter based on a sample. A 95 percent interval for average order value of 820 to 880 rupees means that if we repeated the sampling many times, about 95 percent of such intervals would contain the true average. Wider intervals mean more uncertainty; larger samples narrow them. Reporting the interval is more honest than reporting one number.
33

What is a query execution plan and how do you read it?

SQLHard
Save to ▾
Show answer
An execution plan shows how the database will run a query: which indexes it uses, join methods such as nested loop or hash join, scan types and estimated rows. You get it with EXPLAIN, or EXPLAIN ANALYZE for actual timings. Look for full table scans on big tables, large gaps between estimated and actual rows, and expensive sorts. These point to missing indexes, stale statistics or non-sargable filters like functions on columns.
34

What is a slowly changing dimension? Explain Type 1 and Type 2.

SQLHard
Save to ▾
Show answer
A slowly changing dimension handles attributes that change over time, like a customer's city. Type 1 overwrites the old value, so history is lost and past sales appear under the new city. Type 2 adds a new row with a new surrogate key plus valid_from, valid_to and is_current columns, so old sales stay linked to the old city. Type 2 preserves accurate history but makes the table larger and joins more careful.
35

Write SQL to find users who logged in on at least 3 consecutive days.

SQLHard
Save to ▾
Show answer
WITH d AS ( SELECT DISTINCT user_id, CAST(login_time AS DATE) AS dt FROM logins ), g AS ( SELECT user_id, dt, dt - CAST(ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY dt) AS INT) AS grp FROM d ) SELECT DISTINCT user_id FROM g GROUP BY user_id, grp HAVING COUNT(*) >= 3; -- gaps and islands: consecutive dates share the same grp value
36

How do you handle outliers in Pandas?

Save to ▾
Show answer
Detect with IQR or z-score, then cap with clip, remove, transform with log, or keep and flag them depending on whether they are errors or real events.
37

Your analysis shows that a flagship initiative championed by leadership is not working. How do you present it?

Save to ▾
Show answer
Prepare carefully and stay factual. Share the finding early with the initiative owner privately so they are not surprised in a big meeting. Lead with the question asked, the method and the evidence, acknowledge limitations and what is working, and avoid blaming anyone. Offer options, such as fixing a specific step, narrowing the scope or stopping, with estimated impact. Bad news delivered with solutions is received far better.
38

RANK vs DENSE_RANK vs ROW_NUMBER?

SQLMedium
Save to ▾
Show answer
ROW_NUMBER gives a unique sequence. RANK gives ties the same rank and skips the next (1, 1, 3). DENSE_RANK gives ties the same rank without gaps (1, 1, 2).
39

Sales dropped 20% last month. How will you analyse it?

Save to ▾
Show answer
Confirm data accuracy first → break down by region, product, channel and customer segment → compare with seasonality and last year → check pricing, stock-outs, marketing changes and funnel conversion → present the root causes with clear charts.
40

A manager asks for a dashboard that refreshes every minute. How do you decide the right refresh frequency?

Save to ▾
Show answer
Match refresh to how quickly decisions are made. A monthly board pack needs daily refresh at most, while a warehouse dispatch board may need 15-minute or live updates. Faster refresh costs more in source load, licensing and complexity, and can show incomplete data. Ask how quickly someone will act on a change, check when upstream systems finish loading, and always display the last refreshed time on the dashboard.

Frequently asked questions

What does a Senior Data Analyst do?

A senior data analyst owns analysis for a business area end to end: framing problems, choosing metrics, designing experiments, guiding junior analysts and presenting recommendations to leadership. Interviews test advanced SQL and statistics, A/B testing, KPI design and metric consistency, dashboard strategy and stakeholder management. Expect open-ended case studies and behavioural questions about influence, trade-offs, prioritisation and mentoring junior analysts.

Which skills are tested in a Senior Data Analyst interview?

Expect questions on Experiment design, Metric definition and governance, Advanced SQL, Executive storytelling, Mentoring and influence. Most rounds also ask you to explain a project and solve one practical problem live.

How do I prepare for a Senior Data Analyst interview?

Revise Statistics and Case Studies, Dashboards and KPIs, Data Storytelling, SQL first using the topic sheets, practise the questions on this page aloud, then do one full mock interview to practise timing.