āļāļģāļāļēāļĄāļŠāļąāļĄāļ āļēāļĐāļāđ Data Analyst āļāļīāļāļēāļĨāļĩ 2026: SQL, Python āđāļĨāļ° Analytics
30 āļāļģāļāļēāļĄāļŠāļąāļĄāļ āļēāļĐāļāđ data analyst āļŠāļģāļŦāļĢāļąāļāļāļīāļāļēāļĨāļĩ 2026 Query SQL, Python pandas āđāļĨāļ° business analytics āļāļĢāđāļāļĄāļāļģāļāļāļāļāļĩāđāļāļēāļāļŦāļ§āļąāļ

āļāļģāļāļēāļĄāļŠāļąāļĄāļ āļēāļĐāļāđ data analyst āđāļāļāļīāļāļēāļĨāļĩāļŠāļģāļŦāļĢāļąāļāļāļĩ 2026 āđāļāđāļāļŦāļāļąāļāđāļāļāļĩāđāļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļāļāđāļēāļ SQL āļāļēāļĢāļāļąāļāļāļēāļĢāļāđāļāļĄāļđāļĨāļāđāļ§āļĒ Python āđāļĨāļ°āļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļāđāļāļāļēāļĢāđāļāļĨāļāļāļąāļāļŦāļēāļāļēāļāļāļļāļĢāļāļīāļāđāļāđāļāđāļāļĨāļđāļāļąāļāđāļāļīāļāļ§āļīāđāļāļĢāļēāļ°āļŦāđ āļāđāļ§āļĒāļāļģāđāļŦāļāđāļāļāļēāļāđāļāļīāļāļĢāļąāļāļĄāļēāļāļāļ§āđāļē 600 āļāļģāđāļŦāļāđāļāđāļāļĄāļīāļĨāļēāļ āđāļĢāļĄ āđāļĨāļ°āđāļāđāļĨāļāļāļē āļāļĢāļīāļĐāļąāļāļāļĒāđāļēāļ Prometeia, Bending Spoons āđāļĨāļ° ABB āļāļēāļāļŦāļ§āļąāļāđāļŦāđāļāļđāđāļŠāļĄāļąāļāļĢāđāļŠāļāļāļāļąāđāļāļāļ§āļēāļĄāļĨāļķāļāļāļķāđāļāļāļēāļāđāļāļāļāļīāļāđāļĨāļ°āļāļ§āļēāļĄāđāļāļĩāļĒāļāđāļŦāļĨāļĄāļāļēāļāļāļļāļĢāļāļīāļ
āļāļēāļĒāļāđāļēāļāļāļēāļ§āļāļīāļāļēāļĨāļĩāđāļŦāđāļāļ§āļēāļĄāļŠāļģāļāļąāļāļāļąāļāļāļąāļāļĐāļ° SQL āđāļĨāļ° Power BI āļāļ§āļēāļĄāļāļģāļāļēāļ Python āļāļąāļ pandas āļāļģāđāļŦāđāļāļđāđāļŠāļĄāļąāļāļĢāđāļāļāđāļāđāļ āđāļāļĒāđāļāļāļēāļ°āļāļĩāđāļāļĢāļīāļĐāļąāļāđāļāļāđāļāđāļĨāļĒāļĩāđāļāļĄāļīāļĨāļēāļ āđāļāļīāļāđāļāļ·āļāļāļĢāļ°āļāļąāļ entry-level āļāļĒāļđāđāļĢāļ°āļŦāļ§āđāļēāļ âŽ28,000 āļāļķāļ âŽ39,000 āļŠāđāļ§āļāļāļģāđāļŦāļāđāļ senior āļŠāļēāļĄāļēāļĢāļāļāļķāļ âŽ80,000+
āļāļģāļāļēāļĄ SQL āļāļĩāđāļāļĢāļēāļāļāđāļāļāļļāļāļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļāđ Data Analyst
SQL āļĒāļąāļāļāļāđāļāđāļāļāļ·āđāļāļāļēāļāļāļāļāļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļāđ data analyst āđāļāļāļīāļāļēāļĨāļĩ āļāļđāđāļāļąāļāļāļēāļĢāļāđāļēāļĒāļŠāļĢāļĢāļŦāļēāļāļĩāđāļāļĢāļīāļĐāļąāļāļāļĒāđāļēāļ Italgas āđāļĨāļ° Philip Morris āļāļāļŠāļāļāļāļđāđāļŠāļĄāļąāļāļĢāđāļāļĩāđāļĒāļ§āļāļąāļ JOIN, aggregation āđāļĨāļ° window function āļāļģāļāļēāļĄāđāļŦāļĨāđāļēāļāļĩāđāļāļĢāļ°āđāļĄāļīāļāļ§āđāļēāļāļđāđāļŠāļĄāļąāļāļĢāļŠāļēāļĄāļēāļĢāļāļāļķāļ insight āļāļĩāđāļĄāļĩāļāļ§āļēāļĄāļŦāļĄāļēāļĒāļāļēāļāļāļēāļāļāđāļāļĄāļđāļĨāđāļāļīāļāļŠāļąāļĄāļāļąāļāļāđāđāļāđāļŦāļĢāļ·āļāđāļĄāđ
āļāļģāļāļēāļĄ 1: āļāļāļīāļāļēāļĒāļāļ§āļēāļĄāđāļāļāļāđāļēāļāļĢāļ°āļŦāļ§āđāļēāļ INNER JOIN āđāļĨāļ° LEFT JOIN āļāļĢāđāļāļĄāļāļąāļ§āļāļĒāđāļēāļāļāļĩāđāđāļāđāļāļēāļāļāļĢāļīāļ
āļāļģāļāļāļāļāļĩāđāļāļēāļāļŦāļ§āļąāļ: INNER JOIN āļāļ·āļāļāđāļēāđāļāļāļēāļ°āđāļāļ§āļāļĩāđāļĄāļĩāļāļēāļĢāļāļąāļāļāļđāđāđāļāļāļąāđāļāļŠāļāļāļāļēāļĢāļēāļ LEFT JOIN āļāļ·āļāļāđāļēāđāļāļ§āļāļąāđāļāļŦāļĄāļāļāļēāļāļāļēāļĢāļēāļāļāđāļēāļāļāđāļēāļĒāļāļ§āļāļāļąāļāđāļāļ§āļāļĩāđāļāļąāļāļāļđāđāļāļēāļāļāļēāļĢāļēāļāļāđāļēāļāļāļ§āļē āđāļāļĒāļĄāļĩāļāđāļē NULL āđāļāļāļģāđāļŦāļāđāļāļāļĩāđāđāļĄāđāļĄāļĩāļāļēāļĢāļāļąāļāļāļđāđ
-- orders_analysis.sql
-- Find all customers and their orders (including customers with no orders)
SELECT
c.customer_id,
c.customer_name,
o.order_id,
o.order_total
FROM customers c
LEFT JOIN orders o ON c.customer_id = o.customer_id;
-- Result: Customers without orders appear with NULL order_id and order_total
-- INNER JOIN would exclude those customers entirelyāļāļđāđāļŠāļąāļĄāļ āļēāļĐāļāđāļĄāļāļāļŦāļēāļāļđāđāļŠāļĄāļąāļāļĢāļāļĩāđāđāļāđāļēāđāļāļ§āđāļēāļāđāļē NULL āļāļĢāļēāļāļāđāļĄāļ·āđāļāđāļ āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļāļāļāļīāļāļēāļĒāļāļĢāļīāļāļāļāļēāļāļāļļāļĢāļāļīāļāļŠāļģāļŦāļĢāļąāļāļāļēāļĢāđāļĨāļ·āļāļāļāļĢāļ°āđāļ āļ join āļŦāļāļķāđāļāđāļŦāļāļ·āļāļāļĩāļāļāļĢāļ°āđāļ āļāļŦāļāļķāđāļ
āļāļģāļāļēāļĄ 2: āđāļāļĩāļĒāļ query āđāļāļ·āđāļāļŦāļēāđāļāļīāļāđāļāļ·āļāļāļŠāļđāļāļŠāļļāļāļāļąāļāļāļąāļāļŠāļāļāđāļāļāļēāļĢāļēāļ
āļāļģāļāļēāļĄāļāļĩāđāļāļāļŠāļāļāļāļ§āļēāļĄāļĢāļđāđāđāļāļĩāđāļĒāļ§āļāļąāļ subquery, DISTINCT āđāļĨāļ°āļāļēāļĢāļāļģāļāļąāļāļāļĨāļĨāļąāļāļāđ āļĄāļĩāļŦāļĨāļēāļĒāļ§āļīāļāļĩāļāļĩāđāļāļđāļāļāđāļāļ
-- salary_analysis.sql
-- Approach 1: Using subquery with MAX
SELECT MAX(salary) AS second_highest
FROM employees
WHERE salary < (SELECT MAX(salary) FROM employees);
-- Approach 2: Using DENSE_RANK window function
SELECT salary AS second_highest
FROM (
SELECT salary, DENSE_RANK() OVER (ORDER BY salary DESC) AS rank
FROM employees
) ranked
WHERE rank = 2;āļ§āļīāļāļĩ window function āļāļąāļāļāļēāļĢāļāļąāļāļāļēāļĢāđāļŠāļĄāļāļāļąāļāđāļāđāļāļĒāđāļēāļāļāļđāļāļāđāļāļ āļŦāļēāļāļāļāļąāļāļāļēāļāļŠāļēāļĄāļāļāđāļāļĢāđāđāļāļīāļāđāļāļ·āļāļāļŠāļđāļāļŠāļļāļ DENSE_RANK āļĒāļąāļāļāļāļāļ·āļāļāđāļēāđāļāļīāļāđāļāļ·āļāļāļŠāļđāļāļŠāļļāļāļāļąāļāļāļąāļāļŠāļāļāļāļĩāđāđāļāđāļāļĢāļīāļ āļāļēāļĢāđāļāđ ROW_NUMBER āļāļ°āļāļ·āļāļāđāļēāļāļĨāļĨāļąāļāļāđāļāļĩāđāđāļāļāļāđāļēāļāļāļąāļ āļāļķāđāļāđāļŠāļāļāļāļ§āļēāļĄāđāļāđāļēāđāļāđāļāļĩāđāļĒāļ§āļāļąāļ SQL window functions
āļāļģāļāļēāļĄ 3: āļ§āļīāļāļĩāļāļēāļĢāļĢāļ°āļāļļāđāļĨāļ°āļāļąāļāļāļēāļĢāļāļąāļāļĢāļ°āđāļāļĩāļĒāļāļāļĩāđāļāđāļģāļāļąāļ?
āļāļģāļāļāļāļāļĩāđāļāļēāļāļŦāļ§āļąāļ: āđāļāđ GROUP BY āļāļąāļ HAVING COUNT(*) > 1 āđāļāļ·āđāļāļĢāļ°āļāļļāļāļ§āļēāļĄāļāđāļģāļāđāļāļ āļ§āļīāļāļĩāļāļēāļĢāļāļķāđāļāļāļĒāļđāđāļāļąāļāļāļāļāļēāļāļāļļāļĢāļāļīāļ: āđāļāđāļāļĢāļ°āđāļāļĩāļĒāļāđāļĢāļ āļĢāļ°āđāļāļĩāļĒāļāļĨāđāļēāļŠāļļāļ āļŦāļĢāļ·āļāļĢāļ§āļĄāļāđāļāļĄāļđāļĨ
-- duplicate_detection.sql
-- Find duplicate email addresses
SELECT email, COUNT(*) AS occurrence_count
FROM users
GROUP BY email
HAVING COUNT(*) > 1;
-- Keep only the earliest record for each email
DELETE FROM users
WHERE id NOT IN (
SELECT MIN(id)
FROM users
GROUP BY email
);āļāļģāļāļēāļĄ 4: āļāļāļīāļāļēāļĒ CTE āđāļĨāļ°āđāļĄāļ·āđāļāđāļāļāļ§āļĢāđāļāđāđāļāļ subquery
Common Table Expressions āļāļĢāļąāļāļāļĢāļļāļāļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļāđāļāļāļēāļĢāļāđāļēāļ query āđāļĨāļ°āļāļāļļāļāļēāļāđāļŦāđāļĄāļĩ query āđāļāļ recursive āļāļđāđāļŠāļąāļĄāļ āļēāļĐāļāđāļāļēāļ§āļāļīāļāļēāļĨāļĩāļĄāļąāļāļāļāđāļŦāđāļāļđāđāļŠāļĄāļąāļāļĢ refactor subquery āļāļĩāđāļāļąāļāļāđāļāļāđāļāđāļ CTE
-- revenue_analysis.sql
-- CTE for monthly revenue calculation
WITH monthly_revenue AS (
SELECT
DATE_TRUNC('month', order_date) AS month,
SUM(order_total) AS revenue
FROM orders
WHERE order_date >= '2025-01-01'
GROUP BY DATE_TRUNC('month', order_date)
),
revenue_growth AS (
SELECT
month,
revenue,
LAG(revenue) OVER (ORDER BY month) AS prev_month_revenue,
revenue - LAG(revenue) OVER (ORDER BY month) AS growth
FROM monthly_revenue
)
SELECT * FROM revenue_growth WHERE growth > 0;CTE āļŠāļēāļĄāļēāļĢāļāļāļģāļāļĨāļąāļāļĄāļēāđāļāđāļāđāļģāđāļāđāļ āļēāļĒāđāļ query āđāļāļĩāļĒāļ§āļāļąāļ āļāđāļēāļāļāļēāļ subquery āļāļĩāđāļāđāļāļāļāļģāļāđāļģ āļāļĩāđāđāļāđāļāļŠāļīāđāļāļŠāļģāļāļąāļāļŠāļģāļŦāļĢāļąāļ query āđāļāļīāļāļ§āļīāđāļāļĢāļēāļ°āļŦāđāļāļĩāđāļāļąāļāļāđāļāļāļāļķāđāļāļāļāđāļāđāļāļąāđāļ§āđāļāđāļāļāļāļāļēāļ data analyst
āļāļģāļāļēāļĄ 5: āļāļ§āļēāļĄāđāļāļāļāđāļēāļāļĢāļ°āļŦāļ§āđāļēāļ WHERE āđāļĨāļ° HAVING āļāļ·āļāļāļ°āđāļĢ?
āļāļģāļāļāļāļāļĩāđāļāļēāļāļŦāļ§āļąāļ: WHERE āļāļĢāļāļāđāļāļ§āļāđāļāļ aggregation; HAVING āļāļĢāļāļāļāļĨāļļāđāļĄāļŦāļĨāļąāļ aggregation WHERE āđāļĄāđāļŠāļēāļĄāļēāļĢāļāļāđāļēāļāļāļīāļāļāļąāļāļāđāļāļąāļ aggregate āđāļāđ; HAVING āļŠāļēāļĄāļēāļĢāļāļāļģāđāļāđ
-- sales_filter.sql
-- WHERE filters individual rows
SELECT region, SUM(sales) AS total_sales
FROM transactions
WHERE transaction_date >= '2026-01-01' -- Filter rows first
GROUP BY region
HAVING SUM(sales) > 100000; -- Then filter aggregated groupsāļāļĢāđāļāļĄāļāļĩāđāļāļ°āļāļīāļāļīāļāļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļāđ Data Analytics āđāļĨāđāļ§āļŦāļĢāļ·āļāļĒāļąāļāļāļĢāļąāļ?
āļāļķāļāļāļāļāđāļ§āļĒāļāļąāļ§āļāļģāļĨāļāļāđāļāļāđāļāđāļāļāļ, flashcards āđāļĨāļ°āđāļāļāļāļāļŠāļāļāđāļāļāļāļīāļāļāļĢāļąāļ
āļāļģāļāļēāļĄ Python āđāļĨāļ° Pandas āļŠāļģāļŦāļĢāļąāļāļāļāļāļēāļ Data Analyst
āļāļĢāļīāļĐāļąāļāđāļāļāđāļāđāļĨāļĒāļĩāđāļāļĄāļīāļĨāļēāļ āđāļāļĒāđāļāļāļēāļ° Bending Spoons āđāļĨāļ° Amazon Italy āļāļēāļāļŦāļ§āļąāļāļāļ§āļēāļĄāļāļģāļāļēāļ Python āļāļģāļāļēāļĄāđāļŦāļĨāđāļēāļāļĩāđāļāļĢāļ°āđāļĄāļīāļāļāļąāļāļĐāļ°āļāļēāļĢāļāļąāļāļāļēāļĢāļāđāļāļĄāļđāļĨāļāđāļ§āļĒ pandas āđāļĨāļ° visualization āļāļ·āđāļāļāļēāļ
āļāļģāļāļēāļĄ 6: āļ§āļīāļāļĩāļāļąāļāļāļēāļĢāļāđāļēāļāļĩāđāļŦāļēāļĒāđāļāđāļ DataFrame pandas?
āļāļģāļāļāļāļāļĩāđāļāļēāļāļŦāļ§āļąāļ: āļ§āļīāļāļĩāļāļēāļĢāļāļķāđāļāļāļĒāļđāđāļāļąāļāļāļĢāļ°āđāļ āļāļāđāļāļĄāļđāļĨāđāļĨāļ°āļāļĢāļīāļāļāļāļēāļāļāļļāļĢāļāļīāļ āļāļąāļ§āđāļĨāļ·āļāļāļĢāļ§āļĄāļāļķāļāļāļēāļĢāļĨāļāđāļāļ§ āļāļēāļĢāđāļāļīāļĄāļāđāļ§āļĒ mean/median/mode āļāļēāļĢ forward-filling āļŠāļģāļŦāļĢāļąāļ time series āļŦāļĢāļ·āļāļāļēāļĢāđāļāđ interpolation
# missing_values.py
import pandas as pd
import numpy as np
df = pd.DataFrame({
'date': pd.date_range('2026-01-01', periods=5),
'sales': [100, np.nan, 150, np.nan, 200],
'category': ['A', 'B', np.nan, 'A', 'B']
})
# Check missing values per column
print(df.isnull().sum())
# Fill numeric with median (robust to outliers)
df['sales'] = df['sales'].fillna(df['sales'].median())
# Fill categorical with mode
df['category'] = df['category'].fillna(df['category'].mode()[0])
# For time series: forward fill
df['sales_ffill'] = df['sales'].ffill()āļāļđāđāļŠāļąāļĄāļ āļēāļĐāļāđāļāļĢāļ°āđāļĄāļīāļāļ§āđāļēāļāļđāđāļŠāļĄāļąāļāļĢāđāļāđāļēāđāļāļŦāļĢāļ·āļāđāļĄāđāļ§āđāļēāļāļēāļĢāļĨāļāđāļāļ§āđāļāļāļŠāļļāđāļĄāļŠāļĩāđāļŠāļļāđāļĄāļŦāđāļēāļāļ°āļŠāļđāļāđāļŠāļĩāļĒāļāđāļāļĄāļđāļĨ āđāļĨāļ°āļāļĨāļĒāļļāļāļāđāļāļēāļĢāđāļāļīāļĄāļāđāļāļāļŠāļāļāļāļĨāđāļāļāļāļąāļāđāļāđāļēāļŦāļĄāļēāļĒāđāļāļīāļāļ§āļīāđāļāļĢāļēāļ°āļŦāđ
āļāļģāļāļēāļĄ 7: āļāļāļīāļāļēāļĒāļāļ§āļēāļĄāđāļāļāļāđāļēāļāļĢāļ°āļŦāļ§āđāļēāļ merge, join āđāļĨāļ° concat āđāļ pandas
āļāļģāļāļāļāļāļĩāđāļāļēāļāļŦāļ§āļąāļ: merge() āļĢāļ§āļĄ DataFrame āļāļāļāļāļĨāļąāļĄāļāđāļŦāļĢāļ·āļ index (āđāļāļ SQL join) join() āđāļāđāļāļ§āļīāļāļĩāļāļĩāđāļŠāļ°āļāļ§āļāļŠāļģāļŦāļĢāļąāļ join āđāļāļ index-based concat() āļāđāļāļ DataFrame āđāļāđāļāļ§āļāļąāđāļāļŦāļĢāļ·āļāđāļāļ§āļāļāļāđāļāļĒāđāļĄāđāļāđāļāļ matching
# dataframe_combining.py
import pandas as pd
orders = pd.DataFrame({'order_id': [1, 2], 'customer_id': [101, 102]})
customers = pd.DataFrame({'customer_id': [101, 103], 'name': ['Alice', 'Bob']})
# merge: SQL-style join on column
merged = pd.merge(orders, customers, on='customer_id', how='left')
# concat: stack DataFrames
df1 = pd.DataFrame({'A': [1, 2]})
df2 = pd.DataFrame({'A': [3, 4]})
stacked = pd.concat([df1, df2], ignore_index=True)āļāļģāļāļēāļĄ 8: āļ§āļīāļāļĩāļāļēāļĢāļāļģ group-by operation āļāļąāļ multiple aggregation?
# groupby_aggregation.py
import pandas as pd
df = pd.DataFrame({
'region': ['North', 'North', 'South', 'South'],
'product': ['A', 'B', 'A', 'B'],
'sales': [100, 150, 200, 50],
'quantity': [10, 15, 20, 5]
})
# Multiple aggregations with named columns
result = df.groupby('region').agg(
total_sales=('sales', 'sum'),
avg_sales=('sales', 'mean'),
total_quantity=('quantity', 'sum'),
transaction_count=('sales', 'count')
).reset_index()syntax āļāļĩāđ (named aggregation) āļāļĨāļēāļĒāđāļāđāļāļĄāļēāļāļĢāļāļēāļāđāļ pandas 1.0+ āđāļĨāļ°āļĒāļąāļāļāļāđāļāđāļāļĒāļđāđāđāļ pandas 3.0 āļāļđāđāļŠāļąāļĄāļ āļēāļĐāļāđāļāļēāļāļŦāļ§āļąāļāđāļŦāđāļāļđāđāļŠāļĄāļąāļāļĢāđāļāđāđāļāļāļ§āļīāļāļĩāļāļēāļĢāđāļāļ dict āļāļĩāđāđāļāđāļēāļāļ§āđāļē
āļāļģāļāļēāļĄ 9: āđāļāļĩāļĒāļāđāļāđāļāđāļāļ·āđāļāļāļģāļāļ§āļāļāļąāļāļĢāļēāļāļēāļĢāđāļāļīāļāđāļ month-over-month
# mom_growth.py
import pandas as pd
df = pd.DataFrame({
'month': pd.date_range('2026-01-01', periods=6, freq='MS'),
'revenue': [10000, 12000, 11500, 14000, 15500, 16000]
})
# Calculate percentage change
df['mom_growth'] = df['revenue'].pct_change() * 100
# Alternative: manual calculation for clarity
df['prev_revenue'] = df['revenue'].shift(1)
df['growth_manual'] = ((df['revenue'] - df['prev_revenue']) / df['prev_revenue']) * 100āļāļģāļāļēāļĄ 10: āļ§āļīāļāļĩāļāļēāļĢ pivot āļāđāļāļĄāļđāļĨāđāļ pandas?
# pivot_example.py
import pandas as pd
df = pd.DataFrame({
'date': ['2026-01', '2026-01', '2026-02', '2026-02'],
'region': ['North', 'South', 'North', 'South'],
'sales': [100, 150, 120, 180]
})
# Pivot: rows=date, columns=region, values=sales
pivot_table = df.pivot(index='date', columns='region', values='sales')
# pivot_table for aggregation when duplicates exist
agg_pivot = pd.pivot_table(df, values='sales', index='date',
columns='region', aggfunc='sum')āļāļģāļāļēāļĄ Business Analytics āđāļĨāļ°āļāļēāļĢāđāļāđāļāļąāļāļŦāļē
āļāļĢāļīāļĐāļąāļāļāļīāļāļēāļĨāļĩ āđāļāļĒāđāļāļāļēāļ°āđāļāļāđāļēāļāļāļēāļĢāđāļāļīāļ (Prometeia) āđāļĨāļ°āļāļēāļĢāļāļĨāļīāļ (ABB) āļāļāļŠāļāļāļāļēāļĢāļāļīāļāđāļāļīāļāļ§āļīāđāļāļĢāļēāļ°āļŦāđāļāļāļāđāļŦāļāļ·āļāļāļēāļāļāļēāļĢāđāļāļĩāļĒāļāđāļāđāļāļĨāđāļ§āļāđ āļāļģāļāļēāļĄāđāļŦāļĨāđāļēāļāļĩāđāļāļĢāļ°āđāļĄāļīāļāļ§āđāļēāļāļđāđāļŠāļĄāļąāļāļĢāļāļģāļŦāļāļāļāļąāļāļŦāļēāđāļĨāļ°āļŠāļ·āđāļāļŠāļēāļĢāļāļĨāļāļēāļĢāļāđāļāļāļāļāļĒāđāļēāļāđāļĢ
āļāļģāļāļēāļĄ 11: āļ§āļīāļāļĩāļ§āļąāļāļāļ§āļēāļĄāļŠāļģāđāļĢāđāļāļāļāļāđāļāļĄāđāļāļāļāļēāļĢāļāļĨāļēāļ?
āļāļģāļāļāļāļāļĩāđāļāļēāļāļŦāļ§āļąāļ: āļāļģāļŦāļāļ KPI āļāđāļāļāļāļĩāđāđāļāļĄāđāļāļāļāļ°āđāļĢāļīāđāļĄ āđāļĄāļāļĢāļīāļāļāļąāđāļ§āđāļāđāļāđāđāļāđ conversion rate, cost per acquisition (CPA), return on ad spend (ROAS) āđāļĨāļ° customer lifetime value (CLV) āđāļāļĢāļĩāļĒāļāđāļāļĩāļĒāļāļāļąāļ control group āļŦāļĢāļ·āļ baseline āļāļĢāļ°āļ§āļąāļāļīāļĻāļēāļŠāļāļĢāđ
āļāļģāļāļāļāļāļĩāđāđāļāđāļāđāļāļĢāđāļāļĢāļ§āļĄāļāļķāļ:
- āđāļĄāļāļĢāļīāļ baseline āļāđāļāļāđāļāļīāļāļāļąāļ§āđāļāļĄāđāļāļ
- āļāļēāļĢāđāļĨāļ·āļāļ attribution model (first-touch, last-touch, multi-touch)
- āļāļēāļĢāļāļāļŠāļāļāļāļąāļĒāļŠāļģāļāļąāļāļāļēāļāļŠāļāļīāļāļīāļŠāļģāļŦāļĢāļąāļāļāļĨāļĨāļąāļāļāđ
- āļāļēāļĢāđāļāđāļāļāļĨāļļāđāļĄāļāļēāļĄāļāđāļāļāļāļēāļ āļāļĨāļļāđāļĄāđāļāđāļēāļŦāļĄāļēāļĒ āļŦāļĢāļ·āļāļ āļđāļĄāļīāļĻāļēāļŠāļāļĢāđ
āļāļģāļāļēāļĄ 12: product manager āļĢāļēāļĒāļāļēāļāļ§āđāļēāļĢāļēāļĒāđāļāđāļĨāļāļĨāļ 15% āđāļāļ·āļāļāļāļĩāđ āļ§āļīāļāļĩāļŠāļ·āļāļŠāļ§āļ?
āļāļģāļāļāļāļāļĩāđāļāļēāļāļŦāļ§āļąāļ: āđāļĒāļāļĒāđāļāļĒāļāļąāļāļŦāļēāļāļĒāđāļēāļāđāļāđāļāļĢāļ°āļāļ:
- āļāļĢāļ§āļāļŠāļāļāļāđāļāļĄāļđāļĨ: āļāļĢāļ§āļāļŠāļāļāļāļąāļāļŦāļēāļāļļāļāļ āļēāļāļāđāļāļĄāļđāļĨ āļĢāļ°āđāļāļĩāļĒāļāļāļĩāđāļŦāļēāļĒāđāļ āļŦāļĢāļ·āļāļāļ§āļēāļĄāļĨāđāļēāļāđāļēāđāļāļāļēāļĢāļĢāļēāļĒāļāļēāļ
- āļāļēāļĢāļ§āļīāđāļāļĢāļēāļ°āļŦāđāđāļāđāļāļāļĨāļļāđāļĄ: āđāļĒāļāļāļēāļĄāļāļĨāļīāļāļ āļąāļāļāđ āļ āļđāļĄāļīāļ āļēāļ āļāļĨāļļāđāļĄāļĨāļđāļāļāđāļē āļāđāļāļāļāļēāļ
- āđāļĒāļāļāļąāļ§āđāļāļĢ: āļāļģāļŦāļāļāļ§āđāļēāļāļĢāļīāļĄāļēāļāļĨāļāļĨāļ āļĢāļēāļāļēāđāļāļĨāļĩāđāļĒāļ āļŦāļĢāļ·āļ mix āđāļāļĨāļĩāđāļĒāļāđāļāļĨāļ
- āļāļąāļāļāļąāļĒāļ āļēāļĒāļāļāļ: āļāļĢāļ§āļāļŠāļāļāļĪāļāļđāļāļēāļĨ āļāļēāļĢāļāļģāđāļāļīāļāļāļēāļĢāļāļāļāļāļđāđāđāļāđāļ āđāļŦāļāļļāļāļēāļĢāļāđāļāļēāļāđāļĻāļĢāļĐāļāļāļīāļ
- āļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļāđāļāļąāļāđāļĄāļāļĢāļīāļāļāļ·āđāļ: traffic āđāļ§āđāļāđāļāļāđ, conversion rate, cart abandonment
āļāļģāļāļēāļĄ 13: āļāļāļīāļāļēāļĒ A/B testing āđāļĨāļ°āđāļĄāļ·āđāļāđāļāđāļĄāđāļāļ§āļĢāđāļāđ
āļāļģāļāļāļāļāļĩāđāļāļēāļāļŦāļ§āļąāļ: A/B testing āđāļāļĢāļĩāļĒāļāđāļāļĩāļĒāļāļŠāļāļāļāļąāļ§āđāļāļĢ (control vs treatment) āđāļāļ·āđāļāļ§āļąāļāļāļĨāļāļĢāļ°āļāļāđāļāļīāļāļŠāļēāđāļŦāļāļļ āļāđāļāļāļāļēāļĢāļāļēāļĢāļāļģāļŦāļāļāđāļāļāļŠāļļāđāļĄ āļāļāļēāļāļāļąāļ§āļāļĒāđāļēāļāļāļĩāđāđāļāļĩāļĒāļāļāļ āđāļĨāļ°āđāļĄāļāļĢāļīāļāđāļāļĩāļĒāļ§āļāļĩāđāļŠāļāđāļ
A/B testing āđāļĄāđāļāļ§āļĢāđāļāđāđāļĄāļ·āđāļ:
- āļāļāļēāļāļāļąāļ§āļāļĒāđāļēāļāđāļĄāđāđāļāļĩāļĒāļāļāļāļŠāļģāļŦāļĢāļąāļāļāļģāļĨāļąāļāļāļēāļāļŠāļāļīāļāļī
- āļāļēāļĢāđāļāļĨāļĩāđāļĒāļāđāļāļĨāļāļŠāđāļāļāļĨāļāļĢāļ°āļāļāļāđāļāļāļđāđāđāļāđāļāļļāļāļāļ (āđāļāļĢāļāļŠāļĢāđāļēāļāļāļ·āđāļāļāļēāļ āļĢāļēāļāļē)
- āļĄāļĩ network effect (āļāļļāļāļŠāļĄāļāļąāļāļīāļāļēāļāļŠāļąāļāļāļĄāļāļĩāđāļāļđāđāđāļāđāļĄāļĩāļāļīāļāļāļīāļāļĨāļāđāļāļāļąāļ)
- āļāđāļāļāļąāļāļ§āļĨāļāđāļēāļāļāļĢāļīāļĒāļāļĢāļĢāļĄāļāđāļāļāļāļąāļāļāļēāļĢāļāļąāļāđāļāđāļāļāļēāļĢāđāļāļĨāļĩāđāļĒāļāđāļāļĨāļāļāļĩāđāđāļāđāļāļāļĢāļ°āđāļĒāļāļāđ
āļāļģāļāļēāļĄ 14: āļ§āļīāļāļĩāļāļāļīāļāļēāļĒāļāļąāļĒāļŠāļģāļāļąāļāļāļēāļāļŠāļāļīāļāļīāđāļŦāđ stakeholder āļāļĩāđāđāļĄāđāđāļāđāļāļąāļāđāļāļāļāļīāļ?
āļāļģāļāļāļāļāļĩāđāļāļēāļāļŦāļ§āļąāļ: āļāļąāļĒāļŠāļģāļāļąāļāļāļēāļāļŠāļāļīāļāļīāļŦāļĄāļēāļĒāļāļ§āļēāļĄāļ§āđāļēāļāļ§āļēāļĄāđāļāļāļāđāļēāļāļāļĩāđāļŠāļąāļāđāļāļāđāļāđāđāļĄāđāļāđāļēāļāļ°āđāļāļīāļāļāļķāđāļāđāļāļĒāļāļąāļāđāļāļīāļ P-value āļāđāļģāļāļ§āđāļē 0.05 āļāđāļāļāļĩāđāļ§āđāļēāļĄāļĩāļāļ§āļēāļĄāļāđāļēāļāļ°āđāļāđāļāļāđāļāļĒāļāļ§āđāļē 5% āļāļĩāđāļāļĨāļĨāļąāļāļāđāđāļāļīāļāļāļķāđāļāđāļāļĒāļŠāļļāđāļĄ
āļāļēāļĢāđāļāļĢāļĩāļĒāļāđāļāļĩāļĒāļ: āđāļĒāļāđāļŦāļĢāļĩāļĒāļ 10 āļāļĢāļąāđāļāđāļĨāļ°āđāļāđāļŦāļąāļ§ 7 āļāļĢāļąāđāļāļāļēāļāđāļāđāļāļāļąāļāđāļāļīāļ āļāļēāļĢāđāļāđāļŦāļąāļ§ 95 āļāļĢāļąāđāļāļāļēāļ 100 āļāļĢāļąāđāļāļĄāļĩāļāļąāļĒāļŠāļģāļāļąāļāļāļēāļāļŠāļāļīāļāļīāđāļāļĢāļēāļ°āļāļąāļāđāļāļīāļāđāļāļĩāļĒāļāļāļĒāđāļēāļāđāļāļĩāļĒāļ§āđāļĄāđāļŠāļēāļĄāļēāļĢāļāļāļāļīāļāļēāļĒāđāļāđ
āļāļģāļāļēāļĄ 15: āļāļ§āļēāļĄāđāļāļāļāđāļēāļāļĢāļ°āļŦāļ§āđāļēāļāļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļāđāđāļĨāļ°āļŠāļēāđāļŦāļāļļāļāļ·āļāļāļ°āđāļĢ?
āļāļģāļāļāļāļāļĩāđāļāļēāļāļŦāļ§āļąāļ: āļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļāđāļ§āļąāļāļ§āđāļēāļāļąāļ§āđāļāļĢāļŠāļāļāļāļąāļ§āđāļāļĨāļ·āđāļāļāļāļĩāđāđāļāļāđāļ§āļĒāļāļąāļāļāļĒāđāļēāļāđāļĢ āļŠāļēāđāļŦāļāļļāļŦāļĄāļēāļĒāļāļ§āļēāļĄāļ§āđāļēāļāļąāļ§āđāļāļĢāļŦāļāļķāđāļāļŠāđāļāļāļĨāđāļāļĒāļāļĢāļāļāđāļāļāļĩāļāļāļąāļ§āļŦāļāļķāđāļ āļĒāļāļāļāļēāļĒāđāļāļĻāļāļĢāļĩāļĄāđāļĨāļ°āļāļēāļĢāļāļĄāļāđāļģāđāļŠāļĩāļĒāļāļĩāļ§āļīāļāļĄāļĩāļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļāđāļāļąāļ (āļāļąāđāļāļāļđāđāđāļāļīāđāļĄāļāļķāđāļāđāļāļĪāļāļđāļĢāđāļāļ) āđāļāđāđāļāļĻāļāļĢāļĩāļĄāđāļĄāđāđāļāđāļāļģāđāļŦāđāđāļāļīāļāļāļēāļĢāļāļĄāļāđāļģ
āļāļēāļĢāļŠāļĢāđāļēāļāļŠāļēāđāļŦāļāļļāļāđāļāļāļāļēāļĢ:
- āļĨāļģāļāļąāļāļāđāļāļāļŦāļĨāļąāļāļāļēāļāđāļ§āļĨāļē (āļŠāļēāđāļŦāļāļļāļĄāļēāļāđāļāļāļāļĨ)
- āļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļāđ
- āļāļēāļĢāļāļģāļāļąāļāļāļąāļ§āđāļāļĢāļĢāļāļāļ§āļ (āļāļēāļĢāļāļāļĨāļāļāļāļ§āļāļāļļāļĄāđāļāļāļŠāļļāđāļĄ)
āļāļģāļāļēāļĄāļāļĢāļ°āđāļĄāļīāļāļāļąāļāļĐāļ°āļāļēāļāđāļāļāļāļīāļ
āļāļģāļāļēāļĄāđāļŦāļĨāđāļēāļāļĩāđāļāļāļŠāļāļāļāļ§āļēāļĄāļāļģāļāļēāļāđāļāļĢāļ·āđāļāļāļĄāļ·āļāđāļāļāļēāļ°āļāļĩāđāļāļēāļāļŦāļ§āļąāļāđāļāļāļĨāļēāļāļāļīāļāļēāļĨāļĩ
āļāļģāļāļēāļĄ 16: āđāļāļĢāļĩāļĒāļāđāļāļĩāļĒāļ Power BI āđāļĨāļ° Tableau āļŠāļģāļŦāļĢāļąāļ enterprise analytics
āļāļĢāļīāļĐāļąāļāļāļīāļāļēāļĨāļĩ āđāļāļĒāđāļāļāļēāļ°āđāļāļ āļēāļāļāļēāļĢāļāļāļēāļāļēāļĢāđāļĨāļ°āļŠāļēāļāļēāļĢāļāļđāļāđāļ āļ āđāļāđ Power BI āļĄāļēāļāđāļāļ·āđāļāļāļāļēāļāļāļēāļĢāļĢāļ§āļĄāļĢāļ°āļāļ Microsoft āļāļ§āļēāļĄāđāļāļāļāđāļēāļāļŦāļĨāļąāļ:
| āļāđāļēāļ | Power BI | Tableau |
|---|---|---|
| āļāđāļāļāļļāļ | āļāđāļģāļāļ§āđāļē (āļĢāļ§āļĄ Office 365) | āļāđāļēāļĨāļīāļāļŠāļīāļāļāļīāđāļŠāļđāļāļāļ§āđāļē |
| āđāļŠāđāļāđāļāđāļāļāļēāļĢāđāļĢāļĩāļĒāļāļĢāļđāđ | āļāđāļēāļĒāļāļ§āđāļēāļŠāļģāļŦāļĢāļąāļāļāļđāđāđāļāđ Excel | āļāļąāļāļāļ§āđāļē āļĄāļĩāļāļĨāļąāļāļĄāļēāļāļāļ§āđāļē |
| āļāļēāļĢāđāļāļĢāļĩāļĒāļĄāļāđāļāļĄāļđāļĨ | Power Query āđāļāļāļąāļ§ | Prep āļāđāļāļāļāļēāļĢāđāļāļĢāļ·āđāļāļāļĄāļ·āļāđāļĒāļ |
| Visualization | āļāļĩ āļāļģāļĨāļąāļāļāļĢāļąāļāļāļĢāļļāļ | āļāļĩāļāļĩāđāļŠāļļāļāđāļāļāļĨāļļāđāļĄ |
| āļāļēāļĢāļāļģāđāļāđāļāđāļĢāļ°āļāļąāļāļāļāļāđāļāļĢ | āļŠāļđāļāļāļ§āđāļēāđāļāļāļīāļāļēāļĨāļĩ | āļāļāđāļāđāļāļąāđāļ§āđāļāđāļāļāļĢāļīāļĐāļąāļāļāđāļēāļĄāļāļēāļāļī |
āļāļģāļāļēāļĄ 17: DAX āļāļ·āļāļāļ°āđāļĢ āđāļĨāļ°āđāļŦāđāļāļąāļ§āļāļĒāđāļēāļ measure
āļāļģāļāļāļāļāļĩāđāļāļēāļāļŦāļ§āļąāļ: DAX (Data Analysis Expressions) āđāļāđāļāļ āļēāļĐāļēāļŠāļđāļāļĢāļāļāļ Power BI āļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļāļģāļāļ§āļ Measure āļāļģāļāļ§āļāļāđāļēāđāļāļāđāļāļāļēāļĄāļīāļāļāļēāļĄ filter context
// Year-over-Year Growth measure in DAX
YoY Growth % =
VAR CurrentYearSales = SUM(Sales[Amount])
VAR PreviousYearSales = CALCULATE(
SUM(Sales[Amount]),
DATEADD(Calendar[Date], -1, YEAR)
)
RETURN
DIVIDE(CurrentYearSales - PreviousYearSales, PreviousYearSales, 0)āļāļģāļāļēāļĄ 18: āļāļāļīāļāļēāļĒ ETL āđāļĨāļ°āļāļ§āļēāļĄāļŠāļģāļāļąāļāđāļ analytics
āļāļģāļāļāļāļāļĩāđāļāļēāļāļŦāļ§āļąāļ: ETL āļĒāđāļāļĄāļēāļāļēāļ Extract, Transform, Load āļāđāļāļĄāļđāļĨāđāļāļĨāļ·āđāļāļāļĒāđāļēāļĒāļāļēāļāļĢāļ°āļāļāļāđāļāļāļēāļ (ERP, CRM, web logs) āļāđāļēāļāļāļēāļĢāđāļāļĨāļ (āļāļēāļĢāļāļģāļāļ§āļēāļĄāļŠāļ°āļāļēāļ, aggregation, joining) āđāļāđāļēāļŠāļđāđ data warehouse āđāļāļ·āđāļāļāļēāļĢāļ§āļīāđāļāļĢāļēāļ°āļŦāđ
āļāļēāļāđāļĨāļ·āļāļāļŠāļĄāļąāļĒāđāļŦāļĄāđāļĢāļ§āļĄāļāļķāļ ELT (āđāļŦāļĨāļāļāđāļāļĄāļđāļĨāļāļīāļāļāđāļāļ āđāļāļĨāļāđāļ warehouse) āđāļĨāļ°āđāļāļĢāļ·āđāļāļāļĄāļ·āļāđāļāđāļ dbt āļāļĩāđāđāļĒāļ transformation logic āļāļāļāļāļēāļ orchestration
āļāļģāļāļēāļĄ 19: āļāļ§āļēāļĄāđāļāļāļāđāļēāļāļĢāļ°āļŦāļ§āđāļēāļāļĢāļ°āļāļ OLTP āđāļĨāļ° OLAP āļāļ·āļāļāļ°āđāļĢ?
| āļāđāļēāļ | OLTP | OLAP |
|---|---|---|
| āļ§āļąāļāļāļļāļāļĢāļ°āļŠāļāļāđ | āļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨāļāļļāļĢāļāļĢāļĢāļĄ | Query āđāļāļīāļāļ§āļīāđāļāļĢāļēāļ°āļŦāđ |
| Data model | Normalized (3NF) | Denormalized (star/snowflake) |
| āļāļĢāļ°āđāļ āļ query | āļāđāļēāļĒ āļāđāļāļĒ | āļāļąāļāļāđāļāļ aggregate |
| āļāļĢāļīāļĄāļēāļāļāđāļāļĄāļđāļĨāļāđāļ query | āđāļĨāđāļ | āđāļŦāļāđ |
| āļāļąāļ§āļāļĒāđāļēāļ | āļāļēāļĢāļāļąāļāļāļķāļāļāļģāļŠāļąāđāļāļāļ·āđāļ āļāļāļēāļāļēāļĢ | Data warehouse āļĢāļēāļĒāļāļēāļ BI |
āļāļģāļāļēāļĄ 20: āļ§āļīāļāļĩāđāļāļīāđāļĄāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļ SQL query āļāļĩāđāļāđāļē?
āļāļģāļāļāļāļāļĩāđāļāļēāļāļŦāļ§āļąāļ: āļāļāļīāļāļąāļāļīāļāļēāļĄāđāļāļ§āļāļēāļāļāļĩāđāđāļāđāļāļĢāļ°āļāļ:
- āļ§āļīāđāļāļĢāļēāļ°āļŦāđ execution plan: āļĢāļ°āļāļļ full table scan, index āļāļĩāđāļŦāļēāļĒāđāļ
- āđāļāļīāđāļĄ index āļāļĩāđāđāļŦāļĄāļēāļ°āļŠāļĄ: āļāļāļāļāļĨāļąāļĄāļāđāđāļ WHERE, JOIN, ORDER BY
- āđāļāļĩāļĒāļ pattern āļāļĩāđāđāļĄāđāļĄāļĩāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāđāļŦāļĄāđ: āđāļāļāļāļĩāđ correlated subquery āļāđāļ§āļĒ JOIN
- āļāļģāļāļąāļāļāđāļāļĄāļđāļĨāđāļāđāđāļāļīāđāļāđ: āļāļĢāļāļāļāđāļāļ join āļāļēāļĢāļēāļāđāļŦāļāđ
- āđāļāđ query hints āļāļĒāđāļēāļāļāļĢāļ°āļŦāļĒāļąāļ: āđāļāļāļēāļ°āđāļĄāļ·āđāļ optimizer āđāļĨāļ·āļāļāđāļĄāđāļāļĩ
-- query_optimization.sql
-- Before: correlated subquery (slow)
SELECT * FROM orders o
WHERE o.total > (SELECT AVG(total) FROM orders WHERE customer_id = o.customer_id);
-- After: window function (faster)
SELECT * FROM (
SELECT *, AVG(total) OVER (PARTITION BY customer_id) AS avg_total
FROM orders
) sub
WHERE total > avg_total;āļāļĢāđāļāļĄāļāļĩāđāļāļ°āļāļīāļāļīāļāļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļāđ Data Analytics āđāļĨāđāļ§āļŦāļĢāļ·āļāļĒāļąāļāļāļĢāļąāļ?
āļāļķāļāļāļāļāđāļ§āļĒāļāļąāļ§āļāļģāļĨāļāļāđāļāļāđāļāđāļāļāļ, flashcards āđāļĨāļ°āđāļāļāļāļāļŠāļāļāđāļāļāļāļīāļāļāļĢāļąāļ
āļāļģāļāļēāļĄāļāļĪāļāļīāļāļĢāļĢāļĄāđāļĨāļ°āļāļēāļĄāļŠāļāļēāļāļāļēāļĢāļāđ
āļāļđāđāļŠāļąāļĄāļ āļēāļĐāļāđāļāļēāļ§āļāļīāļāļēāļĨāļĩāļāļĢāļ°āđāļĄāļīāļāļāļ§āļēāļĄāđāļāđāļēāļāļąāļāđāļāđāļāļēāļāļ§āļąāļāļāļāļĢāļĢāļĄāđāļĨāļ°āļāļąāļāļĐāļ°āļāļēāļĢāļŠāļ·āđāļāļŠāļēāļĢāļāļ§āļāļāļđāđāđāļāļāļąāļāļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļāļāļēāļāđāļāļāļāļīāļ
āļāļģāļāļēāļĄ 21: āļāļāļīāļāļēāļĒāļāļĢāļąāđāļāļāļĩāđāļāļēāļĢāļ§āļīāđāļāļĢāļēāļ°āļŦāđāļāļāļāļāļļāļāļāļąāļāđāļĒāđāļāļāļąāļāļŠāļīāđāļāļāļĩāđ stakeholder āļāļēāļāļŦāļ§āļąāļ
āđāļāļĢāļāļŠāļĢāđāļēāļāļāļģāļāļāļāļāļĩāđāđāļāđāļāđāļāļĢāđāļ:
- āļŠāļāļēāļāļāļēāļĢāļāđ: stakeholder āđāļāļ·āđāļāļāļ°āđāļĢ
- āļāļēāļĢāļ§āļīāđāļāļĢāļēāļ°āļŦāđ: āļāđāļāļĄāļđāļĨāđāļŠāļāļāļāļ°āđāļĢāļāļĢāļīāļāđ
- āļāļēāļĢāļŠāļ·āđāļāļŠāļēāļĢ: āļāļĨāļāļēāļĢāļāđāļāļāļāļāļđāļāļāļģāđāļŠāļāļāļāļĒāđāļēāļāļĄāļĩāļāļēāļĢāļāļđāļāļāļĒāđāļēāļāđāļĢ
- āļāļĨāļĨāļąāļāļāđ: āļāļēāļĢāļāļąāļāļŠāļīāļāđāļāļāļ°āđāļĢāļāļđāļāļāļģāđāļĨāļ°āļāļĨāļāļĢāļ°āļāļ
āļāļĪāļāļīāļāļĢāļĢāļĄāļŦāļĨāļąāļāļāļĩāđāļāļđāđāļŠāļąāļĄāļ āļēāļĐāļāđāļĄāļāļāļŦāļē: āļāļ§āļēāļĄāļāļ·āđāļāļŠāļąāļāļĒāđāļāļēāļāļāļąāļāļāļē āļāļēāļĢāļŠāļ·āđāļāļŠāļēāļĢāļāļĒāđāļēāļāļĄāļĩāļāļēāļĢāļāļđāļ āđāļĨāļ°āļāļēāļĢāļĒāļ·āļāļŦāļĒāļąāļāđāļāļāđāļāļŠāļĢāļļāļāļāļĩāđāļāļąāļāđāļāļĨāļ·āđāļāļāļāđāļ§āļĒāļāđāļāļĄāļđāļĨ
āļāļģāļāļēāļĄ 22: āļ§āļīāļāļĩāļāļąāļāļĨāļģāļāļąāļāļāļ§āļēāļĄāļŠāļģāļāļąāļāļāļāļāļāļģāļāļāļāđāļāļĄāļđāļĨāđāļĢāđāļāļāđāļ§āļāļŦāļĨāļēāļĒāļĢāļēāļĒāļāļēāļĢ?
āļāļģāļāļāļāļāļĩāđāļāļēāļāļŦāļ§āļąāļ:
- āļāļĢāļ°āđāļĄāļīāļāļāļĨāļāļĢāļ°āļāļāļāļēāļāļāļļāļĢāļāļīāļāļāļāļāđāļāđāļĨāļ°āļāļģāļāļ
- āļāļĩāđāđāļāļāļāļģāļŦāļāļāđāļ§āļĨāļēāđāļĨāļ°āđāļāļĢāļāļēāđāļĄāļ·āđāļāđāļāđāļāđāļāđāļāđ
- āļĢāļ°āļāļļ quick wins vs āļāļēāļĢāļ§āļīāđāļāļĢāļēāļ°āļŦāđāđāļāļīāļāļĨāļķāļ
- āļŠāļ·āđāļāļŠāļēāļĢ timeline āļāļĩāđāļŠāļĄāļāļĢāļīāļāļāļĒāđāļēāļāļāļĢāļ°āļāļ·āļāļĢāļ·āļāļĢāđāļ
- āļĒāļāļĢāļ°āļāļąāļāļāđāļāļāļģāļāļąāļāļāļĢāļąāļāļĒāļēāļāļĢāļāđāļāļāđāļēāļĒāļāļĢāļīāļŦāļēāļĢ
āļāļģāļāļēāļĄ 23: āļ§āļīāļāļĩāļĢāļąāļāļĢāļāļāļāļļāļāļ āļēāļāļāđāļāļĄāļđāļĨāđāļāļāļēāļĢāļ§āļīāđāļāļĢāļēāļ°āļŦāđ?
āļāļģāļāļāļāļāļĩāđāļāļēāļāļŦāļ§āļąāļ:
- āļāļĢāļ§āļāļŠāļāļāļāđāļāļĄāļđāļĨāļāđāļāļāļēāļāļāđāļāļāļāļēāļĢāļ§āļīāđāļāļĢāļēāļ°āļŦāđ (null check, range check, referential integrity)
- āļāļąāļāļāļķāļāļŠāļĄāļĄāļāļīāļāļēāļāļāļĒāđāļēāļāļāļąāļāđāļāļ
- Cross-reference āļŦāļĨāļēāļĒāđāļŦāļĨāđāļāļāđāļāļĄāļđāļĨ
- āđāļāđāļāļēāļĢāļāļĢāļ§āļāļŠāļāļāļāļļāļāļ āļēāļāļāđāļāļĄāļđāļĨāļāļąāļāđāļāļĄāļąāļāļī
- āļāļĢāļ§āļāļŠāļāļ outlier āļāđāļ§āļĒāļāļāđāļāļāļāđāļāļāļĒāļāđāļ§āđāļ
āļāļģāļāļēāļĄ 24: āļāļāļīāļāļēāļĒāđāļāļ§āļāļēāļāļāļēāļĢāđāļĢāļĩāļĒāļāļĢāļđāđāđāļāļĢāļ·āđāļāļāļĄāļ·āļāļŦāļĢāļ·āļāđāļāļāđāļāđāļĨāļĒāļĩāđāļŦāļĄāđ
āļāļģāļāļāļāļāļĩāđāļāļēāļāļŦāļ§āļąāļ:
- āđāļĢāļīāđāļĄāļāđāļāļāđāļ§āļĒāđāļāļāļŠāļēāļĢāļāļĒāđāļēāļāđāļāđāļāļāļēāļāļāļēāļĢāđāļĨāļ° tutorial
- āļŠāļĢāđāļēāļāđāļāļĢāđāļāļāļāđāđāļĨāđāļāđ āđāļāļ·āđāļāđāļāđāđāļāļ§āļāļīāļ
- āđāļāđāļēāļĢāđāļ§āļĄāļāļļāļĄāļāļ (Reddit, Stack Overflow, meetup āļāđāļāļāļāļīāđāļ)
- āļŠāļāļāļāļđāđāļāļ·āđāļāđāļāļ·āđāļāđāļŠāļĢāļīāļĄāļāļ§āļēāļĄāđāļāđāļēāđāļ
āļāļģāļāļēāļĄāđāļāļāļēāļ°āļāļļāļāļŠāļēāļŦāļāļĢāļĢāļĄāļŠāļģāļŦāļĢāļąāļāļāļĨāļēāļāļāļīāļāļēāļĨāļĩ
āļāļģāļāļēāļĄ 25: āļāļāļĢāļ°āđāļāļĩāļĒāļāļāļ°āđāļĢāļāļĩāđāļŠāđāļāļāļĨāļāļĢāļ°āļāļāļāđāļ data analytics āđāļāļāļīāļāļēāļĨāļĩ?
āļāļģāļāļāļāļāļĩāđāļāļēāļāļŦāļ§āļąāļ: GDPR āđāļāđāļāļāļāļĢāļ°āđāļāļĩāļĒāļāļŦāļĨāļąāļ āļāđāļāļāļģāļŦāļāļāļŦāļĨāļąāļāļĢāļ§āļĄāļāļķāļ:
- āļāļ§āļēāļĄāļĒāļīāļāļĒāļāļĄāļāļĩāđāļāļąāļāđāļāļāļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨāļāđāļāļĄāļđāļĨāļŠāđāļ§āļāļāļļāļāļāļĨ
- āļŠāļīāļāļāļīāđāđāļāļāļēāļĢāļĨāļ (āļāļģāļāļāļĨāļāļāđāļāļĄāļđāļĨ)
- āļāļēāļĢāļĨāļāļāđāļāļĄāļđāļĨ (āļĢāļ§āļāļĢāļ§āļĄāđāļāļāļēāļ°āļāđāļāļĄāļđāļĨāļāļĩāđāļāļģāđāļāđāļ)
- āļāļēāļĢāļāļĢāļ°āđāļĄāļīāļāļāļĨāļāļĢāļ°āļāļāļāļ§āļēāļĄāđāļāđāļāļŠāđāļ§āļāļāļąāļ§āļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨāļāļĩāđāļĄāļĩāļāļ§āļēāļĄāđāļŠāļĩāđāļĒāļāļŠāļđāļ
āđāļāļāļēāļ°āļ āļēāļ: āļāļēāļĢāļāļāļēāļāļēāļĢāļāļīāļāļēāļĨāļĩ (āļāđāļāļāļąāļāļāļąāļ Bank of Italy), āļŠāļēāļāļēāļĢāļāļŠāļļāļ (āļāļāļŦāļĄāļēāļĒāļāļīāļāļēāļĨāļĩāļāļĩāđāđāļāļĩāļĒāļāđāļāđāļē HIPAA), āļ āļēāļāļĢāļąāļ (āđāļāļ§āļāļēāļ CAD āđāļĨāļ° AGID)
āļāļģāļāļēāļĄ 26: āļ§āļīāļāļĩāļāļąāļāļāļēāļĢ PII āđāļ dataset āđāļāļīāļāļ§āļīāđāļāļĢāļēāļ°āļŦāđ?
āļāļģāļāļāļāļāļĩāđāļāļēāļāļŦāļ§āļąāļ:
- Pseudonymization: āđāļāļāļāļĩāđ identifier āļāđāļ§āļĒ token
- Aggregation: āļĢāļēāļĒāļāļēāļāļāļĩāđāļĢāļ°āļāļąāļāļāļĨāļļāđāļĄ āđāļĄāđāđāļāđāļĢāļēāļĒāļāļļāļāļāļĨ
- Data masking: āļāđāļāļāļŠāđāļ§āļāļāļĩāđāļĨāļ°āđāļāļĩāļĒāļāļāđāļāļ (email: a***@gmail.com)
- āļāļēāļĢāļāļ§āļāļāļļāļĄāļāļēāļĢāđāļāđāļēāļāļķāļ: āļŠāļīāļāļāļīāđāļāļēāļĄāļāļāļāļēāļāļŠāļģāļŦāļĢāļąāļāļāđāļāļĄāļđāļĨāļāļĩāđāļĨāļ°āđāļāļĩāļĒāļāļāđāļāļ
- āļāđāļĒāļāļēāļĒāļāļēāļĢāđāļāđāļāļĢāļąāļāļĐāļē: āļĨāļāļāđāļāļĄāļđāļĨāđāļĄāļ·āđāļāđāļĄāđāļāļģāđāļāđāļāļāļĩāļāļāđāļāđāļ
āļāļģāļāļēāļĄ 27: āļāļĢāļ°āļŠāļāļāļēāļĢāļāđāļāļąāļāđāļāļĨāļāļāļāļĢāđāļĄāļāđāļāļĄāļđāļĨ cloud?
āļāļĢāļīāļĐāļąāļāļāļīāļāļēāļĨāļĩāđāļāđāđāļāļĨāļāļāļāļĢāđāļĄ cloud āļĄāļēāļāļāļķāđāļ āļāļāđāļāđāļāļąāđāļ§āđāļāđāļāļāļĨāļēāļ:
- Google BigQuery (Google Cloud)
- Amazon Redshift (AWS)
- Azure Synapse (āļāļēāļĢāļĢāļ§āļĄāļĢāļ°āļāļ Microsoft)
- Snowflake (cloud-agnostic)
āļāļģāļāļēāļĄ 28: āļ§āļīāļāļĩāļŠāļ·āđāļāļŠāļēāļĢāļāļĨāļāļēāļĢāļ§āļīāđāļāļĢāļēāļ°āļŦāđāđāļŦāđāļāļđāđāļāļĢāļīāļŦāļēāļĢ?
āļāļģāļāļāļāļāļĩāđāļāļēāļāļŦāļ§āļąāļ:
- āļāļģāļāđāļ§āļĒāļāļģāđāļāļ°āļāļģ āđāļĄāđāđāļāđāļ§āļīāļāļĩāļāļēāļĢ
- āđāļāđ visualization āļāļĩāđāļāļđāđāļāļĢāļīāļŦāļēāļĢāļŠāļēāļĄāļēāļĢāļāļāļĩāļāļ§āļēāļĄāđāļāđāđāļāđāļĄāđāļāļĩāđāļ§āļīāļāļēāļāļĩ
- āļĢāļ°āļāļļāļāļĨāļāļĢāļ°āļāļāļāļēāļāļāļļāļĢāļāļīāļāđāļāđāļāļāļąāļ§āđāļĨāļ (āļĢāļēāļĒāđāļāđ āļāđāļāļāļļāļ āļāļ§āļēāļĄāđāļŠāļĩāđāļĒāļ)
- āļāļēāļāļāļēāļĢāļāđāļāļģāļāļēāļĄāđāļĨāļ°āđāļāļĢāļĩāļĒāļĄāļŠāđāļĨāļāđāļŠāļģāļĢāļāļ
- āļŦāļĨāļĩāļāđāļĨāļĩāđāļĒāļāļĻāļąāļāļāđāđāļāļāļēāļ°; āđāļāļĨāļāļģāļĻāļąāļāļāđāļāļēāļāđāļāļāļāļīāļ
āļāļģāļāļēāļĄ 29: āđāļĄāļāļĢāļīāļāļāļ°āđāļĢāļāļĩāđāļāļ°āļāļīāļāļāļēāļĄāļŠāļģāļŦāļĢāļąāļāļāļļāļĢāļāļīāļ e-commerce?
āļāļģāļāļāļāļāļĩāđāļāļēāļāļŦāļ§āļąāļ:
- āļāļēāļĢāđāļāđāļĄāļē: āđāļŦāļĨāđāļ traffic, cost per acquisition
- āļāļĪāļāļīāļāļĢāļĢāļĄ: bounce rate, pages per session, time on site
- āļāļēāļĢāđāļāļĨāļ: conversion rate āļāļēāļĄāļāļąāđāļāļāļāļ funnel, cart abandonment
- āļāļēāļĢāļĢāļąāļāļĐāļē: repeat purchase rate, customer lifetime value
- āļĢāļēāļĒāđāļāđ: average order value, revenue per visitor
āļāļģāļāļēāļĄ 30: āļ§āļīāļāļĩāļāļīāļāļāļēāļĄāđāļāļĢāļāļāđ data analytics?
āļāļģāļāļāļāļāļĩāđāļāļēāļāļŦāļ§āļąāļ:
- āļāļīāļāļāļēāļĄāļŠāļīāđāļāļāļīāļĄāļāđāđāļāļāļļāļāļŠāļēāļŦāļāļĢāļĢāļĄ: Towards Data Science, Analytics Vidhya
- āđāļāđāļēāļĢāđāļ§āļĄāļāļēāļĢāđāļāđāļāļāļąāļ Kaggle
- āđāļāđāļēāļĢāđāļ§āļĄāļāļēāļĢāļāļĢāļ°āļāļļāļĄ: PyData, meetup data science āļāđāļāļāļāļīāđāļāđāļāļĄāļīāļĨāļēāļāļŦāļĢāļ·āļāđāļĢāļĄ
- āļāđāļēāļāđāļāļāļŠāļēāļĢāļŠāļģāļŦāļĢāļąāļāđāļāļĢāļ·āđāļāļāļĄāļ·āļāļĢāļļāđāļāđāļŦāļĄāđ
- āļāļāļĨāļāļāļāļąāļāđāļāļāđāļāđāļĨāļĒāļĩāđāļŦāļĄāđāđāļāđāļāļĢāđāļāļāļāđāļŠāđāļ§āļāļāļąāļ§
āļāļĨāļĒāļļāļāļāđāļāļēāļĢāđāļāļĢāļĩāļĒāļĄāļāļąāļ§āļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļāđ Data Analyst āđāļāļāļīāļāļēāļĨāļĩ 2026
- āļāļ§āļēāļĄāđāļāļĩāđāļĒāļ§āļāļēāļ SQL: āļāļķāļāļāļ LeetCode Database problems āđāļĨāļ° StrataScratch āļāļĢāļīāļĐāļąāļāļāļīāļāļēāļĨāļĩāļāļāļŠāļāļ JOIN, window functions āđāļĨāļ° CTE āļĄāļēāļ
- āļāļ§āļēāļĄāļāļģāļāļēāļ Python: āļāļģāđāļāļāļāļķāļāļŦāļąāļ pandas āļāļ Kaggle āđāļāđāļ data cleaning āđāļĨāļ° aggregation
- āļāļ§āļēāļĄāļāļļāđāļāđāļāļĒāļāļąāļāđāļāļĢāļ·āđāļāļāļĄāļ·āļ: āļāļąāļāļĐāļ° Power BI āļĄāļĩāļāđāļēāļĄāļēāļāđāļ enterprise āļāļīāļāļēāļĨāļĩ Tableau āļāļāđāļāđāļāļąāđāļ§āđāļāđāļāļāļĢāļīāļĐāļąāļāļāđāļēāļĄāļāļēāļāļī
- āļāļĢāļīāļāļāļāļēāļāļāļļāļĢāļāļīāļ: āđāļāļĢāļĩāļĒāļĄāļāļąāļ§āļāļĒāđāļēāļāļāļēāļāļāļēāļāļāđāļāļāļŦāļāđāļēāļāļĩāđāđāļŠāļāļāļāļēāļĢāđāļāļĨāļāļģāļāļēāļĄāļāļēāļāļāļļāļĢāļāļīāļāđāļāđāļāđāļāļ§āļāļēāļāđāļāļīāļāļ§āļīāđāļāļĢāļēāļ°āļŦāđ
- āļ āļēāļĐāļēāļāļīāļāļēāļĨāļĩ: āđāļĄāđāļ§āđāļēāļāļĢāļīāļĐāļąāļāđāļāļāđāļāđāļĨāļĒāļĩāļŦāļĨāļēāļĒāđāļŦāđāļāļāļģāđāļāļīāļāļāļēāļāđāļāđāļāļ āļēāļĐāļēāļāļąāļāļāļĪāļĐ āļāļ§āļēāļĄāļāļĨāđāļāļāđāļāļĨāđāļ§āļ āļēāļĐāļēāļāļīāļāļēāļĨāļĩāļāļĢāļąāļāļāļĢāļļāļāđāļāļāļēāļŠāđāļāļāļļāļāļŠāļēāļŦāļāļĢāļĢāļĄāļāļąāđāļāđāļāļīāļĄ (āļāļāļēāļāļēāļĢ āļāļēāļĢāļāļĨāļīāļ āļŠāļēāļāļēāļĢāļāļđāļāđāļ āļ)
āđāļĢāļīāđāļĄāļāļķāļāļāđāļāļĄāđāļĨāļĒ!
āļāļāļŠāļāļāļāļ§āļēāļĄāļĢāļđāđāļāļāļāļāļļāļāļāđāļ§āļĒāļāļąāļ§āļāļģāļĨāļāļāļŠāļąāļĄāļ āļēāļĐāļāđāđāļĨāļ°āđāļāļāļāļāļŠāļāļāđāļāļāļāļīāļāļāļĢāļąāļ
āļāļļāļāļŦāļēāļāļąāđāļāđāļ Data Analytics āđāļāļāđāļŦāļĄ
āđāļāđāļāļāļĢāļīāļāļŦāļāļķāđāļāļāļīāđāļ āļāļąāđāļāļāļĩāđāļāđāļāļāļāļĒāļđāđāļŦāļāļķāđāļāļāļļāļ āļ§āļąāļāļĨāļ°āļŦāļāļķāđāļāļāļĢāļąāđāļ āļĨāļāļāđāļāđāđāļāļĒāđāļĄāđāļāđāļāļāļĄāļĩāļāļąāļāļāļĩ

