Skip to content

Zomato Data Analytics Interview Questions & Answers

Curated interview practice questions with answers. These are practice scenarios, not a verified list of past interview questions.

Solved for ZomatoStart practicing
3 QUESTIONS FREESign up or log in 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

What does the IF function do and how do you nest it?

Save to ▾
Show answer
IF returns one result if a test is true and another if false. Nest IFs for multiple outcomes, or use IFS for cleaner formulas.
02

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.
03

RANK vs DENSE_RANK vs ROW_NUMBER?

ZomatoMedium
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).
04

What does CALCULATE do in DAX?

Save to ▾
Show answer
CALCULATE evaluates an expression in a modified filter context, e.g. CALCULATE([Total Sales], Region[Name] = "North"). It is the key function for time intelligence and comparisons.
05

What is Row-Level Security?

ZomatoMedium
Save to ▾
Show answer
Rules that restrict data per user role, for example sales managers seeing only their region, defined with DAX filters and assigned in the Service.
06

How would you investigate a sudden 20% drop in daily sales?

ZomatoMedium
Save to ▾
Show answer
Check data pipelines first, then segment by channel, region, product and device, compare to the same period last year, and look for launches, outages or campaigns.
07

Mean vs median vs mode — when do you use which?

Save to ▾
Show answer
Mean for symmetric data without outliers, median for skewed data (salaries, house prices), mode for categories (the most common city).
08

How do you choose the right chart?

Save to ▾
Show answer
Line for trends, bar for comparisons, scatter for relationships, histogram for distributions and pie only for few parts of a whole.
09

How do you improve Power BI report performance?

ZomatoMedium
Save to ▾
Show answer
Use a star schema, remove unused columns, prefer measures, reduce visuals per page, limit high-cardinality fields and use aggregations or incremental refresh.
10

What is descriptive vs inferential statistics?

Save to ▾
Show answer
Descriptive statistics summarise the data you have; inferential statistics use a sample to draw conclusions about a larger population.
11

What is DAX and how does it differ from Excel formulas?

ZomatoMedium
Save to ▾
Show answer
DAX is the formula language for Power BI models. It works on columns and tables with filter context rather than on individual cells.
12

How do you handle errors like #N/A and #DIV/0!?

ZomatoMedium
Save to ▾
Show answer
Fix the root cause when possible, or wrap formulas with IFERROR or IFNA to return a clear fallback value.
13

How do you handle large CSV files that do not fit in memory in Python?

ZomatoMedium
Save to ▾
Show answer
Read in chunks with chunksize, load only needed columns, set efficient dtypes or switch to Dask, Polars or a database.
14

What is a pivot table and when do you use it?

Save to ▾
Show answer
A pivot table summarises large data by dragging fields into rows, columns, values and filters — for example total sales by region and month — without writing formulas.
15

Which Python libraries do analysts use most?

Save to ▾
Show answer
Pandas for data handling, NumPy for numerics, Matplotlib and Seaborn for charts, and openpyxl or SQLAlchemy for files and databases.
16

Explain INDEX and MATCH together.

ZomatoMedium
Save to ▾
Show answer
MATCH finds the position of a value in a range and INDEX returns the item at that position, giving a flexible lookup that works left or right and survives column insertions.
17

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.
18

How do you deal with missing or duplicate data?

Save to ▾
Show answer
Profile the data, remove exact duplicates using keys, impute missing values (mean/median/mode or a business rule), flag imputed rows and document every cleaning step.
19

What is a CTE and when would you use one?

ZomatoMedium
Save to ▾
Show answer
A Common Table Expression (WITH name AS (...)) is a named temporary result used inside one query. Use it to break complex logic into readable steps or for recursive queries.
20

What is cohort analysis?

ZomatoMedium
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.
21

What is data validation in Excel?

Save to ▾
Show answer
Data → Data Validation restricts what can be entered in a cell (lists, number ranges, dates), reducing manual entry errors in shared sheets.
22

Difference between UNION and UNION ALL?

ZomatoMedium
Save to ▾
Show answer
UNION removes duplicate rows and sorts internally; UNION ALL keeps every row and is faster.
23

What is the difference between a calculated field and a helper column in Excel?

ZomatoMedium
Save to ▾
Show answer
A calculated field lives inside a PivotTable and works on summarised data; a helper column is a normal column of formulas that feeds the PivotTable or other formulas.
24

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

ZomatoMedium
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.
25

What is the difference between WHERE and HAVING?

Save to ▾
Show answer
WHERE filters rows before grouping. HAVING filters groups after GROUP BY and can use aggregates like SUM() or COUNT().
26

How do you connect Python to a SQL database?

ZomatoMedium
Save to ▾
Show answer
Create an engine with SQLAlchemy or a driver such as psycopg2, then run pd.read_sql(query, engine) to load results into a DataFrame.
27

What does CASE WHEN do?

