Data Analysis
Lesson 1 / 10
Filbek
What data analysis is
From question to conclusion: 5 steps, an analyst's tools, good and bad questions
Chapter 1. Analysis basics
15 minutes
Python
3 questions
A data analyst turns numbers into decisions: "which branch sells best?", "why did sales drop in September?", "did the advertising pay off?".
5 steps
1. Question → 2. Data → 3. Cleaning → 4. Analysis → 5. Conclusion and recommendation
| Step | What happens | The course on this site |
|---|---|---|
| Question | a precise, answerable question | — |
| Data | getting it from a database, a file, a spreadsheet | SQL, Excel |
| Cleaning | blank, wrong and duplicate values | Excel ch. 2, this course lesson 2 |
| Analysis | grouping, comparing, trends | this course, SQL ch. 3–4 |
| Conclusion | short, with numbers, with a recommendation | this course lesson 5 |
A good question
| ❌ Vague | ✅ Precise |
|---|---|
| "How are sales?" | "Which branch's revenue grew most in Q3?" |
| "Do customers like us?" | "How did the share of repeat buyers change month by month?" |
Tools
| Tool | When |
|---|---|
| Excel / Google Sheets | small data, a quick report |
| SQL | data in a database — the most used skill |
| Python | repeatable analysis, big data, automation |
| BI tools (Power BI, Looker Studio) | interactive dashboards |
In this course we start with Python's standard library — later you'll see how much pandas shortens the same work.
import statistics as st
monthly_sales = {"July": 710_000, "August": 850_000, "September": 680_000}
values = list(monthly_sales.values())
best = max(monthly_sales, key=monthly_sales.get)
print("Best month:", best)
print("Median:", st.median(values))
# Output: Best month: August
# Output: Median: 710000
Practice Python
From a dict of weekly visits, find the days with the most and the fewest visits:
eng ko'p: shanba (540)
eng kam: dushanba (180)
input() data
Write code and press "Run". Loading Python takes a few seconds the first time.
Show solution
tashriflar = {"dushanba": 180, "seshanba": 230, "chorshanba": 260, "payshanba": 240,
"juma": 410, "shanba": 540, "yakshanba": 470}
kop = max(tashriflar, key=tashriflar.get)
kam = min(tashriflar, key=tashriflar.get)
print(f"eng ko'p: {kop} ({tashriflar[kop]})")
print(f"eng kam: {kam} ({tashriflar[kam]})")