๐ Prerequisites & Resources โ Data Analyst Job Simulation
Read this before starting the clock. The simulation assumes zero work experience, but it does assume you can operate a spreadsheet. If anything in the checklists below is new to you, spend 2โ4 hours with the resources first โ the timer is unforgiving, the prep is free.
Who this is for
Freshers and career-switchers targeting Data Analyst / Business Analyst / MIS Analyst roles. If you can do both checklists below, you're ready. If you can't yet โ that's exactly what this page fixes.
โฑ๏ธ The rules at a glance
| Rule | What it means for you |
|---|---|
| The clock | Starts when you start a ticket, pauses while your work is in review, and resumes on retry. Your total active time is what ranks you on the weekly leaderboard. |
| First submission โ 12 hours | Make at least one submission within 12 hours of starting, or the simulation deactivates. |
| Everything โ 48 hours | Submit all tickets within 48 hours of starting. Plan it like a real take-home: one sitting per ticket. |
| Free submissions | 2 per ticket. After that: one instant retry for โน49, or wait 6 hours for a free slot. |
| Your dataset | Generated uniquely for you and stays the same for your whole run โ a retry means fixing your existing file, not starting over. Copied answers from anyone else's file will fail automatically. |
| Deactivated? | Restart free after 7 days, or instantly for โน99. A restart issues a fresh dataset and resets progress. |
| Results | Within 24 hours, usually much sooner โ you'll get an email plus in-app status the moment grading finishes. |
๐งฎ How you're graded (pass: 60/100 on DA-101, 70/100 on DA-102)
- DA-101: 70% automated check of your cleaned file against the known error list (every injected error, fix by fix โ and modifying rows that were already clean loses marks), 30% AI review of your data-quality note (โฅ3 issue types, counts, drop justification, clarity).
- DA-102: 60% automated numeric answers computed from your dataset (tolerances are printed in the ticket), 40% AI review of your memo โ where decision quality (did you look beyond the single metric you were given?) is worth as much as being right.
- Feedback always tells you the score math and exactly which operations lost marks, so a retry is never a guess.
โ Skill checklist โ Ticket DA-101 (Data Cleaning)
You should be able to do each of these in Excel or Google Sheets (Python equivalents shown for those going that route):
| Skill | Excel / Sheets | Python (pandas) |
|---|---|---|
| Sort & filter a table | Data โ Filter | df.sort_values(), boolean masks |
| Remove exact duplicate rows | Data โ Remove Duplicates | df.drop_duplicates(keep="first") |
| Trim stray spaces | TRIM() | .str.strip() |
| Fix casing against an official list | =XLOOKUP(LOWER(TRIM(A2)), LOWER(list), list) โ or plain Find & Replace per broken value | build a dict from the official names: fix = {n.lower(): n for n in official} then .str.strip().str.lower().map(fix) |
| Find & replace specific values | Ctrl+H, or SUBSTITUTE() | .replace({...}) |
| Standardize dates | helper formulas โ see the date recipe below | pd.to_datetime(col, dayfirst=True, format="mixed") (pandas โฅ 2.0), then .dt.strftime("%Y-%m-%d") |
| Convert text to numbers | VALUE() + SUBSTITUTE() to strip โน, commas, "INR" | `.str.replace(r"[โน,] |
| Find blank cells | Filter by (Blanks), ISBLANK() | df.isna() |
| Fill values via a lookup table | VLOOKUP() / INDEX+MATCH (city โ region) | .map(city_to_region) |
| Delete rows matching a condition | Filter โ select rows โ delete | df = df[df["quantity"] > 0] |
โ ๏ธ The #1 mark-loser: blanket
PROPER()/.str.title(). Several official product names use deliberate casing (43-inch Smart TV,Power Bank 20000mAh,Sunscreen SPF50โฆ). A formula that title-cases every row silently corrupts ~a quarter of the file โ and the grader counts each one as a wrongly modified clean row. Fix only the broken rows, by matching them to the official spellings printed in the ticket.
๐
The date recipe (Excel/Sheets). The file mixes three broken formats, and DATEVALUE() behaves differently per locale โ so parse them yourself with helper columns, then format everything =TEXT(cell,"YYYY-MM-DD"):
08/03/2026(day first) โ=DATE(RIGHT(A2,4), MID(A2,4,2), LEFT(A2,2))08-03-26(day first, 2-digit year) โ=DATE(2000+RIGHT(A2,2), MID(A2,4,2), LEFT(A2,2))Mar 8, 2026โDATEVALUE()handles this one fine in most locales- Sanity check when done: every date must fall in JanโJun 2026. A date like 2026-08-03 means you swapped day and month.
๐ค Deliverable format (the auto-grader is literal): same 11 columns, same names, same order, no index column (pandas: to_csv(index=False)), quantity/total_revenue as plain numbers (1751, not 1751.0 or โน1,751), dates as YYYY-MM-DD text.
๐ Self-check before submitting: every surviving row should satisfy quantity ร unit_price = total_revenue. One failing row = a parsing error you haven't found yet.
Self-test: given a column with " MUMBAI ", bombay, and Mumbai, can you make all three read Mumbai โ without touching a fourth cell that's already correct? If yes in under 2 minutes, you're ready for DA-101.
โ Skill checklist โ Ticket DA-102 (Analysis & Recommendation)
Work from your cleaned DA-101 file โ a wrong answer here usually traces back to a cleaning mistake there (wrong drops shift every total).
| Skill | Excel / Sheets | Python (pandas) |
|---|---|---|
| Summarize revenue by a category | Pivot Table (rows: region, values: SUM of revenue) or SUMIFS() | df.groupby("region")["total_revenue"].sum() |
| Group by month from a date | Pivot: Group dates by month, or a helper column =TEXT(date,"YYYY-MM") | df["order_date"].str[:7] or .dt.to_period("M") |
| % change between two numbers | =(new-old)/old, format as % | .pct_change() |
| % share of total | =part/SUM(total) | x / x.sum() |
| Average Order Value (AOV) | =SUMIFS(revenue,channel,X)/COUNTIFS(channel,X) | groupby()["revenue"].sum() / groupby().size() |
| Compare a metric across months for one segment | Pivot with two dimensions (month ร channel) | pivot_table(index="month", columns="channel", values="total_revenue", aggfunc="sum") |
| Write a short business memo | Recommendation first โ 2+ metrics as evidence โ one next step. ~150 words, readable in 40 seconds. | โ |
Answer formats matter: percentages to 1 decimal place, revenue as a plain number, direction as exactly one of Growing / Declining / Mixed. The tolerances (ยฑ1% on revenue, ยฑ2 points on MoM %, ยฑ1 point on share %) are printed in the ticket โ they forgive rounding, not method errors.
Concepts to know (60-second definitions below): MoM growth, AOV, revenue share, trend vs. snapshot.
๐ Mini glossary
- MoM (Month-on-Month) growth โ % change vs the previous month:
(this โ last) รท last ร 100. The board's favorite momentum metric. - AOV (Average Order Value) โ total revenue รท number of orders. Tells you how much a typical order is worth, independent of how many orders there are.
- Revenue share โ one segment's revenue as a % of the whole. A snapshot.
- Trend vs. snapshot โ a snapshot says where something is; a trend says where it's going. Decisions made on snapshots alone are how companies kill their fastest-growing channel. (That's a hint.)
- Exact duplicate โ a row identical in every column, usually a system export error.
- Canonical value โ the one official spelling of a thing (
Bengaluru, notBLR;43-inch Smart TV, not43-Inch Smart Tv).
๐ซ Top 5 ways people lose marks (all avoidable)
- Blanket title-casing product names โ corrupts deliberately-cased names at scale. Fix only broken rows, against the official lists.
- Filling what should be dropped โ blank
quantity/revenuerows and zero/negative quantities must be deleted, per the finance rule in the ticket. Blankregionis the only fill. - Day/month swaps โ
08/03/2026is 8 March, not 3 August. Every date lands in JanโJun 2026; anything outside that range is your parser lying to you. - A 12th column โ pandas' index column (
to_csv(index=False)forgets) or an Excel helper column left in. The submit check rejects it before grading. - Modifying clean rows โ every unnecessary "fix" costs marks. When in doubt, leave it alone.
๐ Free resources
Spreadsheets
- Microsoft Excel help & function reference โ https://support.microsoft.com/en-us/excel
- Google Sheets Help Center โ https://support.google.com/docs
- W3Schools Excel tutorial (fast, hands-on) โ https://www.w3schools.com/excel/
- Search on YouTube: "Excel pivot table tutorial", "TRIM SUBSTITUTE Excel", "remove duplicates Excel", "XLOOKUP tutorial" โ any top freeCodeCamp / Leila Gharani result covers what you need.
Python route (optional)
- Kaggle Learn โ Pandas (free micro-course, ~4 hrs) โ https://www.kaggle.com/learn/pandas
- freeCodeCamp YouTube channel โ https://www.youtube.com/@freecodecamp
Structured deep-dive (optional, not required to pass)
- Google Data Analytics Professional Certificate (audit for free) โ https://www.coursera.org/professional-certificates/google-data-analytics
From OneRoadmap (replace with live links at launch)
- ๐ Data Analyst Fresher Guide (PDF) โ
(#) - ๐ Data Analyst "Big 4 Ready" Certification โ the natural next step after clearing this simulation โ
(#) - ๐ Excel Interview Questions Pack โ
(#)
๐๏ธ 30-minute warm-up drill (recommended)
- Make a 20-row fake sales table with deliberate mess: 2 duplicate rows, 3 date formats,
"โน1,200"as text, two blank cells," delhi ", and one product name with intentional casing (e.g.Power Bank 20000mAhtyped aspower bank 20000mah). - Clean it using only the checklist above โ no googling during the drill. Fix the product name back to its exact official spelling without title-casing the whole column.
- Build one pivot: revenue by category. Compute one % change and one % share.
Under 30 minutes and correct? Start the simulation. Over 30 minutes? Spend an evening with the resources first โ the leaderboard clock counts everything, including panic-googling XLOOKUP.
โ๏ธ Practical setup
- Works with: Excel (2016+), Google Sheets (free), LibreOffice Calc, or Python. We grade the output, never the tool.
- The dataset is a ~5,000-row CSV (~500 KB) โ any laptop handles it. On mobile? Google Sheets works, but a laptop is strongly recommended.
- Plan your sitting before you press Start: download โ clean โ self-check โ submit in one go beats coming back cold. The clock pauses during review, so the gap between tickets costs you nothing.