📚 Chapters
TOP 10 Adobe Data Analyst Interview Questions
✍️ By ANUJ SINGH | 11/14/2025
Q 1. How to Write an SQL Query for Calculating Month-over-Month Revenue Growth?
ANS- To calculate month-over-month (MoM) revenue growth in SQL, follow these steps:
- Aggregate revenue by month using
DATE_TRUNC()orMONTH()depending on your SQL dialect. - Use
LAG()window function to fetch previous month's revenue. - Calculate growth percentage using
(current - previous) / previous.
Sample Query (PostgreSQL):
SELECT
DATE_TRUNC('month', transaction_date) AS month,
SUM(revenue) AS current_month_revenue,
LAG(SUM(revenue)) OVER (ORDER BY DATE_TRUNC('month', transaction_date)) AS previous_month_revenue,
ROUND(
(SUM(revenue) - LAG(SUM(revenue)) OVER (ORDER BY DATE_TRUNC('month', transaction_date)))
/ NULLIF(LAG(SUM(revenue)) OVER (ORDER BY DATE_TRUNC('month', transaction_date)), 0) * 100, 2
) AS mom_growth_percentage
FROM sales_data
GROUP BY DATE_TRUNC('month', transaction_date)
ORDER BY month;
Q 2. What is the Best SQL Approach to Identify Customers with More Than Three Consecutive Purchases?
ANS- To detect customers with more than three consecutive purchases, use window functions and row numbering logic.
Assign a row number to each purchase per customer.
- Assign a sequential group using
ROW_NUMBER() - purchase sequence. - Count purchases within each group to find streaks.
Sample Query:
WITH ranked_purchases AS (
SELECT
customer_id,
purchase_date,
ROW_NUMBER() OVER (PARTITION BY customer_id ORDER BY purchase_date) AS rn
FROM transactions
),
grouped_purchases AS (
SELECT
customer_id,
purchase_date,
rn - ROW_NUMBER() OVER (PARTITION BY customer_id ORDER BY purchase_date) AS grp
FROM ranked_purchases
)
SELECT customer_id
FROM grouped_purchases
GROUP BY customer_id, grp
HAVING COUNT(*) > 3;
Q 3. How to Handle NULL Values in SQL When Calculating Average Metrics?
ANS- NULL values can skew average calculations if not handled properly. SQL’s AVG() function automatically ignores NULLs, but explicit handling improves clarity and control.
- Use
COALESCE()to replace NULLs with default values if needed. - Ensure data integrity by filtering or imputing missing values.
Sample Query:
SELECT
AVG(COALESCE(sales_amount, 0)) AS adjusted_average_sales
FROM sales_data;
Or, if you want to exclude NULLs explicitly:
SELECT
AVG(sales_amount) AS average_sales
FROM sales_data
WHERE sales_amount IS NOT NULL;
Q 4. What is the Best Practices for Reporting Accuracy When Transaction Data Is Delayed in SQL Databases?
ANS- Delayed transaction data can lead to misleading reports. Here’s how to maintain accuracy:
Use timestamp filters:
Only include finalized or confirmed transactions.Implement data lag buffers
: Delay reporting by a few hours/days to allow data to settle.Flag incomplete records
: Use status flags or audit columns to exclude partial data.Version control:
Track data ingestion versions to ensure consistency.
Sample Strategy:
SELECT *
FROM transactions
WHERE transaction_status = 'confirmed'
AND transaction_date <= CURRENT_DATE - INTERVAL '1 day';
Q 5. What Is a P-Value and Confidence Interval, and When to Use a T-Test vs. Z-Test in Data Analysis?
ANS -
p-value
measures the probability of observing your data (or something more extreme) assuming the null hypothesis is true.Low p-value (< 0.05)
→ Strong evidence against the null hypothesisHigh p-value (> 0.05)
→ Weak evidence; fail to reject the null hypothesis
A confidence interval (CI)
provides a range of values within which the true population parameter is likely to fall.- Example: A 95% CI of [48, 52] means we’re 95% confident the true mean lies between 48 and 52.
T-Test vs. Z-Test: When to Use Each
Test Type |
Use Case |
Sample Size |
Known Variance |
|---|---|---|---|
T-Test |
Comparing means | Small (n < 30) | Unknown population variance |
Z-Test |
Comparing means or proportions | Large (n ≥ 30) | Known population variance |
Q6. How to Investigate a 20% Drop in Sales Using Data-Driven Techniques and Root Cause Analysis?
ANS- Framework for Sales Drop Analysis:
Segment the Drop Break down by product, re
- gion, channel, and customer segment
- Identify where the decline is concentrated
Compare Time Periods
- Use YoY and MoM comparisons
- Look for seasonal or cyclical patterns
Analyze Funnel Metrics
- Check traffic, conversion rates, cart abandonment, and average order value
- Identify which stage is underperforming
Investigate External Factors
- Market trends, competitor activity, pricing changes, or macroeconomic shifts
Run Statistical Tests
- Use hypothesis testing to validate assumptions
- Apply regression analysis to quantify impact drivers
Visualize the Findings
- Use dashboards to highlight anomalies and trends
- Present insights with actionable recommendations
Q 7. How to Design a Performance Evaluation Metric for a New Digital Marketing Campaign Using Statistical? Methods?
ANS- Steps to Build a Campaign Performance Metric:
Define the Objective
- Awareness, engagement, conversion, or retention
- Align KPIs with business goals
Choose Relevant Metrics
- CTR, conversion rate, cost per acquisition (CPA), return on ad spend (ROAS)
- Include both leading and lagging indicators
Set a Baseline and Control Group
- Use A/B testing or historical benchmarks
- Ensure statistical validity
Apply Statistical Techniques
- Use t-tests to compare campaign vs. control
- Regression to isolate campaign impact from confounding variables
Build a Composite Score (Optional)
- Weight multiple KPIs into a single performance index
- Normalize scores for cross-channel comparison
Example Metric:
Campaign Effectiveness Score = (Conversion Rate × ROAS) / CPA
Q 8. How to Create a Year-over-Year (YoY) Sales Trend Visualization and Detect Outliers Using Tableau or Power BI?
ANS-
Prepare the Data
- Ensure your dataset includes
Date,Sales, andYearcolumns - Create a calculated field for
YearandMonthif not already present
- Ensure your dataset includes
Build the YoY Visualization
- In
Tableau:
UseDATEPART('year', [Date])andDATEPART('month', [Date]) - In
Power BI:
UseYEAR(Date)andMONTH(Date)in DAX - Plot
Saleson the Y-axis andMonthon the X-axis, withYearas a color legend
- In
Detect Outliers
- Use Box Plot or Standard Deviation Bands
- Apply filters or conditional formatting to highlight anomalies
- In Tableau: Use
Z-ScoreorAnalytics Pane - In Power BI: Use
DAXto flag values beyond ±2 standard deviations
Q 9. What Techniques Make Dashboards More Interactive and Insightful for Executive Leadership in BI Tools?
ANS- Techniques for Executive-Friendly Dashboards:
Use High-Level KPIs
- Display metrics like revenue, growth rate, churn, and ROI
- Use cards or tiles for quick scanning
Enable Drill-Downs and Filters
- Allow users to explore data by region, product, or time
- Use slicers, dropdowns, and clickable charts
Incorporate Dynamic Narratives
- Use annotations, tooltips, and storytelling captions
- Highlight trends, anomalies, and business impact
Optimize Layout for Decision-Making
- Use grid-based design with clear hierarchy
- Prioritize clarity over complexity
Add Alerts and Threshold Indicators
- Use color-coded flags for performance benchmarks
- Trigger alerts for critical deviations
Q 10. How to Present a Data Analytics Portfolio with Compelling Storytelling and Business Impact Insights?
ANS- Best Practices for Portfolio Presentation:
Start with a Business Problem
- Frame each project around a real-world challenge
- Explain the context and objectives clearly
Showcase Analytical Approach
- Describe data sources, tools used (SQL, Python, Tableau, etc.)
- Highlight statistical methods or models applied
Visualize Key Findings
- Use dashboards, charts, and infographics
- Focus on clarity, relevance, and insight delivery
Quantify Business Impact
- Share metrics like cost savings, revenue growth, or efficiency gains
- Use before-after comparisons or ROI calculations
Tell a Cohesive Story
- Use a narrative arc: Problem → Analysis → Insight → Action → Outcome
- Keep it concise, visual, and audience-focused
Also Include a downloadable PDF or interactive dashboard link for recruiters and stakeholders to explore.
💬 Comments
Comments (0)
No comments yet. Be the first to share your thoughts!