Skip to content

Easy Data Analytics Interview Questions

115 easy questions with answers. Definitions and fundamentals every candidate must answer quickly and correctly.

Topics in the easy set

Excel: 15 Python for Analysis: 13 SQL: 12 Tableau: 10 Statistics and Case Studies: 9 Data Storytelling: 9 Dashboards and KPIs: 9 A/B Testing & Experiments: 9 Data Cleaning: 8
Solved — easyStart 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

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

What is the difference between WHERE and HAVING?

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

What is data validation in Excel?

ExcelEasy
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.
04

How do you read a CSV and inspect it in Pandas?

Save to ▾
Show answer
df = pd.read_csv('file.csv'); then head(), info(), describe() and isna().sum() for a quick health check.
05

INNER JOIN vs LEFT JOIN — with an example.

SQLEasy
Save to ▾
Show answer
INNER JOIN returns only matching rows. LEFT JOIN returns every row from the left table and NULLs where the right table has no match — e.g. all customers, including those with no orders.
06

SUMIFS vs COUNTIFS?

ExcelEasy
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")
07

What is the difference between COUNT, COUNTA and COUNTIF?

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

VLOOKUP vs INDEX-MATCH vs XLOOKUP?

ExcelEasy
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.
09

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

Find the second highest salary in SQL.

SQLEasy
Save to ▾
Show answer
SELECT MAX(salary) FROM emp WHERE salary < (SELECT MAX(salary) FROM emp); -- or: DENSE_RANK() OVER (ORDER BY salary DESC) = 2
11

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

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

ExcelEasy
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.
13

Show a Pandas groupby example.

Save to ▾
Show answer
df.groupby('region')['sales'].agg(['sum', 'mean', 'count']) # splits by region, aggregates, combines the results
14

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).
15

What is a primary key vs a foreign key?

SQLEasy
Save to ▾
Show answer
A primary key uniquely identifies each row in its table; a foreign key references another table's primary key to enforce relationships.
16

What is the difference between DELETE, TRUNCATE and DROP?

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

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

What is Power BI and its main components?

Save to ▾
Show answer
A Microsoft BI tool made of Power BI Desktop for building reports, the Service for sharing, and Mobile; it connects, models and visualises data.
19

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

What are slicers and filters?

Save to ▾
Show answer
Slicers are on-page visual filters users click; filters can be set at visual, page or report level and may be hidden from users.
21

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

ExcelEasy
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.
22

Explain the types of SQL joins.

SQLEasy
Save to ▾
Show answer
INNER returns matching rows, LEFT keeps all left rows, RIGHT keeps all right rows, FULL keeps all rows from both, and CROSS returns every combination.
23

How do you remove duplicates in Excel?

ExcelEasy
Save to ▾
Show answer
Data tab, Remove Duplicates, pick the columns to compare. For a non-destructive way use UNIQUE() or conditional formatting to highlight repeats first.
24

What is conditional formatting?

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

Your FILTER formula shows #SPILL! instead of results. Why, and how do you fix it?

ExcelEasy
Save to ▾
Show answer
Dynamic array formulas such as FILTER, UNIQUE and SORT return several values that spill into neighbouring cells. #SPILL! appears when that spill range is blocked by existing data, merged cells, or when the formula sits inside an Excel Table, which does not allow spilling. Fix it by clearing the blocking cells, unmerging, or moving the formula outside the Table. Select the error cell to see the dashed border of the range it needs.
26

Write Excel formulas to get a sorted list of unique customer names and their count.

ExcelEasy
Save to ▾
Show answer
-- unique customers from column B, sorted A to Z =SORT(UNIQUE(B2:B1000)) -- number of unique customers =COUNTA(UNIQUE(B2:B1000)) -- unique customers sorted by total sales, highest first =SORTBY(UNIQUE(B2:B1000), SUMIFS(D2:D1000, B2:B1000, UNIQUE(B2:B1000)), -1)
27

How do you combine text from several cells with a separator in Excel?

ExcelEasy
Save to ▾
Show answer
-- join first and last name with a space =TEXTJOIN(" ", TRUE, A2, B2) -- all products of one order in a single cell, comma separated =TEXTJOIN(", ", TRUE, FILTER(C2:C500, A2:A500=F2)) -- older method =A2 & " " & B2 -- TRUE in TEXTJOIN skips empty cells, which CONCAT and & do not
28

What are named ranges in Excel and why are they useful?

ExcelEasy
Save to ▾
Show answer
A named range gives a cell or range a meaningful name, such as GST_Rate or SalesData, managed from the Name Manager. Formulas become readable, for example =Amount*GST_Rate instead of =B2*$H$1, and they do not break when you move the input cell. Names also work as data validation sources and in charts. For growing data, prefer Excel Tables, whose structured references expand automatically.
29

How do you calculate working days between two dates in Excel, excluding holidays?

ExcelEasy
Save to ▾
Show answer
-- A2 = start date, B2 = end date, Holidays = named range of holiday dates =NETWORKDAYS(A2, B2, Holidays) -- if the weekend is only Sunday (weekend code 11) =NETWORKDAYS.INTL(A2, B2, 11, Holidays) -- date that is 10 working days after A2 =WORKDAY(A2, 10, Holidays)
30

