Am I ready to apply for data analyst jobs? A task-based test
In this article (8 sections)
Related programme: the Data Analytics with Generative AI course (3–4 months; ₹90,000 (inclusive of GST) · EMI from ₹4,000/month).
You're ready to apply for data analyst roles when you can do the everyday tasks of the job under a time limit, without a tutorial open: write a grouped query and a query with a window function, clean a messy sheet, build a readable chart, and explain what it means in two minutes. How many courses you've finished or certificates you hold doesn't decide it. Take the six-task test below on a quiet evening. Your score tells you whether to start applying this week or spend four more weeks on specific gaps.
Rules for taking the test honestly
Set a timer for each task. Keep official documentation open if you like, since analysts look up syntax all the time, but don't use tutorials, saved solutions or an AI assistant that writes the answer for you. Write down where you got stuck, not only whether you finished. Being stuck on syntax is a small gap. Not knowing how to approach the problem is a big one.
Tasks A and B: two SQL queries, 20 minutes
The synthetic table below is small on purpose, so you can check your answers by hand. Run it in Python with the built-in sqlite3 module, or paste the SQL into any SQLite tool.
import sqlite3
con = sqlite3.connect(":memory:")
con.executescript("""
CREATE TABLE orders (order_id INTEGER, customer_id INTEGER, city TEXT,
order_date TEXT, amount REAL, status TEXT);
INSERT INTO orders VALUES
(1, 101, 'Noida', '2026-07-02', 1200, 'delivered'),
(2, 102, 'Delhi', '2026-07-03', 800, 'returned'),
(3, 101, 'Noida', '2026-07-15', 1500, 'delivered'),
(4, 103, 'Gurugram', '2026-08-01', 950, 'delivered'),
(5, 104, 'Delhi', '2026-08-04', 2200, 'delivered'),
(6, 102, 'Delhi', '2026-08-19', 600, 'cancelled'),
(7, 105, 'Noida', '2026-08-21', 700, 'delivered');
""")
# Task A: delivered revenue by month and city, largest city first in each month
task_a = con.execute("""
SELECT substr(order_date, 1, 7) AS month, city, SUM(amount) AS revenue
FROM orders
WHERE status = 'delivered'
GROUP BY month, city
ORDER BY month, revenue DESC;
""").fetchall()
print(task_a)
assert task_a[0] == ('2026-07', 'Noida', 2700.0)
# Task B: for customers with at least two delivered orders,
# days between the first and second delivered order
task_b = con.execute("""
WITH d AS (
SELECT customer_id, order_date,
ROW_NUMBER() OVER (PARTITION BY customer_id ORDER BY order_date) AS n
FROM orders WHERE status = 'delivered'
)
SELECT a.customer_id,
CAST(julianday(b.order_date) - julianday(a.order_date) AS INTEGER) AS gap_days
FROM d a JOIN d b ON a.customer_id = b.customer_id AND a.n = 1 AND b.n = 2;
""").fetchall()
print(task_b)
assert task_b == [(101, 13)]Cover the answers and write both queries yourself first. Task A checks filtering and grouping. Task B checks whether you know window functions well enough to use them on a problem you haven't seen before. Also note whether you checked the status filter. Leaving returned and cancelled orders in the revenue is the mistake interviewers look for.
Task C: clean a sheet, 20 minutes
Make a 40-row sheet with the problems real exports have: dates stored as text in two formats, "Noida", "noida " and "NOIDA" as separate values, a few blank amounts, and one duplicated order. Clean it in Excel or Google Sheets using formulas or Power Query, not by hand-editing cells. You pass if another person could repeat your steps from your notes.
Task D: one chart that answers one question, 15 minutes
Using the cleaned sheet, answer "Which city grew most from July to August?" with one chart. You pass if the title states the answer, the axis starts at a sensible point, and there's no decoration that doesn't carry information.
Task E: explain it aloud, 2 minutes
Record yourself on your phone explaining the chart to a manager who has thirty seconds of attention. Say what happened, how much, what you would check next, and one caveat, such as the small number of orders. Play it back. Did you say the answer in the first two sentences?
Task F: check an AI-written query, 10 minutes
Ask any AI assistant to write the Task A query, then check it against the data without trusting its explanation. Did it filter by status? Does its total match yours? Analyst work increasingly includes reviewing generated SQL, and catching a wrong filter is part of the job.
Score and decide
Give each task 2 (done within the time, no help), 1 (done, but slowly or after one look at a reference) or 0 (not done).
| Total out of 12 | What it means | What to do next |
|---|---|---|
| 10–12 | Tasks are not your bottleneck | Apply now; spend spare hours on project write-ups and mock interviews |
| 7–9 | Ready for some roles, gaps for others | Apply to roles that match your strong tasks; fix the weakest task over two weeks, then retest |
| 4–6 | Specific gaps you can fix | Four weeks of targeted practice on the zero-scored tasks, then retest before applying widely |
| 0–3 | Foundations still forming | Keep learning; applying now mostly produces discouraging rejections |
Retest with fresh data each time, because repeating the same tasks tests memory, not skill.
Gaps a score does not show
The test doesn't check domain knowledge, like what a return rate means to a retailer, and it doesn't check how you handle a vague request. Your projects should cover both. If your write-ups can't answer "who would use this and what would they decide?", fix that before you send applications.
For a free starting read on your resume against analyst roles, try the skill check. If you would rather practise tasks like these with a mentor checking your work, see the Data Analyst programme. If you're unsure analytics is the right target, data analytics vs data science compares the day-to-day work.
Frequently asked questions
How many projects do I need before applying for data analyst jobs?
Two finished projects you can explain in detail are more useful than five you half remember. Before counting projects, check whether you can do the tasks an interviewer will actually set you, such as writing a query without help or explaining a chart's conclusion in plain language.
Should I wait until I finish my course to apply?
Not necessarily. Once you pass most of the tasks in a self-test like this one, applying in parallel with the last weeks of a course is reasonable. Applications take time to turn into interviews, and early rejections tell you which gaps are real.
Pankit Kumar has 10 years in Data Science & AI, building and shipping production systems in regulated pharma and clinical environments. He is a freelance trainer at Boston Institute of Analytics, AnalytixLabs and Scaler, and has taught this material to thousands of working professionals.
This article is part of our Data Analytics with Generative AI programme — 3–4 months. The full analyst stack — Excel, SQL, Power BI and Python pipelines — then a generative-AI layer you can prove is right.
Explore Data Analytics with Generative AI