Skip to content

Data Analytics Interview Questions in Ahmedabad

36 practice questions with answers for Data Analytics interviews in Ahmedabad.

Data Analytics jobs in Ahmedabad

Ahmedabad and GIFT City have a growing market for IT services, fintech and product start-ups. Companies here value hands-on skills and the ability to work across tools, especially in smaller teams.

Below are 36 questions that match the mix of service, product and domain employers hiring data analysts in Ahmedabad.

Solved for AhmedabadStart 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 are additive, semi-additive and non-additive facts?

Save to ▾
Show answer
Additive facts, like sales amount or quantity, can be summed across every dimension. Semi-additive facts, like account balance or stock on hand, can be summed across accounts or stores but not across time; for time you take the closing or average value. Non-additive facts, like percentages, ratios or unit prices, cannot be summed at all, so you store their components (profit and revenue) and calculate the ratio at query time.
02

What is a star schema?

Power BIMedium
Save to ▾
Show answer
A central fact table (sales, numeric events) linked to dimension tables (date, product, customer). It keeps Power BI models simple, fast and correct when filtering.
03

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

What are statistical power and minimum detectable effect (MDE)?

Save to ▾
Show answer
Power is the probability that the test detects a real effect of a given size, commonly set at 80%. The minimum detectable effect is the smallest lift you care about and can reliably detect with your sample size. Smaller MDEs, lower baseline rates and higher power all need more users. If you can only get 10,000 users a week, you may only be able to detect large lifts, which should shape what you test.
05

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

What is Power Query's role in Power BI?

Power BIMedium
Save to ▾
Show answer
It extracts and transforms data using recorded steps in M language, such as merging, unpivoting, changing types and removing errors, before loading to the model.
07

Write Python code to calculate the sample size per group for a conversion test with a 4% baseline and a 10% relative lift.

Save to ▾
Show answer
from statsmodels.stats.power import NormalIndPower from statsmodels.stats.proportion import proportion_effectsize baseline = 0.04 target = baseline * 1.10 # 4.4% effect = proportion_effectsize(target, baseline) n = NormalIndPower().solve_power( effect_size=effect, alpha=0.05, power=0.8, alternative='two-sided' ) print(round(n)) # roughly 39,000 users per group
08

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

Power BIMedium
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.
09

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

How do you make sure a metric like active customer means the same thing across all teams?

Save to ▾
Show answer
Write a clear definition in a shared metric dictionary: formula, filters, time window, grain, owner and source table, for example a customer with at least one paid order in the last 90 days. Implement it once, in a governed dataset or semantic layer, and have all dashboards reuse it rather than recalculating. Version changes, announce them and show the definition in the dashboard tooltip. Review new metrics before they are published.
11

Why do ratio metrics need extra care on a dashboard compared with count metrics?

Save to ▾
Show answer
A ratio like conversion rate or average order value can move because the numerator or the denominator changed, so always show both components nearby. Ratios can look dramatic on small bases, such as 2 of 4 users. They also cannot be averaged across segments; you must divide total numerator by total denominator, otherwise small segments get too much weight. Counts are simpler but need context like trends or targets.
12

What is a correlated subquery?

SQLMedium
Save to ▾
Show answer
A correlated subquery refers to a column from the outer query, so it is logically evaluated once per outer row. Example: find employees earning above their department average with WHERE salary > (SELECT AVG(salary) FROM emp e2 WHERE e2.dept_id = e1.dept_id). It is readable but can be slow on large tables. The same result is often faster with a window function such as AVG(salary) OVER (PARTITION BY dept_id).
13

The column names in a monthly vendor file keep changing. How do you make your cleaning pipeline robust?

Save to ▾
Show answer
Agree a data contract with the vendor if possible. In the pipeline, normalise headers by trimming, lower-casing and replacing spaces, then map known variants to standard names through a lookup table you maintain. Validate that all required columns exist after mapping and fail with a clear message if not, instead of producing silent blanks. Select columns by name, never by position, and log any unexpected new columns for review.
14

Write SQL using LAG to compare each month's revenue with the previous month.

SQLMedium
Save to ▾
Show answer
WITH monthly AS ( SELECT DATE_TRUNC('month', order_date) AS month, SUM(amount) AS revenue FROM orders GROUP BY 1 ) SELECT month, revenue, LAG(revenue) OVER (ORDER BY month) AS prev_revenue, ROUND(100.0 * (revenue - LAG(revenue) OVER (ORDER BY month)) / NULLIF(LAG(revenue) OVER (ORDER BY month), 0), 1) AS mom_pct FROM monthly ORDER BY month;
15

Write SQL for a running total of sales by date.

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

Write pandas code to fill missing values in a column with the median of each group.