What is a date table in Power BI and why should you mark it as one?

Save to ▾
Show answer
A date table has one row per day with no gaps, covering the full range of your data, plus columns like year, month, quarter and week. Marking it as a date table tells Power BI to use it for time intelligence functions such as TOTALYTD and SAMEPERIODLASTYEAR. Without it, those functions can give wrong results and auto date tables bloat the model. Relate it to every fact table's date column.
31

What is the difference between Power BI Desktop, Power BI Service and Power BI Report Server?

Save to ▾
Show answer
Power BI Desktop is the free Windows application where you connect data, model it, write DAX and design reports. Power BI Service is the cloud platform where reports are published, shared, scheduled for refresh, and organised into workspaces and apps. Power BI Report Server is an on-premises option for organisations that cannot use the cloud, with fewer features. Most analysts build in Desktop and share through the Service.
32

A profit margin visual shows errors for products with zero sales. How do you fix it in DAX?

Save to ▾
Show answer
DIVIDE(numerator, denominator, alternate) handles division by zero or blank safely and returns blank or the alternate value you supply, so visuals do not show errors or infinity. The / operator returns an error or infinity in those cases. For example, DIVIDE([Profit], [Sales]) shows blank for a product with no sales. Use / only when you are certain the denominator can never be zero, because it is marginally faster.
33

What is the difference between loc and iloc in pandas?

Save to ▾
Show answer
loc selects by labels: row index labels and column names, for example df.loc[df['city'] == 'Pune', ['name', 'sales']]. iloc selects by integer position, for example df.iloc[0:5, 0:3] for the first five rows and three columns. With loc, slices include the end label; with iloc, the end position is excluded like normal Python. Use loc for readable filtering and iloc when position matters.
34

What is the difference between a list, tuple, dictionary and set in Python?

Save to ▾
Show answer
A list is ordered and mutable, good for sequences you change, like [10, 20, 30]. A tuple is ordered but immutable, useful for fixed records such as coordinates. A dictionary stores key-value pairs with fast lookup by key, like {'Delhi': 120}. A set holds unique unordered values and is great for removing duplicates or checking membership quickly. Analysts use dictionaries constantly for mappings and renaming columns.
35

What is the difference between concat, merge and join in pandas?

Save to ▾
Show answer
concat stacks DataFrames vertically (more rows) or side by side along an axis, for example appending monthly files with the same columns. merge combines DataFrames on key columns, like a SQL join, with how='inner', 'left', 'right' or 'outer'. join is a shortcut for merging on the index. Use concat to append and merge to look up related data. Always check row counts after a merge.
36

What is the difference between pd.cut and pd.qcut?

Save to ▾
Show answer
pd.cut bins values into intervals you define or into equal-width ranges, for example age groups 18-25, 26-35 and 36-50. pd.qcut bins by quantiles so each bin has roughly the same number of rows, for example dividing customers into spend quartiles. Use cut when business-defined boundaries matter and qcut when you want balanced groups such as deciles. Both return a categorical column you can group by.
37

What is a lambda function in Python and where do analysts use it?

Save to ▾
Show answer
A lambda is a small anonymous function written in one line, for example lambda x: x * 1.18 to add GST. Analysts use lambdas with sorted for custom sort keys, with pandas assign for computed columns, for example assign(margin=lambda d: d.profit / d.sales), and occasionally with apply. For anything longer than one expression or reused in several places, a normal def function is clearer and easier to test.
38

Write pandas code to extract month name, weekday and hour from a timestamp column.

Save to ▾
Show answer
df['ts'] = pd.to_datetime(df['ts'], errors='coerce') df['month'] = df['ts'].dt.month_name() df['weekday'] = df['ts'].dt.day_name() df['hour'] = df['ts'].dt.hour df['is_weekend'] = df['ts'].dt.dayofweek >= 5 # orders by weekday print(df['weekday'].value_counts())
39

Tell me about a time you had to learn a new tool or library quickly for a project.

Save to ▾
Show answer
Situation: in my internship the team needed survey results analysed in Python, which I had only used in coursework. Task: deliver cleaned data and charts within a week. Action: I spent two evenings on pandas and Seaborn tutorials using our real file, kept a notes document of commands, and asked a senior to review my first notebook. Result: I delivered on day five, and my notebook became the template for the next survey.
40

What do COALESCE and NULLIF do in SQL?

SQLEasy
Save to ▾
Show answer
COALESCE returns the first non-null value from its arguments, for example COALESCE(phone, alt_phone, 'Not given') fills missing phone numbers. NULLIF(a, b) returns NULL when a equals b, otherwise a. Its classic use is avoiding division by zero: revenue / NULLIF(orders, 0) returns NULL instead of an error when orders is zero. Together they handle most null-related reporting problems cleanly.
41

What is the difference between a fact table and a dimension table?

SQLEasy
Save to ▾
Show answer
A fact table stores measurable events at a defined grain, such as one row per order line, with numeric measures like quantity and amount plus foreign keys. Dimension tables describe the context of those events: customer, product, store and date, with descriptive attributes used for filtering and grouping. Facts are long and grow quickly; dimensions are wider and smaller. Together they form star or snowflake schemas.
42

What is the difference between COUNT(*), COUNT(column) and COUNT(DISTINCT column)?

