Dream11 Data Analytics Interview Questions & Answers
Curated interview practice questions with answers. These are practice scenarios, not a verified list of past interview questions.
About Dream11 hiring for Data Analytics roles
Dream11 is an Indian sports technology platform and the flagship brand of Dream Sports, which also includes FanCode and other businesses. Its engineering and analytics teams build systems that handle very high traffic during live matches. It hires for software engineers, SDETs, data engineers, data analysts and data scientists.
For Data Analytics roles, this Dream11 practice set focuses most on SQL (7), Power BI (7), Web & Marketing Analytics (6), Python for Analysis (4). It has 2 easy, 34 medium, 4 hard questions, so you can start easy and work up to the harder ones.
Company type
Product
Headquarters
Mumbai, India
Main India offices
Mumbai
Dream11 Data Analytics interview process
Online assessment or assignment
Technical round 1
Technical round 2 (design or case)
Hiring manager round
Culture fit round
Typical pattern based on public candidate experiences. Rounds vary by role, team and year.
Solved for Dream11Start 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
You share a forecasting workbook and users keep overwriting formulas. How do you protect it?
Separate input cells from calculation cells and colour inputs clearly. Unlock only the input cells through Format Cells, Protection, then protect the sheet so formulas cannot be edited, and optionally hide formulas. Add data validation on inputs to block wrong values such as negative quantities. Protect workbook structure so sheets cannot be deleted, keep a version history, and add a short instructions sheet so users know where to type.
This is very likely bot or spam traffic, or a misfiring tag. Check the user agents, IP ranges, hostnames, screen resolutions and landing pages for that traffic. If it is bots, exclude it with filters or data segments in analytics and in your reporting layer, and inform the web team so they can block it. Then restate the affected dashboard numbers, because bots inflate sessions and pull down conversion rate.
04
Your scheduled Python report failed silently and nobody noticed for a week. How do you make it reliable?
Add logging to a file or central log, wrap the main steps in try and except that send an alert by email or chat on failure, and exit with a non-zero code so the scheduler marks the job failed. Add data checks, such as row counts above a minimum and no missing dates, before sending output. Use a proper scheduler or orchestrator with retries, and include the data date in every report.
05
Write Excel formulas to calculate ROAS and CPA for each campaign and flag campaigns below a ROAS target.
-- 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'
06
Write pandas code to calculate customer acquisition cost and payback period in months for each channel.
Open the semantic model's refresh history in the Service to see whether refreshes failed, for example due to expired credentials, an offline gateway or a timeout. Check whether the report is connected to a different copy of the model, whether the source itself was updated, and whether incremental refresh only covers some partitions. Also confirm the schedule time zone. Finally, add a 'data as of' timestamp on the report.
08
Brand keyword ads show a ROAS of 15, and the team wants to double the budget. How do you respond?
Brand search ROAS is usually inflated because people searching the brand name were already looking for you and would often click the free organic result anyway. Before increasing spend, I would propose an incrementality test, such as pausing brand ads in some matched cities or time periods and measuring the drop in total brand-search orders. The incremental ROAS is often far lower, so the extra budget may work better elsewhere.
09
Write pandas code to find the top 2 products by revenue in each region.
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.
11
What is the difference between a clustered and a non-clustered index?
An execution plan shows how the database will run a query: which indexes it uses, join methods such as nested loop or hash join, scan types and estimated rows. You get it with EXPLAIN, or EXPLAIN ANALYZE for actual timings. Look for full table scans on big tables, large gaps between estimated and actual rows, and expensive sorts. These point to missing indexes, stale statistics or non-sargable filters like functions on columns.
13
Orders arrive in the warehouse with customer IDs that do not exist yet in the customer dimension. What do you do?
These are late-arriving dimensions. Do not drop the orders, or revenue will be understated. Common practice is to insert a placeholder customer row with the natural key and 'Unknown' attributes, link the order to it, and update that row when full details arrive. Alternatively map to a single Unknown member with key -1. Also monitor how many such rows appear daily, because a spike usually means a broken feed.
14
A stakeholder says the Power BI report shows different revenue than their Excel file. How do you troubleshoot?
I would first agree on definitions: gross or net, including tax or returns, order date or invoice date. Then compare one small slice, such as one month and one region, in both. I check filters on the report and page, relationships that drop unmatched rows, refresh time versus the Excel extract time, and duplicate rows. Once the gap is explained, I document the definition in the report so the question does not repeat.
15
What is the difference between ALL, ALLEXCEPT and REMOVEFILTERS in DAX?
ALL removes filters from a table or columns and can also return all rows as a table. REMOVEFILTERS only removes filters and is clearer inside CALCULATE. ALLEXCEPT removes all filters on a table except the columns you list. A common use is share of total: DIVIDE([Sales], CALCULATE([Sales], ALL(Product))) gives each product's percentage, while ALLEXCEPT(Product, Product[Category]) gives share within its category.
16
What is the difference between Goal Seek and Solver?
Goal Seek changes one input to hit a target output; Solver optimises with several variables and constraints, for example maximising profit under budget limits.
17
How do you merge two DataFrames on different column names?
Situation: the support team was judged only on tickets closed, which encouraged rushed replies. Task: propose a better measure. Action: I analysed reopen rates and satisfaction scores, then proposed first-contact resolution rate with clear rules for what counts as resolved. I tested it on three months of history and reviewed edge cases with team leads. Result: it became the main KPI and reopen rates fell 18% in a quarter.
-- PostgreSQL syntax
CREATE TABLE dim_date AS
SELECT
TO_CHAR(d, 'YYYYMMDD')::INT AS date_key,
d::DATE AS full_date,
EXTRACT(YEAR FROM d) AS year,
EXTRACT(QUARTER FROM d) AS quarter,
EXTRACT(MONTH FROM d) AS month_no,
TO_CHAR(d, 'Mon') AS month_name,
TO_CHAR(d, 'Dy') AS weekday,
EXTRACT(ISODOW FROM d) IN (6, 7) AS is_weekend
FROM GENERATE_SERIES(DATE '2026-01-01', DATE '2026-12-31', INTERVAL '1 day') AS d;
Use a star schema, remove unused columns, prefer measures, reduce visuals per page, limit high-cardinality fields and use aggregations or incremental refresh.
22
Your event logs store timestamps in UTC, but the business reports daily sales in IST, and late-night orders land on the wrong day. How do you fix it?
Convert timestamps to the business time zone before deriving the date. IST is UTC plus 5 hours 30 minutes, so an order at 20:00 UTC belongs to the next day in IST. In SQL use AT TIME ZONE or CONVERT_TZ, and in pandas use tz_localize('UTC') followed by tz_convert('Asia/Kolkata'). Store raw UTC, add a local date column in the model, and document which one each report uses.
23
How would you present the same churn analysis to the CEO and to the customer support team?
For the CEO, lead with the headline and money: churn rose 2 points, costing about 3 crore annually, mainly from one segment, with two recommended actions and their expected impact, all on one or two slides. For the support team, go deeper into drivers they control: ticket types, resolution times and specific customer pain points, with operational next steps and how progress will be tracked. Same data, different level and call to action.
24
Tell me about a time you retired or consolidated reports that nobody used.
Situation: our team maintained over 60 scheduled reports and spent two days a month fixing them. Task: reduce the load without upsetting users. Action: I checked usage logs, listed reports not opened in 90 days, contacted owners and merged overlapping ones into four dashboards with filters. I archived the rest with a 30-day notice. Result: we retired 38 reports, only two were requested back, and maintenance time halved.
25
Site conversion rate rose from 2.0% to 2.4%, but total revenue stayed flat. What would you check?
Check the components: sessions may have fallen, for example after cutting paid campaigns, which removes low-intent traffic and lifts the rate without new sales. Average order value may have dropped because of discounts or a mix shift towards cheaper products. Also check whether conversion definitions or tracking changed. Revenue equals sessions times conversion rate times AOV, so break down the change across those three factors by channel.
26
Your NOT IN query unexpectedly returns zero rows. Why might that happen, and how do EXISTS and IN differ?
IN checks whether a value is in a list or subquery result; EXISTS checks whether a subquery returns at least one row and stops at the first match. Results are the same in most cases, and modern optimisers often run them similarly. The big difference is NOT IN with NULLs: if the subquery returns any NULL, NOT IN returns no rows. NOT EXISTS behaves correctly, so prefer it for anti-joins.
27
What is the difference between sets and groups in Tableau?
A group combines dimension members into higher-level categories, such as merging small states into Others; it is static and each member belongs to one group. A set splits members into In and Out based on a selection or condition, such as top 10 customers by sales, and can be dynamic and recalculate with data. Sets can be combined, used in calculations and changed by set actions, making them more powerful for interactive analysis.
Clarify the goal first: profit, cash or market share. Build a store-level dataset with revenue, contribution margin after rent and staff, trend over 24 months, footfall, catchment demographics and cannibalisation with nearby stores. Separate structural losers from stores that are new or temporarily disrupted. Estimate how much revenue would shift to nearby stores or online if a store closes. Present a shortlist with scenarios and risks, not a single answer.
A calculated column is computed row by row and stored in the model. A measure is computed at query time using the filter context, e.g. Total Sales = SUM(Sales[Amount]). Prefer measures for aggregations.
32
What steps would you apply in Power Query to clean a messy system export?
Typical steps: remove top junk rows and promote the real header row, remove blank rows and columns, set correct data types, trim and clean text, split combined columns such as Name - City, replace error values, fill down for grouped labels, remove duplicates on the business key, and unpivot wide month columns. Rename steps meaningfully so others can follow them, and keep the query foldable when the source is a database.
33
Write SQL to find the number of days between each customer's consecutive orders and their average gap.
WITH gaps AS (
SELECT customer_id,
order_date,
order_date - LAG(order_date) OVER (
PARTITION BY customer_id ORDER BY order_date) AS days_since_prev
FROM orders
)
SELECT customer_id,
COUNT(*) AS orders,
AVG(days_since_prev) AS avg_gap_days
FROM gaps
GROUP BY customer_id
HAVING COUNT(*) > 1;
-- order_date is DATE (PostgreSQL); use DATEDIFF in other databases
34
What is the difference between a t-test and a z-test?
Both compare means. A z-test assumes the population standard deviation is known or the sample is large, so the normal distribution applies. A t-test estimates standard deviation from the sample and uses the t-distribution, which has heavier tails for small samples. In practice analysts mostly use t-tests: one-sample, independent two-sample (Welch's version if variances differ) or paired, for before-after measurements on the same users.
35
What is referential integrity and how do orphan records appear in analytics data?
Referential integrity means every foreign key value points to an existing row in the parent table, for example every order's customer_id exists in customers. Orphan records break this rule. They appear when source systems load tables at different times, records are deleted without cascading, or IDs are formatted differently across systems. Detect them with a LEFT JOIN where the parent key is NULL, and decide whether to fix, map or flag them.
36
What is the difference between an outlier and a data error?
An outlier is a genuine but unusual value, such as a bulk corporate order of 50 laptops; it is real and may be important. A data error is an incorrect value, such as an age of 250 or a price entered in paise instead of rupees. Errors should be fixed or removed. Outliers should be investigated and often kept, perhaps analysed separately or with median-based metrics so they do not distort averages.
37
Write a DAX measure for cumulative sales from the start of the data to the selected date.
Cumulative Sales =
VAR maxDate = MAX('Date'[Date])
RETURN
CALCULATE(
[Total Sales],
FILTER(ALL('Date'[Date]), 'Date'[Date] <= maxDate)
)
-- for a running total that resets each year use TOTALYTD([Total Sales], 'Date'[Date])
38
Checkout conversion fell from 3.2% to 2.6% the week after an app release. How do you investigate?
First confirm it is real: check tracking events, data delays and whether the denominator changed. Then segment by app version, platform, device, payment method and traffic source. If the drop is concentrated in the new version or one payment option, it points to a bug or UX change. Look at funnel steps to find where users drop. Compare with seasonality and campaigns, then share findings with product and engineering quickly.
39
Tell me about a time tracking broke and you had to fix the reporting.
Situation: after a checkout redesign, purchases in our analytics fell 35% overnight while orders were normal. Task: find the cause and protect the weekly report. Action: I compared analytics with the order table by page and device, found the purchase tag no longer fired on the new UPI payment success page, and worked with developers to fix it. Result: I backfilled the gap from order data, added a footnote and set up a daily mismatch alert.
40
What is the difference between population and sample?
The population is the whole group of interest; a sample is a subset used to estimate population values.
Tips to crack the Dream11 Data Analytics interview
Practise system design for sudden traffic spikes, such as many users joining just before a cricket match starts.
Prepare analytics cases on user engagement, retention and contest participation around major tournaments.
Keep up with regulatory changes affecting online gaming in India, as they directly shape the company's business.
Keep a one-minute story ready for every project on your CV: problem, your part, tools, result.
Practise the hard questions on this page aloud; Dream11 interviewers usually ask follow-ups on your first answer.
Frequently asked questions
How many rounds are there in the Dream11 Data Analytics interview?
Candidates usually go through 5 stages: Online assessment or assignment; Technical round 1; Technical round 2 (design or case); Hiring manager round; Culture fit round. The exact rounds change with the role, team, location and your experience, so confirm the process with the recruiter.
Which topics should I prepare for the Dream11 Data Analytics interview?
This practice set leans on SQL (7), Power BI (7), Web & Marketing Analytics (6), Python for Analysis (4). Revise those first, then practise explaining one or two of your own projects end to end, because most Dream11 interviewers ask you to walk through real work.
Are these the exact questions asked at Dream11?
No. These are curated practice questions that match the skills and difficulty usually tested in product interviews like Dream11's. They are not a leaked or verified list of past questions.
Where does Dream11 hire Data Analytics professionals in India?
Dream11 has large teams in Mumbai. Openings and locations change often, so check the Dream11 careers page and filter by city and experience.