New · Cohort 4AI-Powered Data Engineering Cohort 4 goes live 3 OctoberRegister now
Data Analyst Interview Questions

Data Analyst Interview Questions and Answers, Round by Round

What each round of a data analyst interview asks in India and how to answer it: the SQL queries that decide the technical round, a method for business case questions, what the Excel and Power BI round checks, the statistics product companies add, and the stories the hiring manager wants.

By Durgesh Yadav — Senior Data Engineer @ 7-Eleven · Updated 27 Sept 2026. Preparation guidance, not a hiring guarantee.

Jump to 14 answered questionsBeginner to Advanced · 6 FAQs · 6-part guide

What rounds does a data analyst interview have in India?

Usually four to five: a screening test in SQL and Excel (sometimes a take-home), a live SQL round, a business case where you diagnose a metric or pick KPIs, a BI or dashboard round on Power BI or Tableau, and a hiring-manager conversation about a decision your analysis changed. Product companies add a statistics round on A/B tests and confidence intervals; services companies lean harder on SQL and Excel.

Guide

What To Learn And How To Practice

What rounds does a data analyst interview have?

The loop is predictable once you have seen it twice, and each round tests one thing. Candidates who grind question lists prepare for the wrong shape; learn the rounds, then practise the one that rejects the most people, which is SQL.

Screening: an online SQL and Excel test, or a take-home dataset with three questions and a deadline
SQL round: live queries on a small schema, with the interviewer watching the row counts
Business case: a metric moved, or a KPI needs choosing, and you talk through it
BI round: Power BI or Tableau, from data model to a chart a manager would read
Statistics (product companies): A/B tests, confidence intervals, bias
Hiring manager: a decision your analysis changed, and a number you got wrong

Which SQL questions decide the analyst round?

Five patterns cover most of what gets asked: an aggregate per period, a top-N per group, a cohort or retention query, a running total, and a join that must not multiply rows. Say the expected output before writing the query. On the orders table used below (customer, city, amount, order_date), the interviewer already knows the answer rows.

Monthly active customers, and why COUNT(DISTINCT) is the whole question
Top two products per city with DENSE_RANK
Month-one retention by signup cohort
Running revenue total per city
Customers with no orders in the last 90 days

Monthly active customers

SELECT DATE_TRUNC('month', order_date) AS month, COUNT(DISTINCT customer) AS active FROM orders GROUP BY 1 ORDER BY 1. Without DISTINCT you count orders, not customers, and a customer with five orders in March is counted five times. Say that before the interviewer asks.

Top two products per city

SELECT city, product, revenue FROM (SELECT city, product, SUM(amount) AS revenue, DENSE_RANK() OVER (PARTITION BY city ORDER BY SUM(amount) DESC) AS rnk FROM orders GROUP BY city, product) t WHERE rnk <= 2. DENSE_RANK keeps both products when two tie for second; ROW_NUMBER would drop one at random.

Month-one retention

WITH first AS (SELECT customer, MIN(DATE_TRUNC('month', order_date)) AS cohort FROM orders GROUP BY customer) SELECT f.cohort, COUNT(DISTINCT o.customer) * 1.0 / COUNT(DISTINCT f.customer) AS retained FROM first f LEFT JOIN orders o ON o.customer = f.customer AND DATE_TRUNC('month', o.order_date) = f.cohort + INTERVAL '1 month' GROUP BY f.cohort. The retention condition lives in ON, not WHERE, or the cohorts with zero retained customers disappear.

Running total per city