SQLEasy
Save to ▾
Show answer
COUNT(*) counts all rows, including rows with NULLs. COUNT(column) counts only rows where that column is not NULL. COUNT(DISTINCT column) counts unique non-null values. For example, in an orders table, COUNT(*) gives number of orders, COUNT(coupon_code) gives orders that used a coupon, and COUNT(DISTINCT customer_id) gives number of unique buyers. Mixing these up is a common source of wrong KPIs.
43

Write SQL to count orders by week and by day of week.

SQLEasy
Save to ▾
Show answer
-- orders per week (PostgreSQL style) SELECT DATE_TRUNC('week', order_date) AS week_start, COUNT(*) AS orders FROM orders GROUP BY 1 ORDER BY 1; -- orders by day of week (0 = Sunday) SELECT EXTRACT(DOW FROM order_date) AS dow, COUNT(*) AS orders FROM orders GROUP BY 1 ORDER BY 1;
44

What are variance and standard deviation?

Save to ▾
Show answer
Variance is the average squared distance of values from their mean; standard deviation is its square root, in the same units as the data. They measure spread. Two stores may both average 50,000 rupees daily, but one with a standard deviation of 2,000 is stable while one with 20,000 is volatile. For samples, divide by n minus 1 instead of n to get an unbiased estimate.
45

What is a z-score and how is it used?

Save to ▾
Show answer
A z-score tells how many standard deviations a value is from the mean: z = (x minus mean) divided by standard deviation. A delivery time with z = 2.5 is unusually slow. Analysts use z-scores to flag outliers, often beyond plus or minus 3, to compare values on different scales, such as marks in different exams, and to look up probabilities when data is roughly normal.
46

Why does correlation not imply causation? Give a business example.

Save to ▾
Show answer
Two variables can move together because of a third factor, reverse causation or pure chance. Example: stores with more staff have higher sales, but busy locations get more staff because they already sell more, so hiring alone may not raise sales. Ice-cream sales and AC sales both rise in summer because of temperature. To claim causation you need experiments, natural experiments or careful control of confounders.
47

What is a percentile and what is the interquartile range?

Save to ▾
Show answer
A percentile is the value below which a given percentage of data falls; the 90th percentile delivery time means 90 percent of deliveries were faster. The interquartile range is the 75th percentile minus the 25th percentile, the spread of the middle half. IQR is robust to outliers, and values beyond 1.5 times the IQR from the quartiles are often flagged as outliers in box plots.
48

What is Tableau and what are its main products?

Save to ▾
Show answer
Tableau is a visual analytics tool for building interactive charts and dashboards by dragging fields onto shelves. Tableau Desktop is used to author workbooks, Tableau Prep cleans and shapes data, Tableau Server and Tableau Cloud host and share dashboards with security and scheduled refresh, and Tableau Public is a free version where work is saved publicly. Analysts usually build in Desktop and publish to Server or Cloud.
49

What is the difference between dimensions and measures in Tableau?

Save to ▾
Show answer
Dimensions are qualitative fields such as region, product or date that slice data into groups and create headers. Measures are quantitative fields such as sales or profit that get aggregated, by default with SUM. Dragging a dimension to rows creates one row per member; dragging a measure creates an axis. A numeric field like customer ID should be converted to a dimension so it is not summed.
50

What is the difference between discrete and continuous fields in Tableau?

Save to ▾
Show answer
Discrete fields, shown as blue pills, have distinct values and create headers, for example month names as separate columns. Continuous fields, shown as green pills, form an unbroken range and create an axis, for example a continuous date line chart. The same date can be either: discrete months give a bar per month label, continuous months give a time-series axis. Colour also changes: discrete gives separate colours, continuous a gradient.
51

What is the difference between a live connection and an extract in Tableau?

Save to ▾
Show answer
A live connection queries the source database every time a user interacts, so data is always current but performance depends on the database. An extract is a compressed snapshot stored in Tableau's hyper format, usually much faster, refreshed on a schedule and usable offline. Use live for near real-time needs on a fast warehouse, and extracts for speed, slow sources or when you want to reduce load on production systems.
52

How do you create a dual-axis chart in Tableau, for example sales bars with a profit margin line?

Save to ▾
Show answer
Drag Order Date to Columns as a continuous or discrete month, put Sales on Rows, then drag Profit Ratio to Rows next to it. Right-click the second pill and choose Dual Axis. On the Marks card set Sales to Bar and Profit Ratio to Line. Decide whether to synchronise axes: do not synchronise when units differ, like rupees and percentage. Label the axes clearly so readers know which is which.
53

Write a Tableau calculated field for profit ratio and a profit category.

Save to ▾
Show answer
// Profit Ratio (aggregate first, then divide) SUM([Profit]) / SUM([Sales]) // Profit Category IF SUM([Profit]) < 0 THEN 'Loss' ELSEIF [Profit Ratio] < 0.1 THEN 'Low margin' ELSE 'Healthy' END // avoid AVG([Profit]/[Sales]): it averages row ratios and gives a wrong total
54

What is Tableau Prep used for?