āđāļāļĩāļĒāļāđāļāļĒ
Anthony Fillion-Mailletāļāļđāđāļāđāļāļāļąāđāļ SharpSkill
āđāļāđāļāļāļąāļāļāļąāļāļāļēāļāļđāļĨāļŠāđāļāļāļĄāļēāļāļ§āđāļē 10 āļāļĩ āļāļđāđāļĨ SharpSkill āđāļĨāļ°āļĢāļąāļāļāļīāļāļāļāļāļāļļāļāļŠāļīāđāļāļāļĩāđāđāļāļĒāđāļāļĢāđāļāļĩāđāļāļĩāđ
āļāļąāļāđāļāļāđāļĄāļ·āđāļ 26 āļŠāļīāļāļŦāļēāļāļĄ 2569
āđāļāđāļ
āđāļāļĢāđ
āļāļāļāļ§āļēāļĄāļāļĩāđāđāļāļĩāđāļĒāļ§āļāđāļāļ

āļāļģāļāļēāļĄāļŠāļąāļĄāļ āļēāļĐāļāđ Data Analyst 2026: āļāļđāđāļĄāļ·āļāļāļĢāļāļāđāļ§āļ SQL, Python āđāļĨāļ° Analytics
āļāļđāđāļĄāļ·āļāļāļĢāļāļāđāļ§āļāļŠāļģāļŦāļĢāļąāļāļāļģāļāļēāļĄāļŠāļąāļĄāļ āļēāļĐāļāđ data analyst 2026 āļāļĢāļāļāļāļĨāļļāļĄ SQL window functions, Python pandas, āđāļāļ§āļāļīāļāļŠāļāļīāļāļī āđāļĨāļ° business case study āļāļĢāđāļāļĄāļāļąāļ§āļāļĒāđāļēāļāđāļāđāļāļāļĢāļīāļ