Save to ▾
Show answer
# Fill missing delivery_days with the median for that city df['delivery_days'] = ( df['delivery_days'] .fillna(df.groupby('city')['delivery_days'].transform('median')) ) # Rows in a city with no values at all stay NaN; fall back to overall median df['delivery_days'] = df['delivery_days'].fillna(df['delivery_days'].median())
17

What types of dashboard actions does Tableau offer?

TableauMedium
Save to ▾
Show answer
Filter actions filter other sheets when a user selects or hovers on a mark, such as clicking a region to filter a product table. Highlight actions emphasise related marks without removing others. URL actions open a web page with field values in the link. Go to Sheet navigates to another dashboard. Parameter and set actions update a parameter or set based on selection, enabling advanced interactions like dynamic drill-downs and comparisons.
18

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

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

Tell me about a time you mentored or guided a junior analyst.

Save to ▾
Show answer
Situation: a new analyst on my team kept getting review comments for inconsistent numbers. Task: help him become independent. Action: I paired with him on two reports, shared a checklist covering definitions, row-count checks and chart standards, and set a weekly 30-minute review where he presented his work. Result: within six weeks his reports passed review with minor edits, and the checklist became part of team onboarding.
21

Write pandas code to calculate customer acquisition cost and payback period in months for each channel.

Save to ▾
Show answer
# spend: channel, spend # customers: channel, customer_id, monthly_margin new_cust = customers.groupby('channel').agg( new_customers=('customer_id', 'nunique'), avg_margin=('monthly_margin', 'mean')) summary = spend.groupby('channel')['spend'].sum().to_frame().join(new_cust) summary['cac'] = summary['spend'] / summary['new_customers'] summary['payback_months'] = summary['cac'] / summary['avg_margin'] print(summary.round(1).sort_values('payback_months'))
22

Write SQL to flag rows that fail basic validation rules in a customer table.

Save to ▾
Show answer
SELECT customer_id, CASE WHEN email IS NULL OR email NOT LIKE '%_@_%._%' THEN 1 ELSE 0 END AS bad_email, CASE WHEN LENGTH(pincode) <> 6 THEN 1 ELSE 0 END AS bad_pincode, CASE WHEN signup_date > CURRENT_DATE THEN 1 ELSE 0 END AS future_signup, CASE WHEN age NOT BETWEEN 18 AND 100 THEN 1 ELSE 0 END AS bad_age FROM customers; -- sum each flag to report the error rate per rule
23

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

How do you handle a dataset with 30% missing values in a key column?

Save to ▾
Show answer
Understand why it is missing, consider imputation or a missing flag, test sensitivity, and talk to data owners about fixing collection if it is systematic.
25

What is the difference between frequentist and Bayesian A/B testing?

Save to ▾
Show answer
Frequentist testing asks how surprising the data would be if there were no difference, and gives p-values and confidence intervals with a fixed sample size. Bayesian testing combines a prior with the data to give a probability that treatment beats control and the expected loss of choosing it. Bayesian results are easier for business users to read, but still depend on priors and still need sensible stopping rules.
26

What are bookmarks and drill-through in Power BI?

Power BIMedium
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.
27

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

What is a p-value, explained simply?

Save to ▾
Show answer
A p-value is the probability of seeing a result at least as extreme as yours if the null hypothesis, usually no effect, were true. A p-value of 0.03 means that if the new page truly made no difference, results this strong would appear only about 3 percent of the time by chance. Below a chosen threshold such as 0.05 we reject the null. It is not the probability that the hypothesis is true.
29

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

Explain time intelligence functions.

Power BIMedium
Save to ▾
Show answer
DAX functions like TOTALYTD, SAMEPERIODLASTYEAR and DATEADD compare periods; they need a proper continuous date table marked as a date table.
31

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

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

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

Your Power BI dataset with five years of transactions takes two hours to refresh. How would you fix it?

Save to ▾
Show answer
Incremental refresh partitions a large table by date so that each refresh reloads only recent data, for example the last 7 days, while older partitions stay untouched. You create RangeStart and RangeEnd parameters, filter the table with them in Power Query, and set a policy such as store 5 years, refresh 7 days. Refresh becomes faster and lighter on the source. Query folding must work for the filter to be pushed to the database.
35

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

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.

Frequently asked questions

Which companies hire Data Analytics professionals in Ahmedabad?

Companies with large offices in Ahmedabad include many IT services and product firms. Use their company pages below to practise employer-specific sets.

Are Data Analytics interviews in Ahmedabad different from other cities?

The questions depend more on the company than the city. Ahmedabad's mix of employers decides the style: Companies here value hands-on skills and the ability to work across tools, especially in smaller teams

How do I find Data Analytics jobs in Ahmedabad?

Shortlist companies with Ahmedabad offices, keep your CV focused on Data Analytics projects, apply on company career pages and job portals with the Ahmedabad filter, and practise the questions on this page before each interview.