Save to ▾
Show answer
Tableau Prep is a visual tool for cleaning and shaping data before analysis. You build a flow of steps: connect inputs, clean fields, split columns, group similar values, pivot, join, union and aggregate, and see the data change at every step. The output can be an extract or published data source that dashboards use. It suits analysts who need repeatable preparation without writing SQL or Python.
55

What is a story in Tableau?

Save to ▾
Show answer
A story is a sequence of sheets or dashboards, called story points, that walk an audience through an analysis step by step, like slides. Each point can keep its own filters and selections and has a caption explaining the insight. It is useful for presenting findings such as why churn rose, moving from the headline number to segments and recommendations. For everyday monitoring, a regular dashboard is better than a story.
56

How do you handle null values in Tableau calculations?

Save to ▾
Show answer
// treat missing sales as zero ZN(SUM([Sales])) // replace a missing value with a default IFNULL([Region], 'Unknown') // test explicitly IF ISNULL([Discount]) THEN 0 ELSE [Discount] END // right-click a null indicator on an axis to filter or show nulls at default position
57

What is data cleaning and why does it take so much of an analyst's time?

Save to ▾
Show answer
Data cleaning means fixing or removing incorrect, incomplete, duplicated or inconsistent data so analysis is trustworthy. Real data comes from many systems and manual entry, so you meet typos, mixed formats, missing values and duplicates. Analysts often spend half or more of a project on it because every later chart and model depends on it. Wrong inputs give confident but wrong answers, which is worse than no answer.
58

Numbers in an Excel column are stored as text and SUM returns zero. How do you fix it?

Save to ▾
Show answer
Signs are left-aligned numbers, green triangles, and COUNT returning less than COUNTA. Fix options: select the column and use the warning menu Convert to Number; use Data, Text to Columns and Finish; or a helper column with =VALUE(TRIM(A2)). If there are hidden characters, use =VALUE(SUBSTITUTE(TRIM(A2), CHAR(160), "")) to remove non-breaking spaces from web exports. In Power Query, simply change the column type to number.
59

Write pandas code to trim whitespace and lower-case every text column in a DataFrame.

Save to ▾
Show answer
text_cols = df.select_dtypes(include='object').columns for col in text_cols: df[col] = ( df[col] .astype('string') .str.strip() .str.lower() .replace('', pd.NA) ) # also tidy column names df.columns = df.columns.str.strip().str.lower().str.replace(' ', '_')
60

What is data profiling?

Save to ▾
Show answer
Data profiling is a quick systematic look at a dataset before analysis: row counts, data types, null percentages, distinct counts, minimum and maximum, common values and value patterns per column. In pandas, df.info(), df.describe(include='all') and value_counts() cover most of it; Power Query has column quality and distribution views. Profiling reveals problems like a date column stored as text or a status field with unexpected values early.
61

How do you unpivot a wide monthly sales sheet into a long table in Power Query?

Save to ▾
Show answer
Load the table into Power Query. Select the identifier columns such as Region and Product, then choose Transform, Unpivot Other Columns. The month columns become two columns, Attribute and Value; rename them Month and Sales. Change Month to a date type and Sales to a decimal number. Using Unpivot Other Columns rather than Unpivot Columns means new months added later are picked up automatically on refresh.
62

What is tidy data?

Save to ▾
Show answer
Tidy data follows three rules: each variable is a column, each observation is a row, and each type of observational unit is a table. A sheet with months as columns is not tidy; unpivoting it to Region, Month and Sales columns makes it tidy. Tidy data is easy to filter, group, join and chart in pandas, SQL, Power BI and Tableau, so reshaping into this form is a core cleaning step.
63

How do you split a full name column into first and last name in Excel?

Save to ▾
Show answer
-- A2 = 'Priya Ramesh Iyer' -- first name =TEXTBEFORE(TRIM(A2), " ") -- last name (text after the last space) =TEXTAFTER(TRIM(A2), " ", -1) -- older Excel: first name =LEFT(TRIM(A2), FIND(" ", TRIM(A2)&" ")-1) -- or use Data > Text to Columns or Flash Fill (Ctrl+E) for a one-off task
64

Pin codes in your CSV lost their leading zeros after opening in Excel. Why and how do you prevent it?

Save to ▾
Show answer
Excel guessed the column was a number and dropped leading zeros; the same happens with long IDs turning into scientific notation. Identifiers that are not used in arithmetic should be stored as text. Import through Data, From Text/CSV or Power Query and set the column type to Text, or read it in pandas with dtype={'pincode': str}. To repair, use =TEXT(A2, "000000") when the original length is known.
65

What is the difference between a metric and a KPI?

Save to ▾
Show answer
A metric is any quantity you measure, such as page views, tickets closed or average order value. A KPI, key performance indicator, is a metric chosen because it directly reflects progress towards an important business goal and usually has a target and owner. Every KPI is a metric, but most metrics are not KPIs. A good dashboard leads with a few KPIs and keeps supporting metrics for diagnosis.
66

What is a north star metric?

Save to ▾
Show answer
A north star metric is the single measure that best captures the value a product delivers to customers and predicts long-term growth, such as weekly active learners for an education app or orders delivered for a delivery service. It aligns teams around one outcome. It should be supported by input metrics that teams can influence, such as activation rate and repeat usage, and balanced with guardrails like cost or quality.
67

What are strategic, operational and analytical dashboards?