SELECT city, order_date, SUM(amount) OVER (PARTITION BY city ORDER BY order_date ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS running FROM orders. Two orders on the same day get different running values in the order the engine happens to pick; add a tie-break column to ORDER BY and say why.

No orders in 90 days

SELECT c.customer FROM customers c LEFT JOIN orders o ON o.customer = c.customer AND o.order_date >= CURRENT_DATE - INTERVAL '90 days' WHERE o.customer IS NULL. The date filter belongs in ON; in WHERE it would remove the very customers you are looking for.

How do you answer a business case like 'revenue fell 15% last week'?

With a method, spoken aloud, before any number. First, pin the metric: which revenue, gross or net, which week against which baseline, which time zone. Second, rule out the data: did a pipeline fail, did tracking change, is the week complete. Third, segment: region, product, channel, new versus returning customers, device. Fourth, quantify how much of the drop each segment explains. Fifth, name the outside events (a price change, a competitor launch, a holiday) and say what you would check next. Only then recommend. Interviewers score the order of those steps more than the final guess. A candidate who segments before checking the data quality will one day present a pipeline outage as a market trend.

Clarify the definition and the comparison window before touching data
Check data completeness first: late-arriving rows and a broken tag look exactly like a real drop
Segment along the dimensions the business already uses, and find where the drop concentrates
Turn the finding into one number: 'Pune accounts for 12 of the 15 points'
End with the two things you would verify next, not a story

A worked answer, in six sentences

Net revenue, week 38 against week 37, both complete. The pipeline ran and order counts match the source, so the drop is real. By city, Pune is down 40% and every other city is flat, so Pune explains about 12 of the 15 points. Within Pune, new-customer orders halved while returning customers held, which points at acquisition rather than product. Marketing paused the Pune paid campaign on Monday; that is the hypothesis. I would confirm with the campaign log and the daily order curve before saying so in the meeting.

Choosing KPIs for a new feature

One outcome metric the feature exists to move, two or three input metrics the team can act on weekly, and one guardrail that must not get worse. For a 'save for later' button: repeat purchase rate; saves per user and save-to-purchase conversion; and checkout completion, which must not drop because saving replaced buying.

What does the Excel and Power BI round check?

Excel questions check whether you can clean and summarise a raw sheet without help: lookups, pivots, Power Query, and the checks that prove the numbers. Power BI questions check whether you understand the model under the chart: the difference between a measure and a calculated column, how CALCULATE changes filter context, why a star schema beats one wide table, and how row-level security is set up. Then a chart question, and the answer is always the simplest chart that shows the comparison.

XLOOKUP, INDEX and MATCH, and when a VLOOKUP silently returns the wrong row
Pivot tables with a calculated field, and the same summary in Power Query
Measure versus calculated column, and where each is evaluated
CALCULATE with a filter, and what 'filter context' means in one sentence
Star schema: facts, dimensions and why relationships go one way
Line for change over time, bar for comparison, table for exact values; a pie for almost nothing

Measure or calculated column?

A calculated column is computed row by row when the data loads and stored in the table; a measure is computed at query time over whatever the visual has filtered. 'Total sales' is a measure; 'order year' is a column. Putting a total in a column is the mistake the interviewer is waiting for, because it stops responding to slicers.

Filter context in one sentence

The set of rows each visual, slicer and row header has already narrowed down before your measure runs; CALCULATE(SUM(sales[amount]), sales[city] = "Pune") replaces the city part of that set with Pune and leaves the rest alone.

The VLOOKUP trap

VLOOKUP with approximate match (the default in older habits) returns the nearest lower value on an unsorted list, so a missing customer id returns the wrong customer's numbers without an error. XLOOKUP defaults to exact match and lets you specify what to return when nothing is found.

How much statistics do analyst interviews ask, and how do you explain it?

Product companies ask enough to check that you would not misread an experiment. Expect mean versus median on a skewed distribution, what a confidence interval says and does not say, a p-value explained to a product manager, whether an A/B result is significant and how long the test should run, and one correlation-versus-causation example. Services companies ask less of this, and the SQL round carries the weight instead.

Median for skewed money data (order value, salary); the mean follows the outliers
A 95% confidence interval: the range that would contain the quantity being estimated in 95 of 100 repeats of the study, not a 95% chance about this one interval
A p-value in plain words: how surprising this result would be if the change did nothing
Sample size before the test, not after: peeking at a running test and stopping at the first significant day inflates false positives
Correlation versus causation: ice cream sales and drowning both rise in summer

Is this A/B result real?

Variant B converted 5.4% against 5.0% for A, 20,000 users each. State the difference (0.4 points, 8% relative), check the test ran its planned length and sample, and run a two-proportion test; at these numbers the p-value is about 0.07, so it does not clear 0.05. The honest readout: a promising direction, not a decision, and here is how many more users would settle it.

Simpson's paradox, the version interviewers use

Treatment A has the better recovery rate in both mild and severe cases, but the worse rate overall, because it was given more often to severe patients. If a segment-level result reverses the total, the mix of segments changed, and the total is the wrong number to report.

What does the hiring manager round look for?

Two stories, told with numbers: a decision your analysis changed, and a number you got wrong and how you found it. The second one is the stronger signal, because an analyst who has never shipped a wrong number has never checked. Then ambiguity: how you handled a request that made no sense as written, and how you dealt with a stakeholder who did not like the answer.

The decision story: what was asked, what you found, what changed, what it was worth
The wrong-number story: what was wrong, who caught it, what you changed in your checks
The ambiguous request: the question you asked back, and what the real question was
Pushback: the caveat you kept in the deck when someone wanted it out

A decision story that lands

Ops wanted to add a third delivery slot. I pulled order times by hour for eight weeks and found 62% of missed deliveries were in the existing evening slot, not demand for a new one. We staffed the evening slot up instead; missed deliveries fell by a third the next month, and the third slot never launched. The number that mattered was the one nobody asked for.

A wrong-number story that helps you

A weekly dashboard showed churn doubling; I had joined subscriptions to payments on customer id and a customer with two subscriptions was counted as churned when one ended. A finance colleague caught it against their own total. I added a row-count assertion after every join and a reconciliation to finance's number in the report itself. It has not happened again, and the check is the thing I would mention.

Question bank

14 interview questions with answers

Real questions from beginner to advanced, each with a concise model answer — practice them, then rehearse live in a mock interview. Every answer is open; collapse any you have already covered.

EasyRevenue fell 15% last week. Walk me through how you would find out why.

Pin the metric first: which revenue (gross or net), which week against which baseline, and whether both weeks are complete. Then rule out the data before the business: did the pipeline run, did order counts match the source system, did a tracking tag change. Only then segment along the dimensions the business already uses (city, product, channel, new vs returning, device) and find where the drop concentrates. Turn that into one number, such as 'Pune explains 12 of the 15 points', name the outside events you would check (a paused campaign, a price change, a holiday), and finish with the two things you would verify next. The interviewer is scoring the order of those steps, not your guess.

EasyWhat is the difference between a KPI and a metric?

A metric is any measured quantity: orders per day, page views, average order value. A KPI is the small set of metrics a team has agreed to be judged on because they track the outcome the business wants. Every KPI is a metric; almost no metric is a KPI. In a case question, name one outcome KPI, two or three input metrics the team can move weekly, and one guardrail metric that must not get worse.

MediumWrite SQL for monthly active customers from an orders table.

sql
SELECT DATE_TRUNC('month', order_date) AS month,
       COUNT(DISTINCT customer_id) AS active_customers
FROM orders
GROUP BY 1
ORDER BY 1;

COUNT(DISTINCT ...) is the whole question. Without DISTINCT you count orders, so a customer with five orders in March is counted five times. If 'active' means something other than 'placed an order', say so before writing the query; the definition is usually what the interviewer wants to hear you ask about.

MediumHow would you measure retention for a subscription product, and write the SQL for month-one retention?

Retention needs a cohort (when the customer started), a period (month one, month two) and a definition of 'retained' (still paying at the end of the period, or had any activity in it). For a subscription product, 'still paying' is the honest one.

sql
WITH first_month AS (
  SELECT customer_id, MIN(DATE_TRUNC('month', start_date)) AS cohort
  FROM subscriptions GROUP BY customer_id
)
SELECT f.cohort,
       COUNT(DISTINCT f.customer_id) AS cohort_size,
       COUNT(DISTINCT s.customer_id) * 1.0 / COUNT(DISTINCT f.customer_id) AS m1_retention
FROM first_month f
LEFT JOIN subscriptions s
  ON s.customer_id = f.customer_id
 AND s.status = 'active'
 AND DATE_TRUNC('month', s.period_end) >= f.cohort + INTERVAL '1 month'
GROUP BY f.cohort ORDER BY f.cohort;

The retention conditions sit in ON, not WHERE, so a cohort where nobody stayed still appears with 0 instead of vanishing.

MediumExplain a p-value to a product manager.

Say: 'If the change did nothing at all, this is how often we would still see a result at least this big by luck.' A p-value of 0.03 means three times in a hundred. It is not the probability that the change works, and it is not the size of the effect; a tiny, useless improvement can have a small p-value if the test is large enough. So report three things together: the difference, the confidence interval around it, and whether the test ran its planned length.

MediumIn Power BI, what is the difference between a measure and a calculated column?

A calculated column is evaluated row by row when the data loads and stored in the table, so it takes memory and does not react to slicers. A measure is evaluated at query time over whatever rows the visual has filtered, so it responds to every slicer and row header. 'Order year' is a column; 'total sales' and 'average order value' are measures. Putting a total into a calculated column is the mistake interviewers wait for, because the number stops changing when the user filters.

EasyWhen would you use a bar chart, a line chart, or a table?

A line for change over time when the x-axis is ordered (dates). A bar for comparing categories, sorted by value unless the categories have a natural order. A table when the reader needs the exact numbers, or more than two dimensions at once. A pie only for a single part-of-whole with two or three slices, and even then a bar is usually clearer. If the interviewer shows a chart, the expected critique is nearly always: wrong chart type, unsorted bars, a truncated axis, or too many series.

EasyVLOOKUP vs INDEX-MATCH vs XLOOKUP: which one, and why?

XLOOKUP where the Excel version allows it: exact match by default, looks left or right, and takes an if-not-found value. INDEX-MATCH on older versions, for the same reasons minus the not-found argument. VLOOKUP only when you must, and always with FALSE for exact match; with approximate match on an unsorted list it returns a nearby wrong row without an error, which is how a missing customer id ends up with someone else's revenue.

MediumHow do you handle missing data before an analysis?

First find out why it is missing, because the fix depends on it: a broken tag, a field that did not exist before a date, or a value that is legitimately absent (no discount). Then count it and show the count in the deliverable. For the analysis itself: drop rows only when the missing field is the one being measured and the loss is small; fill with a group value (the city's median, not the global median) when the field is a covariate; keep an explicit 'unknown' category for dimensions rather than silently merging it into the largest group. Never let a fillna(0) turn missing revenue into zero revenue.

MediumWhat is a star schema, and why does Power BI care?

One fact table of events at a fixed grain (an order line, a session) surrounded by dimension tables that describe them (customer, product, date, city), joined on keys, with relationships flowing one way from dimension to fact. Power BI's engine and DAX are built around it: filters travel from dimensions to the fact table, measures aggregate the fact table, and the model stays fast and small. One wide flat table looks simpler and breaks the moment two facts (orders and returns) need the same customer filter.

HardAn A/B test shows 5.4% conversion for B against 5.0% for A, 20,000 users each. Is it significant, and what would you report?

State the difference first: 0.4 percentage points, about 8% relative. Check the test ran its planned duration and sample size, and that the split stayed 50/50. Then a two-proportion z-test: pooled p = 0.052, standard error about 0.0022, z about 1.8, p-value about 0.07. It does not clear 0.05. The honest readout is 'a promising direction, not a decision', with the confidence interval (roughly -0.04 to +0.84 points) and the extra sample needed to settle it. Stopping a test the first day it looks significant, or reporting only the relative lift, are the two mistakes the interviewer is listening for.

MediumExplain cohort analysis with an example.

Group customers by when they started (the January signups, the February signups), then follow each group through the same relative periods (month one, month two) instead of calendar months. Example: January's cohort retained 40% in month one, February's retained 48%; the product change in late January is a candidate cause because it affected February's first month but not January's. Without cohorts, the blended retention number mixes new and old customers and hides the change.

HardA stakeholder says a number on your dashboard is wrong. How do you check it?

Ask what they expected and where their number comes from, because half of these are two valid definitions (gross vs net, booked vs shipped). Then reconcile from the source up: row counts at each step of the pipeline, the filter each step applied, and a join-multiplication check (a LEFT JOIN that returns more rows than the left table). Recompute their number with their definition in your data; if the two still disagree by a fixed amount or a fixed ratio, the gap usually names the cause (a timezone, a currency, a duplicated key). Publish the reconciliation with the fix, and add the check to the dashboard so the next disagreement is caught by a test instead of a stakeholder.

EasyGive an example of correlation without causation that an interviewer would accept.

Ice cream sales and drowning deaths rise together every summer; heat drives both. In a product context: users who enable dark mode retain better, but they are the power users who explored settings, not people improved by dark mode. The follow-up question is how you would test it, and the answer is an experiment or, failing that, a comparison within groups of similar users rather than across everyone.

FAQ

Common Questions

What are the most common data analyst interview questions for freshers?

SQL joins and GROUP BY on a small schema, one window-function question (usually top-N per group or a running total), Excel lookups and pivots, a chart-choice question, and a case such as 'our app downloads fell, what would you check'. Freshers are rarely asked statistics beyond mean versus median; they are asked to talk through a project from their own portfolio in detail.

How much SQL is asked in a data analyst interview?

More than any other skill. Most loops have a screening test plus a live round, and the live round decides the offer more often than anything after it. Joins, aggregation, window functions, date logic and one cohort or retention query cover the large majority; the interviewer is checking that you can say the expected rows before you run the query.

What is a data analyst case study interview?

A business situation, given verbally or as a small dataset, where the interviewer wants your method more than a conclusion: define the metric, rule out data problems, segment, quantify what each segment explains, name outside causes, recommend, and say what you would verify next. Take-home versions add a short deck; keep it to the finding, the evidence and the caveat.

Do data analyst interviews ask Python?

Product companies often do, at the level of pandas: filtering, groupby, merging with a row-count check, and cleaning missing values. Services companies mostly do not, and SQL plus Excel carries the technical rounds. If Python is on your resume, expect to be asked to write ten lines of it.

How do I prepare for the Power BI round?

Build one report from a raw CSV to a star schema with three measures in DAX, one of them using CALCULATE, and be ready to explain every step. Then practise the three questions that come up most: measure versus calculated column, filter context, and why the model has one-directional relationships. A chart-choice question follows; answer with the simplest chart that shows the comparison.

How can PrepNPlaced help me prepare?

The AI Mock Interview runs a role-aware analyst round and grades the answers; the SQL, Excel, Power BI and Statistics question pages cover each round in depth; and the Data Analytics cohort teaches the same stack over 18 live classes with three projects built in class.

Next Step

Turn The Guide Into Practice

Use PrepNPlaced tools to turn this learning path into resume proof, targeted practice, and interview-ready explanations.

Practice AI Mock Interview