25 āļāļģāļāļēāļĄāļŠāļąāļĄāļ āļēāļĐāļāđāļāļēāļ Data Analytics āļāļĩāđāļāļāļāđāļāļĒāļāļĩāđāļŠāļļāļāđāļāļāļĩ 2026
āļĢāļ§āļĄāļāļģāļāļēāļĄāļŠāļąāļĄāļ āļēāļĐāļāđāļāļēāļ Data Analytics āļāļĩāđāļāļđāļāļāļēāļĄāļāđāļāļĒāļāļĩāđāļŠāļļāļāđāļāļāļĩ 2026 āļāļĢāļāļāļāļĨāļļāļĄ SQL, Python, Power BI, āļŠāļāļīāļāļī āđāļĨāļ°āļāļģāļāļēāļĄāđāļāļīāļāļāļĪāļāļīāļāļĢāļĢāļĄ āļāļĢāđāļāļĄāļāļģāļāļāļāđāļāļĒāļĨāļ°āđāļāļĩāļĒāļāđāļĨāļ°āļāļąāļ§āļāļĒāđāļēāļāđāļāđāļ

Pandas 3.0 āđāļāļāļĩ 2026: API āđāļŦāļĄāđ, Breaking Changes āđāļĨāļ°āļāļģāļāļēāļĄāļŠāļąāļĄāļ āļēāļĐāļāđāļāļēāļ
āļāļđāđāļĄāļ·āļāļāļāļąāļāļŠāļĄāļāļđāļĢāļāđāđāļāļĩāđāļĒāļ§āļāļąāļ Pandas 3.0 āļāļĢāļāļāļāļĨāļļāļĄ Copy-on-Write, PyArrow string backend, pd.col() expressions, breaking changes āđāļĨāļ°āļāļģāļāļēāļĄāļŠāļąāļĄāļ āļēāļĐāļāđ data analytics