Save to ▾
Show answer
Strategic dashboards serve leadership with a few high-level KPIs and trends, updated daily to monthly. Operational dashboards monitor live or near-live activity for teams on the ground, such as orders pending dispatch or call queue length, often with alerts. Analytical dashboards let analysts and managers explore data with filters and drill-downs to find causes. Knowing which type you are building decides the level of detail, refresh rate and design.
68

How should you lay out a dashboard page?

Save to ▾
Show answer
Readers scan from the top-left, so place the most important KPIs as cards across the top, then trend charts, then breakdowns and detail tables at the bottom. Group related visuals, align them on a grid and keep consistent spacing, fonts and colours. Put filters in one consistent place. Limit a page to roughly five to eight visuals that answer related questions, and give the page a clear title stating its purpose.
69

What are vanity metrics?

Save to ▾
Show answer
Vanity metrics look impressive but do not help decisions or reflect real value, such as total app downloads, total registered users or social media likes. They usually only go up. Better alternatives are actionable metrics such as active users, retention by cohort, conversion rate and revenue per user. A quick test: if the number changed, would anyone do anything differently? If not, it probably does not belong on the main dashboard.
70

How do you show actual versus target on a dashboard?

Save to ▾
Show answer
Use a KPI card with actual, target and variance as both value and percentage, coloured by status. For trends, a bar or line for actual with a target line or band works well. Bullet charts compare actual against target and ranges compactly in tables. Make the period clear, such as month to date versus prorated monthly target, because comparing half a month of sales to a full month target looks falsely bad.
71

What is RAG status and how should thresholds be set?

Save to ▾
Show answer
RAG means red, amber, green, a traffic-light status that shows at a glance whether a KPI is on track. Thresholds should be agreed with the business owner in advance, for example green at or above 100 percent of target, amber from 90 to 99 percent, red below 90 percent. Do not rely only on colour; add icons or text for colour-blind users, and avoid so many reds that nobody reacts.
72

Tell me about a time you were at risk of missing a reporting deadline.

Save to ▾
Show answer
Situation: a month-end report was due at 10 am, and at 8 am the source data had not loaded. Task: deliver something reliable. Action: I informed my manager immediately, checked with the data team for an estimate, and prepared the report on the previous day's data, clearly labelled. Result: leadership got the report on time with a caveat, and I sent the final version by noon. We later added a data arrival alert.
73

What is data storytelling?

Save to ▾
Show answer
Data storytelling is communicating insights by combining three things: data, the evidence; visuals, charts that make patterns obvious; and narrative, the context and so-what that explains why it matters and what to do. A table of numbers informs, but a story persuades someone to act. For an analyst, it means leading with the key finding, showing just enough evidence, and ending with a clear recommendation.
74

What is a good structure for a data story?

Save to ▾
Show answer
A simple structure is context, conflict, resolution. Context sets up what the audience already knows, such as our target was 10 percent growth. Conflict shows the surprising finding or problem, such as growth is only 3 percent because repeat buyers dropped. Resolution gives the recommendation and expected impact. Another option is situation, complication, question, answer. Either way, the audience should know the main message within the first minute.
75

A stakeholder asks for a pie chart of 12 product categories. When is a pie chart acceptable, and what would you suggest?

Save to ▾
Show answer
A pie chart works only for showing parts of a whole with very few categories, two to four, where one share clearly dominates, such as 70 percent of orders are prepaid. Avoid it when there are many slices, when values are close, or when comparing across periods, because people judge angles poorly. A sorted bar chart is almost always easier to read and compare. Never use 3D pies.
76

What are pre-attentive attributes and how do you use them in charts?

Save to ▾
Show answer
Pre-attentive attributes are visual properties the brain notices in a fraction of a second before conscious thought, such as colour, size, position, length and bold weight. Use them to direct attention: make all bars grey and highlight only the declining region in a strong colour, or bold the one number that matters. Using too many highlights cancels the effect, so emphasise one or two things per chart.
77

How do you declutter a chart?

Save to ▾
Show answer
Remove everything that does not help the message: heavy gridlines, borders, background colour, 3D effects, redundant legends and too many decimal places. Label data directly instead of using a legend, sort bars meaningfully, round numbers, and use one highlight colour with grey for the rest. Shorten axis labels and keep consistent fonts. Ask whether removing each element would lose information; if not, remove it.
78

How can a chart mislead even when the numbers are correct?

Save to ▾
Show answer
Common tricks are a truncated y-axis on bar charts, which exaggerates small differences; inconsistent scales across side-by-side charts; dual axes chosen to imply a correlation; cherry-picked time windows; cumulative charts that always rise; and area or 3D effects that distort size. Bars should start at zero, while line charts may zoom in if clearly labelled. Always check that the visual impression matches the actual magnitude.
79

Tell me about a time you worked with messy data under a tight deadline.

Save to ▾
Show answer
Situation: for a college placement project, I received survey data from three forms with different column names two days before submission. Task: combine and analyse it. Action: I mapped columns to a standard list, cleaned obvious issues like duplicate responses and mixed date formats in Power Query, and noted assumptions. I focused analysis on the five questions that mattered most. Result: we submitted on time, and the faculty praised the documented cleaning steps.
80

Why do you want to work as a data analyst?