ZomatoMedium
Save to ▾
Show answer
It adds conditional logic inside queries, for example bucketing ages or flagging values, returning different results per condition.
28

A marketing campaign shows more sales. How do you prove it worked?

Save to ▾
Show answer
Compare with a control group or use difference-in-differences, control for seasonality, and measure incremental sales against campaign cost.
29

What is the difference between COUNT, COUNTA and COUNTIF?

Save to ▾
Show answer
COUNT counts numbers, COUNTA counts non-empty cells and COUNTIF counts cells meeting one condition; COUNTIFS handles several conditions.
30

How do SUMIFS and SUMPRODUCT differ?

ZomatoMedium
Save to ▾
Show answer
SUMIFS sums values meeting several criteria and is fast. SUMPRODUCT multiplies arrays and adds them, handling more complex conditions and weighted totals.
31

Which KPIs would you track for an e-commerce app?

ZomatoMedium
Save to ▾
Show answer
DAU/MAU, conversion rate, average order value, cart abandonment, retention/churn, CAC, LTV, return rate and NPS.
32

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

ZomatoMedium
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.
33

What are bookmarks and drill-through in Power BI?

ZomatoMedium
Save to ▾
Show answer
Bookmarks save a report view state for navigation; drill-through jumps to a detail page filtered to the item you picked.
34

What is hypothesis testing in simple words?

ZomatoMedium
Save to ▾
Show answer
You assume no effect (null), collect evidence and decide whether the data is surprising enough to reject that assumption at a chosen significance level.
35

How do you calculate month-over-month growth?

ZomatoMedium
Save to ▾
Show answer
Aggregate revenue by month, use LAG(revenue) OVER (ORDER BY month), then (revenue - prev) / prev x 100.
36

How do you optimise a slow SQL query?

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.
37

How would you calculate retention using SQL?

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.
38

How do you calculate a running total?

ZomatoMedium
Save to ▾
Show answer
SUM(amount) OVER (ORDER BY order_date ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) adds up values cumulatively.
39

How do you decide the sample size for a survey?

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

SUMIFS vs COUNTIFS?

Save to ▾
Show answer
SUMIFS adds values that meet several conditions; COUNTIFS counts rows that meet several conditions. Example: =SUMIFS(Sales, Region, "North", Month, "Jan")
41

What is a CTE and why use it?

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

What is the difference between melt and pivot?

ZomatoMedium
Save to ▾
Show answer
melt converts wide data to long format; pivot converts long data to wide, and they are used to reshape data for analysis or charts.
43

What is the difference between a view and a materialised view?

ZomatoMedium
Save to ▾
Show answer
A view stores a query and runs it each time; a materialised view stores the result physically and must be refreshed, making reads faster.
44

What is the difference between DELETE, TRUNCATE and DROP?

Save to ▾
Show answer
DELETE removes chosen rows and can be rolled back; TRUNCATE empties the table quickly; DROP removes the table structure itself.
45

What is the difference between population and sample?

Save to ▾
Show answer
The population is the whole group of interest; a sample is a subset used to estimate population values.
46

How do you define and choose KPIs?

ZomatoMedium
Save to ▾
Show answer
Pick metrics tied to a business goal that are measurable, actionable and owned by someone, and pair a lagging metric with a leading one.
47

How would you find customers who never placed an order?

ZomatoMedium
Save to ▾
Show answer
LEFT JOIN customers to orders and keep rows where order_id IS NULL, or use NOT EXISTS, which also handles NULLs safely.
48

What is conditional formatting?

Save to ▾
Show answer
It automatically formats cells based on rules such as colour scales, data bars or highlighting values above a target, making patterns visible at a glance.
49

What is normalisation?

ZomatoMedium
Save to ▾
Show answer
Organising tables to reduce redundancy and anomalies by splitting data into related tables, commonly up to third normal form.
50

VLOOKUP vs INDEX-MATCH vs XLOOKUP?

Save to ▾
Show answer
VLOOKUP only looks to the right and breaks when columns are inserted. INDEX-MATCH looks in any direction and is robust. XLOOKUP is the modern option with exact match by default and left lookups.
51

Explain GROUP BY with an example.

ZomatoMedium
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.
52

How do you find duplicate rows in a table?

ZomatoMedium
Save to ▾
Show answer
SELECT col, COUNT(*) FROM t GROUP BY col HAVING COUNT(*) > 1; use ROW_NUMBER() partitioned by the key to delete extras.
53

Write SQL for a running total of sales by date.

ZomatoMedium
Save to ▾
Show answer
SELECT order_date, SUM(amount) OVER (ORDER BY order_date) AS running_total FROM sales;
54

Explain Matplotlib vs Seaborn.

ZomatoMedium
Save to ▾
Show answer
Matplotlib is the low-level plotting library with full control; Seaborn builds on it with attractive statistical charts and simpler syntax.