Save to ▾
Show answer
A good answer links genuine interest, evidence and the role. For example: I enjoy turning messy questions into clear answers. In my final-year project I analysed two years of canteen sales in Excel and Python and showed that changing the menu on exam weeks could cut waste. I liked that the analysis led to an actual change. I want a role where my SQL, Power BI and communication skills help teams make better decisions.
81

What is dimensional modelling?

Save to ▾
Show answer
Dimensional modelling is a way of designing analytical tables around business processes. Numeric events such as sales or payments go into fact tables, and descriptive context such as customer, product, store and date goes into dimension tables. The design is easy for business users to understand and fast for BI tools to aggregate. For example, a retail model might have one sales fact joined to date, product, store and customer dimensions.
82

What is a snowflake schema and when would you choose it over a star schema?

Save to ▾
Show answer
A snowflake schema normalises dimensions into several related tables, for example product linked to subcategory linked to category, instead of keeping one flat product dimension. It saves some storage and avoids repeating attribute values, but needs more joins and is harder for users and BI tools. Most analytics teams prefer a star schema; snowflaking makes sense when a hierarchy is huge, shared by many dimensions or maintained by a separate team.
83

What is the difference between a surrogate key and a natural key?

Save to ▾
Show answer
A natural key comes from the source system and has business meaning, such as a customer mobile number or product SKU. A surrogate key is a meaningless integer or hash generated in the warehouse. Surrogate keys protect the model when source keys change, get reused or clash across systems, and they are essential for slowly changing dimensions where one customer has several historical rows. Keep the natural key as an attribute for lookups.
84

What is a degenerate dimension?

Save to ▾
Show answer
A degenerate dimension is a dimension key stored directly in the fact table with no separate dimension table, because it has no other attributes worth storing. Invoice number, order number and transaction ID are typical examples. They are useful for grouping order lines back into an order, counting distinct orders or tracing a row to the source system. Creating a separate table just for the number would add a useless join.
85

What is the difference between ETL and ELT?

Save to ▾
Show answer
In ETL, data is extracted from sources, transformed on a separate engine and then loaded into the warehouse. In ELT, raw data is loaded first and transformed inside the warehouse using SQL, often with a tool like dbt. Cloud warehouses with cheap storage and scalable compute made ELT the common choice in 2026, because raw data stays available for reprocessing. ETL still suits cases needing masking or heavy cleansing before data lands.
86

What is the difference between OLTP and OLAP systems?

Save to ▾
Show answer
OLTP systems run day-to-day operations, such as billing or order entry. They handle many small inserts and updates, use normalised tables and need fast single-row access. OLAP systems support analysis, scanning millions of rows to aggregate sales by month or region. They use denormalised star schemas, columnar storage and are mostly read-heavy. Analysts should query OLAP copies so heavy reports do not slow down the live application.
87

Write a CREATE TABLE statement for a sales fact table linked to date, product and store dimensions.

Save to ▾
Show answer
CREATE TABLE fact_sales ( date_key INT NOT NULL REFERENCES dim_date(date_key), product_key INT NOT NULL REFERENCES dim_product(product_key), store_key INT NOT NULL REFERENCES dim_store(store_key), invoice_no VARCHAR(20) NOT NULL, -- degenerate dimension quantity INT NOT NULL, net_amount DECIMAL(12,2) NOT NULL, discount_amount DECIMAL(12,2) DEFAULT 0 );
88

What is a data mart?

Save to ▾
Show answer
A data mart is a subset of the warehouse built for one department or subject, such as sales, finance or HR. It contains the facts and dimensions that team needs, often pre-aggregated and with business-friendly names. Marts make reporting faster and simpler for that team. Ideally they are built from the central warehouse using conformed dimensions, so the finance mart and the sales mart still agree on revenue.
89

What does Flash Fill do in Excel, and when should you not rely on it?

ExcelEasy
Save to ▾
Show answer
Flash Fill (Ctrl+E) detects a pattern from one or two examples you type and fills the rest of the column, for example extracting first names or reformatting phone numbers. It is fast for one-time cleanup. However, it produces static values, not formulas, so it will not update when source data changes, and it can guess wrongly on irregular rows. For repeatable reports, use formulas or Power Query instead.
90

What does value_counts do in pandas, and how do you show percentages instead of counts?

Save to ▾
Show answer
value_counts returns how many times each unique value appears in a Series, sorted from most to least frequent. It is a quick way to check category distribution or spot typos. Pass normalize=True to get proportions, then multiply by 100 for percentages, for example df['city'].value_counts(normalize=True).mul(100).round(1). Use dropna=False to include missing values, which are excluded by default and are often important.
91

What is a virtual environment in Python and why should analysts use one?

Save to ▾
Show answer
A virtual environment is an isolated folder with its own Python interpreter and installed packages, created with python -m venv or tools like conda or uv. Each project can then pin its own pandas or library versions without breaking other projects. Saving the package list in requirements.txt or a lock file lets a colleague or a scheduled server reproduce the same setup, which avoids the classic works-on-my-laptop problem.
92

What is the difference between a primary key and a unique constraint?

SQLEasy
Save to ▾
Show answer
Both prevent duplicate values. A table can have only one primary key, it cannot contain NULLs, and it is the main identifier other tables reference through foreign keys. A table can have several unique constraints, for example on email and on PAN number, and most databases allow NULLs in a unique column. Use the primary key for the row identity and unique constraints for other business rules.
93

What is an A/B test and why is random assignment so important?

Save to ▾
Show answer
An A/B test is a controlled experiment where users are split into a control group that sees the current version and a treatment group that sees a change, and you compare a metric such as conversion. Random assignment makes the groups similar in every way except the change, including things you cannot measure. That is why a difference in results can be attributed to the change itself, not to user mix or seasonality.
94

How do you write a good hypothesis for an experiment?

Save to ▾
Show answer
A good hypothesis names the change, the expected effect, the metric and the reason. For example: showing delivery date on the product page will increase add-to-cart rate by at least 2% because uncertainty about delivery stops purchases. It should be written before the test starts, be measurable, and state the null hypothesis of no difference. A vague hypothesis like 'the new page will be better' leads to cherry-picking metrics afterwards.
95

What are primary metrics and guardrail metrics in an A/B test?

Save to ▾
Show answer
The primary metric is the one decision metric the test is designed to move, such as checkout conversion. Guardrail metrics are ones that must not get worse, such as page load time, refund rate, unsubscribe rate or revenue per user. A change that lifts conversion but increases cancellations should not ship. Define both before launch, so the decision rule is clear and nobody picks the favourable metric afterwards.
96

What are novelty and primacy effects in experiments?

Save to ▾
Show answer
A novelty effect is when users engage more with a change simply because it is new, so the early lift fades over time. A primacy effect is the opposite: existing users resist a change at first because they are used to the old design, so results start poor and improve. Both mean short tests mislead. Run tests for at least one or two full weeks and compare new versus returning users.
97

Write SQL to calculate users, conversions and conversion rate for each test variant.

Save to ▾
Show answer
SELECT a.variant, COUNT(DISTINCT a.user_id) AS users, COUNT(DISTINCT o.user_id) AS converters, ROUND(100.0 * COUNT(DISTINCT o.user_id) / COUNT(DISTINCT a.user_id), 2) AS conversion_pct FROM experiment_assignments a LEFT JOIN orders o ON o.user_id = a.user_id AND o.order_ts >= a.assigned_ts WHERE a.experiment_id = 'checkout_v2' GROUP BY a.variant;
98

When would you use a one-tailed test instead of a two-tailed test?

Save to ▾
Show answer
A two-tailed test checks for a difference in either direction and is the safer default for A/B tests. A one-tailed test checks only one direction, such as treatment being better, and needs fewer users. Use it only if you decided beforehand that you would act the same way whether the change has no effect or a negative effect. Otherwise you may miss harm, which is why most teams stay two-tailed.
99

What is a holdout group and why do teams keep one?

Save to ▾
Show answer
A holdout group is a small share of users, often 5-10%, kept out of a feature or of all marketing campaigns for a long time. Comparing them with everyone else shows the cumulative long-term impact, which individual short tests miss, and checks whether many small wins really add up. For example, a notification holdout shows whether push messages raise monthly retention or just shift activity earlier.
100

What is the difference between an A/B test, an A/B/n test and a multivariate test?

Save to ▾
Show answer
An A/B test compares one change with control. An A/B/n test compares several versions of one element, such as three headlines, with control. A multivariate test changes several elements at once, such as headline and button colour, and tests every combination to see each element's effect and their interactions. Multivariate tests need much more traffic because users are spread across many combinations.
101

Your A/B test ends with no significant difference. How do you report it?

Save to ▾
Show answer
A flat result is still useful. Report the observed difference with its confidence interval, for example -0.3% to +0.8%, which shows the range of effects still possible. State whether the test had enough power for the planned MDE. If it did, conclude that any effect is probably small and the team can choose based on cost or simplicity. Share learnings so the same idea is not retested blindly.
102

What is the normal distribution and the 68-95-99.7 rule?

Save to ▾
Show answer
The normal distribution is a symmetric, bell-shaped distribution described by its mean and standard deviation. The empirical rule says about 68% of values fall within one standard deviation of the mean, 95% within two and 99.7% within three. For example, if delivery times average 30 minutes with an SD of 5, about 95% arrive in 20 to 40 minutes. Many business metrics are skewed, so check before assuming normality.
103

What is regression to the mean? Give a business example.

Save to ▾
Show answer
Regression to the mean means extreme results tend to be followed by more average results, simply because part of the extreme was luck. For example, if you pick the 10 worst-performing stores this quarter and give them a training programme, many will improve next quarter even without training. To claim the programme worked, compare them with similar low performers who did not get it.
104

Your Tableau map shows a large number of unknown locations. How do you fix it?

Save to ▾
Show answer
Click the unknown indicator at the bottom right of the map and choose Edit Locations. Usually Tableau cannot match names because of spelling variants, such as 'Bengaluru' versus 'Bangalore', or an ambiguous city that needs the state and country set. Make sure fields have the correct geographic role, add a country or state field to the view, clean names in the data source, or use latitude and longitude columns.
105

What is the difference between users, sessions and events in Google Analytics 4?

Save to ▾
Show answer
GA4 uses an event-based model: every interaction, such as page_view, scroll, add_to_cart or purchase, is an event with parameters. A session is a group of events from one user within a period of activity, ending after 30 minutes of inactivity by default. A user is identified by a device cookie, app instance or a logged-in user ID. One user can have many sessions, and each session many events.
106

What is the difference between bounce rate and engagement rate in GA4?

Save to ▾
Show answer
In GA4, an engaged session lasts longer than 10 seconds, has a conversion (key event) or has at least two page or screen views. Engagement rate is engaged sessions divided by total sessions. Bounce rate is simply the opposite: the share of sessions that were not engaged. This is more useful than the old single-page bounce definition, because a user who reads a full blog post for three minutes is no longer counted as a bounce.
107

What are UTM parameters and why do they matter?

Save to ▾
Show answer
UTM parameters are tags added to a URL so analytics tools know where a visit came from. The main ones are utm_source (instagram, newsletter), utm_medium (paid_social, email, cpc), utm_campaign (diwali_sale_2026), plus optional utm_content and utm_term. Without them, traffic from emails, messaging apps and many social links shows up as direct or referral, and you cannot measure which campaign drove sign-ups or sales.
108

What do CTR, CPC, CPA and ROAS mean in digital marketing?

Save to ▾
Show answer
CTR, click-through rate, is clicks divided by impressions. CPC, cost per click, is spend divided by clicks. CPA, cost per acquisition, is spend divided by conversions such as orders or leads. ROAS, return on ad spend, is revenue from ads divided by ad spend, so a ROAS of 4 means 4 rupees of revenue per rupee spent. ROAS ignores product margin, so a high ROAS can still lose money.
109

Write a UTM-tagged URL for a paid Instagram campaign promoting a summer sale, and give two naming rules.

Save to ▾
Show answer
https://www.example.com/sale?utm_source=instagram&utm_medium=paid_social&utm_campaign=summer_sale_2026&utm_content=reel_video_a -- Rule 1: always lower case with underscores; 'Instagram' and 'instagram' become separate rows -- Rule 2: keep a shared UTM sheet with allowed source and medium values so every team tags the same way
110

Write SQL to calculate sessions, orders and conversion rate by traffic source.

Save to ▾
Show answer
SELECT s.traffic_source, COUNT(*) AS sessions, COUNT(o.order_id) AS orders, ROUND(100.0 * COUNT(o.order_id) / COUNT(*), 2) AS conversion_pct FROM sessions s LEFT JOIN orders o ON o.session_id = s.session_id GROUP BY s.traffic_source ORDER BY sessions DESC; -- assumes at most one order per session; otherwise use COUNT(DISTINCT o.session_id)
111

Write Excel formulas to calculate ROAS and CPA for each campaign and flag campaigns below a ROAS target.

Save to ▾
Show answer
-- B = Spend, C = Conversions, D = Revenue, target ROAS in H1 E2 (ROAS): =IFERROR(D2/B2, 0) F2 (CPA): =IF(C2=0, "No conversions", B2/C2) G2 (Flag): =IF(E2<$H$1, "Below target", "OK") -- Copy down, then add conditional formatting on G to highlight 'Below target'
112

A campaign landing page gets heavy traffic but very few sign-ups. How would you diagnose it?

Save to ▾
Show answer
Check traffic quality first: is the right audience coming, and does the ad message match the page? Then look at page behaviour by device: load time, scroll depth, form start versus form submit, and which form field users abandon. Session recordings or heatmaps help. Test the form on mobile for errors. Common fixes are faster pages, fewer form fields, a clear call to action above the fold and matching the ad's offer.
113

A KPI on the leadership dashboard jumps 35% overnight. Before anyone celebrates, what do you check?

Save to ▾
Show answer
First check the data: did the refresh load duplicate rows, did a filter or definition change, did late data from the previous day arrive, or did a new source or currency get added? Compare the raw count with the source system. Then check business reasons, such as a big promotion, a bulk order or a holiday. Only after the number is confirmed should it be communicated, with the reason attached.
114

A report filters WHERE order_date = '2026-03-31' and misses almost all orders from that day. Why?

SQLEasy
Save to ▾
Show answer
order_date is probably a DATETIME or TIMESTAMP column, so the filter matches only rows at exactly midnight, 2026-03-31 00:00:00. Use a half-open range instead: WHERE order_date >= '2026-03-31' AND order_date < '2026-04-01'. This keeps the index usable, unlike wrapping the column in CAST or DATE(), and it correctly includes orders at 23:59:59.500. Also check the time zone of the stored timestamps.
115

Tell me about a time you found an error in someone else's spreadsheet.

ExcelEasy
Save to ▾
Show answer
Situation: a teammate's incentive calculation sheet was about to go to payroll. Task: I was asked to review it. Action: I noticed totals did not match the sales extract, traced it to a SUM range that stopped at row 500 while data had grown to 640 rows, and told the teammate privately with the fix. Result: we converted the data to an Excel Table so ranges expand, and payouts went out correctly.

Frequently asked questions

Who should practise easy Data Analytics questions?

Freshers and career switchers should start here, and experienced candidates should skim them the day before an interview.

How should I practise these?

Answer each question aloud before opening the answer, mark it as solved only when your answer matches the key idea, and save misses to Last-Minute Revision.

Other difficulty levels