Template

Data Scientist — Competency Roadmap

Work towards being a data scientist: turning messy real data into conclusions people can act on, with the statistics to know when a conclusion is justified and the communication to make it land.

This comprehensive roadmap outlines the complete path from complete beginner to autonomous data scientist across twelve interconnected competency areas. You will progress from foundational Python programming and relational databases through inferential statistics, production machine learning, deep learning, causal inference, and executive data storytelling. Dedicated phases explicitly highlight parallel tracks—such as mathematical foundations running alongside database querying—so you can develop analytical intuition without artificial bottlenecks. By the end of this roadmap, you will have designed end-to-end data pipelines, evaluated production-grade machine learning models, executed rigorous statistical experiments, and built a demonstrable portfolio of reproducible analytical systems.

By the end: You will be able to ingest and clean raw data, design statistically sound experiments and machine learning pipelines in Python, deploy containerised predictive APIs, and clearly communicate justified strategic insights to technical and non-technical stakeholders.

Starting levelBeginnerStyleA mix
10h / week12 phases36 tasks~225h total

This is the map — make this roadmap yours

It shows what this journey generally looks like. Tell Kaidoro your version of the goal and it builds the plan around where you are actually starting, what to do first, the hours you really have, and what you have already finished.

1

Python Programming & Core Software Fundamentals

Establish the foundational programming and tooling skills necessary to write clean, maintainable code for data analysis.

  • Set up a modern Python development environment
    ~3hLearn1 resource

    Every modern data pipeline relies on reproducible, isolated programming environments.

    You'll learn

    • Virtual environments — isolated runtime directories preventing dependency collisions across projects
    • pip / uv — package installers that fetch and resolve dependencies from PyPI
    • VS Code Python interpreter — setting the editor to target your specific virtual environment

    Install Python 3, a terminal environment, VS Code, and uv or conda for virtual environment management. Learn how to isolate project dependencies to prevent environment corruption.

    Done when: you can create an isolated virtual environment from the terminal, activate it, install a package, and execute a script that prints the environment Python path.

    How to work through it

    1. Install Python 3.11+ and VS Code
    2. Configure a terminal shell and install uv or miniconda
    3. Create a dedicated virtual environment named 'ds-core'
    4. Verify package installation and interpreter selection in VS Code
  • Master Python data structures and control flow
    ~6hPractice

    Data wrangling requires absolute fluency in manipulating in-memory Python structures.

    You'll learn

    • List comprehensions — concise syntax for transforming and filtering iterable collections
    • Dictionary hash maps — key-value lookups with O(1) average time complexity
    • Type hints — annotations specifying expected parameter and return types for clarity

    Write basic procedural Python covering fundamental types (integers, floats, strings, booleans), collections (lists, tuples, dicts, sets), and control flow (for/while loops, conditionals, list comprehensions).

    Done when: you have written and executed a script solving five algorithmic data manipulation exercises using dict comprehensions, nested loops, and slicing without third-party libraries.

    How to work through it

    1. Practise indexing, slicing, and modifying lists and dicts
    2. Write conditional filtering scripts using list and dict comprehensions
    3. Build custom functions with default arguments and type hints
    4. Write unit tests using assert statements to verify outputs
  • Implement object-oriented programming and defensive error handling
    ~5hBuild

    Production machine learning code and custom transformers rely extensively on object-oriented patterns.

    You'll learn

    • Object-Oriented Programming (OOP) — structuring code into reusable classes with bundled state and behaviour
    • Custom exceptions — raising domain-specific runtime errors to prevent silent data corruption
    • Dunder methods — double-underscore methods that hook into Python's built-in operators

    Learn class design, dunder methods, inheritance, and structured exception handling using try/except/finally blocks to build robust data components.

    Done when: you build a custom DatasetSummary class that accepts file paths, safely catches I/O errors, calculates basic summary statistics, and overrides repr.

    How to work through it

    1. Define classes with attributes, methods, and constructor initialisation
    2. Implement defensive programming with try/except/raise blocks
    3. Override standard dunder methods like __len__ and __getitem__
    4. Write a small modular script importing your custom class
  • Build a modular CLI log parsing tool with pytest
    ~6hBuild1 resource

    This serves as your initial software artefact demonstrating code modularity and testing.

    You'll learn

    • pytest — automated test framework for writing concise, expressive Python tests
    • argparse — standard library module for creating command-line interfaces
    • Regular expressions (re module) — pattern matching engine for parsing unstructured text streams

    Build a command-line tool that parses server access logs, extracts IP addresses and status codes, and outputs aggregate error counts, verified by an automated test suite.

    Done when: running 'pytest' passes across at least five unit test cases testing edge cases and log malformations.

    How to work through it

    1. Create a modular folder structure with an __init__.py package layout
    2. Implement regex-based log parsing functions
    3. Write unit tests in a tests/ directory targeting edge cases and malformed lines
    4. Run pytest to verify all automated checks pass
2

Relational Databases & SQL for Data Extraction

Master relational database modelling, analytical querying, and data extraction patterns using SQL.

  • Model a relational schema and run core SQL queries
    ~5hLearn1 resource

    Enterprise data lives in relational stores; SQL is the universal baseline skill for pulling raw business data.

    You'll learn

    • Relational Normalization — structuring schemas to eliminate redundancy and maintain integrity
    • Foreign Key constraints — relational rules guaranteeing referential integrity between tables
    • Aggregation operators — SQL functions like COUNT, SUM, AVG combined with grouping sets

    Set up a local PostgreSQL or SQLite database. Learn relational fundamentals including primary keys, foreign keys, table normalization, and write queries covering SELECT, WHERE, GROUP BY, HAVING, and JOIN operations.

    Done when: you write a multi-table SQL query joining transactions, customers, and products to compute monthly revenue by product category.

    How to work through it

    1. Install SQLite / DBeaver or connect to PostgreSQL via Docker
    2. Create normalized tables for an e-commerce data model
    3. Populate tables with dummy transactional records
    4. Write aggregations using GROUP BY, ORDER BY, and multiple INNER/LEFT JOINs
  • Write advanced SQL with Window Functions and CTEs
    ~6hPractice

    Complex feature engineering and metric definitions in industry are executed directly within SQL warehouses.

    You'll learn

    • Common Table Expressions (CTEs) — temporary named result sets that make queries readable and modular
    • Window Functions (OVER / PARTITION BY) — calculations across a set of table rows related to the current row without collapsing them
    • Execution Plans — internal query optimiser trees detailing table scans, index lookups, and join costs

    Develop advanced analytical queries utilizing Common Table Expressions (CTEs) and window functions (e.g., ROW_NUMBER, RANK, LAG, LEAD, moving averages) for cohort and time-series analyses.

    Done when: you write a single query that calculates customer 30-day retention curves and month-over-month percentage growth without intermediate temporary tables.

    How to work through it

    1. Write chained WITH statements (CTEs) to structure multi-stage queries
    2. Implement partition-based window calculations with ROW_NUMBER and DENSE_RANK
    3. Calculate lead/lag delta metrics across time partitions
    4. Verify query execution plans using EXPLAIN ANALYZE
  • Extract SQL datasets directly into Python using SQLAlchemy
    ~4hBuild1 resource

    Data scientists must bridge relational databases and Python processing pipelines programmatically.

    You'll learn

    • SQLAlchemy — database abstraction library and Object Relational Mapper for Python
    • DuckDB — fast in-process analytical SQL database engine optimised for OLAP queries
    • Parameterised Queries — separating query structure from user inputs to prevent SQL injection

    Connect Python scripts to relational databases using SQLAlchemy and DuckDB. Parameterise queries securely to extract data directly into reproducible analytical pipelines.

    Done when: you execute an automated Python script that parameterises date ranges, queries a local database, and returns formatted data records without SQL injection vulnerabilities.

    How to work through it

    1. Install SQLAlchemy and DuckDB in your Python environment
    2. Establish an engine connection and connection pooling
    3. Write parameterised SQL statements using SQLAlchemy text constructs
    4. Handle connection teardown and query timeouts defensively
3

Exploratory Data Analysis & Data Wrangling

Acquire deep proficiency in manipulating, cleaning, and visualising tabular data using Pandas, Polars, and visualization libraries.

  • Master dataframe manipulation with Pandas and Polars
    ~7hLearn1 resource

    Over 70% of practical data science involves cleaning and transforming inconsistent raw inputs.

    You'll learn

    • Pandas DataFrames — in-memory two-dimensional labeled tabular structures
    • Polars — lightning-fast columnar data frame library written in Rust utilizing lazy evaluation
    • Tidy Data Principles — standard tabular layout where each variable is a column and each observation is a row

    Learn fast data wrangling using Pandas and modern Polars. Master indexing, filtering, handling missing values, pivoting, merging, and reshaping messy tabular data.

    Done when: you transform a messy multi-file raw CSV dataset into a single tidy dataframe meeting predefined schema validation criteria.

    How to work through it

    1. Load and inspect diverse tabular formats (CSV, Parquet, JSON)
    2. Handle missing values using domain-appropriate imputation or deletion
    3. Perform grouping, aggregations, and reshaping via melt/pivot
    4. Benchmark operation runtimes between Pandas and Polars
  • Build informative visualisations with Seaborn and Plotly
    ~5hPractice1 resource

    Visualisation is essential both for diagnostic exploration and for making findings legible to stakeholders.

    You'll learn

    • Grammar of Graphics — principled framework for mapping data features to geometric visual aesthetic attributes
    • Plotly Express — high-level declarative interactive graphing library
    • Information Density & Chart Junk — visual design concepts ensuring maximum insight with minimal distraction

    Construct publication-ready static and interactive data visualisations. Apply design principles to communicate distributions, correlations, time series, and categorical segmentations effectively.

    Done when: you build an interactive multi-panel dashboard plot using Plotly displaying distributions, scatter correlations with trendlines, and categorical breakdowns.

    How to work through it

    1. Plot univariate distributions using histograms, KDEs, and boxplots
    2. Visualise bivariate relationships with scatter plots, pairplots, and heatmaps
    3. Add interactive hover tooltips and dynamic selectors using Plotly
    4. Apply clean theme formatting, readable axes labels, and color-blind accessible palettes
  • Deliver an end-to-end Exploratory Data Analysis report
    ~8hBuild

    This serves as tangible portfolio evidence of your analytical curiosity and data wrangling capabilities.

    You'll learn

    • Jupyter Notebooks — interactive computational environment combining code, equations, and narrative text
    • Data Profiling — automated statistical inspection of data quality, null distributions, and cardinality
    • Outlier Detection — identifying anomalies using IQR, Z-scores, and domain boundaries

    Perform an end-to-end exploratory analysis on an open real-world dataset (such as housing transactions or census data). Document hypotheses, uncover anomalies, test edge-case patterns, and produce a fully annotated Jupyter notebook with an executive summary.

    Done when: you complete an annotated EDA notebook that identifies at least three non-obvious data insights and includes reproducible automated cleaning functions.

    How to work through it

    1. Select an authentic, messy open dataset
    2. Perform comprehensive data quality checks (outliers, skewness, missingness)
    3. Generate diagnostic visualizations with markdown explanations of findings
    4. Draft a concluding 1-page executive memo summarizing actionable business takeaways
4

Applied Linear Algebra & Calculus for Machine Learning

Develop the mathematical intuition and numerical programming skills underlying machine learning optimisation and transformations.

  • Implement vector and matrix operations with NumPy
    ~6hLearn1 resource

    Vectorisation makes algorithms computationally tractable and forms the foundation of all ML frameworks.

    You'll learn

    • NumPy ndarray — multidimensional array data structure supporting vectorised operations in C
    • Broadcasting — automatic element-wise alignment of arrays with differing but compatible shapes
    • Vector Norms (L1, L2) — geometric measures of vector magnitude and distance

    Learn vectors, matrices, dot products, matrix multiplications, norms, and broadcasting rules. Implement these mathematical operations in vectorised NumPy code.

    Done when: you write pure NumPy code computing vectorised cosine similarities, matrix transformations, and Euclidean distance matrices without native Python loops.

    How to work through it

    1. Study geometric interpretations of vectors, matrices, and linear combinations
    2. Perform array manipulation, slicing, and broadcasting with NumPy
    3. Implement matrix multiplication and dot products manually and via np.dot/@
    4. Benchmark loop-based Python against vectorised NumPy arrays
  • Master Matrix Decompositions and Dimensionality Reduction
    ~6hLearn

    High-dimensional data in modern data science must be compressed, projected, and decorrelated.

    You'll learn

    • Eigenvectors & Eigenvalues — vectors whose direction remains unchanged during a linear transformation, scaled by the eigenvalue
    • Principal Component Analysis (PCA) — orthogonal linear transformation finding directions of maximum variance
    • Singular Value Decomposition (SVD) — factorisation of a real matrix into singular vectors and singular values

    Study eigenvalues, eigenvectors, Singular Value Decomposition (SVD), and Principal Component Analysis (PCA). Understand how projection reduces feature dimensionality while preserving variance.

    Done when: you build a PCA algorithm from scratch in NumPy using covariance matrices and eigendecomposition, verifying results against scikit-learn.

    How to work through it

    1. Calculate covariance matrices from tabular features
    2. Compute eigenvalues and eigenvectors using np.linalg.eig
    3. Project data onto principal component vectors
    4. Compare explained variance ratios against scikit-learn's PCA
  • Implement Gradient Descent optimization from scratch
    ~5hBuild1 resource

    Virtually every machine learning and deep learning algorithm relies on numerical gradient-based optimisation.

    You'll learn

    • Loss Functions — mathematical representations of prediction error to be minimised
    • Gradients — vectors of partial derivatives pointing in the direction of steepest function ascent
    • Learning Rate — step-size hyperparameter controlling numerical convergence speed in optimisation

    Understand derivatives, partial derivatives, the gradient vector, and the chain rule. Code gradient descent from scratch to minimise a convex cost function.

    Done when: your scratch gradient descent implementation successfully converges to the optimal weights of a multi-variable linear regression function within a predefined error tolerance.

    How to work through it

    1. Review limits, derivatives, partial derivatives, and gradients
    2. Formulate the Mean Squared Error (MSE) loss function and its partial derivatives
    3. Write an iterative loop updating parameter weights via gradient steps
    4. Plot the loss convergence curve across training epochs
5

Probability & Inferential Statistics

Build rigorous statistical thinking to quantify uncertainty, evaluate distributions, and test empirical hypotheses.

  • Master Probability Distributions and Random Variables
    ~6hLearn1 resource

    Data scientists must model random processes accurately to avoid drawing misleading conclusions.

    You'll learn

    • Central Limit Theorem (CLT) — theorem stating that sample means approach a normal distribution as sample size grows
    • Probability Density Function (PDF) — function describing the relative likelihood of a continuous random variable
    • Expected Value & Variance — fundamental measures of central tendency and dispersion for random variables

    Study discrete and continuous probability distributions (Binomial, Poisson, Uniform, Normal, Exponential, Student's t). Learn Expectation, Variance, the Law of Large Numbers, and the Central Limit Theorem.

    Done when: you write a Monte Carlo simulation script verifying the Central Limit Theorem across non-normal source distributions with diagnostic plots.

    How to work through it

    1. Model probability density (PDF) and cumulative distribution functions (CDF) using scipy.stats
    2. Simulate sampling distributions using random number generators
    3. Verify the Central Limit Theorem empirically through repeated sampling
    4. Evaluate skewness, kurtosis, and distribution fits on real datasets
  • Perform Classical Hypothesis Testing and Confidence Intervals
    ~6hPractice

    You must be able to prove whether an observed empirical effect is statistically distinguishable from noise.

    You'll learn

    • p-value — probability of observing data at least as extreme as the actual result, assuming the null hypothesis is true
    • Type I and Type II Errors — false positive (alpha) vs false negative (beta) statistical decisions
    • Statistical Power (1 - beta) — probability that a test correctly rejects a false null hypothesis

    Understand null and alternative hypotheses, Type I / Type II errors, p-values, t-tests, Chi-square tests, and ANOVA. Compute and interpret confidence intervals accurately.

    Done when: you conduct two-sample t-tests and Chi-square contingency tests on a dataset in SciPy, writing a short technical report defending the conclusions against common misinterpretations of p-values.

    How to work through it

    1. Formulate null ($H_0$) and alternative ($H_1$) hypotheses clearly
    2. Run independent and paired Student's t-tests using scipy.stats
    3. Execute Chi-square tests of independence on categorical cross-tabs
    4. Construct 95% confidence intervals using standard errors and t-critical values
  • Implement Resampling Methods: Bootstrapping and Permutation Tests
    ~5hBuild

    Real data frequently violates standard normality assumptions; resampling methods provide robust inference.

    You'll learn

    • Bootstrapping — statistical method estimating sample properties by repeated sampling with replacement
    • Permutation Testing — non-parametric significance test constructing null distributions by shuffling group labels
    • Non-parametric Statistics — methods that do not rely on assumptions that data belong to any specific parametric family

    Learn non-parametric inference techniques including empirical bootstrap confidence intervals and permutation tests for hypothesis validation when distribution assumptions fail.

    Done when: you build a modular Python function that computes bootstrap confidence intervals and permutation test p-values for custom non-standard summary metrics (e.g., median ratio).

    How to work through it

    1. Write empirical resampling functions with replacement for bootstrapping
    2. Generate empirical confidence intervals for medians and trimmed means
    3. Implement label permutation loops to construct empirical null distributions
    4. Compare bootstrap confidence intervals against standard analytical formulas
6

Classical Machine Learning & Feature Engineering

Master core supervised and unsupervised algorithms, validation strategies, and preprocessing pipelines using Scikit-Learn.

  • Build modular data preprocessing and feature engineering pipelines
    ~6hLearn1 resource

    Preventing data leakage during feature preprocessing is the single most critical practical skill in applied ML.

    You'll learn

    • Data Leakage — sharing information between training and holdout datasets that produces falsely optimistic metrics
    • Target Encoding — encoding categorical features with the mean of the target variable using cross-validation smoothing
    • Scikit-Learn Pipeline — composite estimator encapsulating preprocessing steps and models into an atomic unit

    Implement robust feature engineering using Scikit-Learn pipelines and ColumnTransformers. Handle numeric scaling, categorical encoding (One-Hot, Target), feature interactions, and out-of-fold transformations without data leakage.

    Done when: you construct a reusable Pipeline object that cleanly transforms raw mixed-type data and integrates with cross-validation without lookahead bias.

    How to work through it

    1. Build transformers using FunctionTransformer and BaseEstimator
    2. Combine heterogeneous column transformations with ColumnTransformer
    3. Address multicollinearity using Variance Inflation Factors (VIF)
    4. Chain preprocessing and estimators within a unified sklearn.pipeline.Pipeline
  • Train and evaluate linear models and regularisation
    ~6hPractice

    Linear and logistic models provide interpretable, highly effective baselines required in regulated industries.

    You'll learn

    • Bias-Variance Tradeoff — balancing underfitting error from simple assumptions against overfitting error from sensitivity to noise
    • L1 (Lasso) vs L2 (Ridge) Regularisation — penalty terms driving coefficients strictly to zero (L1) or shrinking them smoothly (L2)
    • ROC-AUC & PR-AUC — threshold-agnostic evaluation curves for binary classification performance

    Master Linear Regression, Logistic Regression, Ridge (L2), Lasso (L1), and ElasticNet. Understand the bias-variance tradeoff, loss functions, and coefficient shrinkage mechanics.

    Done when: you train regularised models on a high-dimensional dataset, tune alpha hyperparameters with K-Fold cross-validation, and interpret the resulting non-zero coefficients.

    How to work through it

    1. Fit Linear and Logistic Regression models on transformed tabular data
    2. Apply Ridge and Lasso regularisation penalties to control overfitting
    3. Tune regularisation strength using RidgeCV and LogisticRegressionCV
    4. Evaluate classification metrics: Precision, Recall, F1, ROC-AUC, and PR-AUC
  • Apply Tree-based models and Unsupervised Clustering
    ~6hPractice

    Unsupervised clustering enables exploratory customer segmentation and anomaly detection across large feature spaces.

    You'll learn

    • Ensemble Learning (Bagging) — training multiple models independently on bootstrap samples and averaging their predictions
    • Gini Impurity & Information Gain — splitting criteria used to find optimal partitions in decision trees
    • Silhouette Coefficient — measure of how similar an object is to its own cluster compared to other clusters

    Implement Decision Trees, Random Forests, and unsupervised algorithms (K-Means, Hierarchical Clustering, DBSCAN). Evaluate cluster quality using silhouette scores.

    Done when: you segment an unlabeled customer dataset using K-Means/DBSCAN, determine optimal cluster counts using the elbow/silhouette methods, and profile the resulting segments.

    How to work through it

    1. Train Decision Trees and visualize decision boundaries
    2. Construct Random Forest ensembles and measure feature importances
    3. Run K-Means clustering and compute inertia across k-values
    4. Evaluate clustering density and noise separation using DBSCAN and Silhouette scores
  • Deliver an end-to-end Predictive ML Model Pipeline
    ~8hBuild

    Demonstrates full competence in classical predictive modeling from raw inputs to verified model artifacts.

    You'll learn

    • Nested Cross-Validation — model selection technique preventing optimistic hyperparameter tuning bias
    • Optuna — automated hyperparameter optimization framework using Bayesian sampling
    • Joblib serialization — fast persistence of Python objects and Scikit-Learn pipelines to disk

    Take an open competitive tabular dataset, set up a strict nested cross-validation strategy, engineer novel domain features, train multiple baseline models, and output a validated predictive model artifact with detailed error analysis.

    Done when: you produce a reproducible repository containing training scripts, cross-validation performance benchmarks, residual diagnostics, and a serialized joblib model file.

    How to work through it

    1. Structure a clean repository with data, src, and notebook directories
    2. Implement Stratified K-Fold cross-validation
    3. Perform systematic hyperparameter tuning using Optuna or GridSearchCV
    4. Serialize final trained pipeline using joblib and document performance on holdout data
7

Causal Inference & Experimental Design (A/B Testing)

Master experimental design, statistical sample sizing, online A/B testing, and observational causal inference techniques.

  • Design and analyze online Controlled Experiments (A/B Tests)
    ~6hLearn1 resource

    A/B testing is the standard empirical mechanism tech companies use to validate product and business decisions.

    You'll learn

    • Minimum Detectable Effect (MDE) — smallest relative shift in a metric an experiment is powered to detect
    • CUPED (Controlled-experiment Using Pre-Experiment Data) — variance reduction technique using pre-experiment covariates to increase sensitivity
    • Sample Ratio Mismatch (SRM) — diagnostic test detecting sample allocation bugs in online experiments

    Learn the end-to-end lifecycle of an A/B test: minimum detectable effect (MDE), power calculation, sample sizing, randomization unit selection, novelty effects, and variance reduction techniques (CUPED).

    Done when: you compute required sample sizes for a conversion rate test, simulate synthetic user event data, and evaluate significance using two-proportion z-tests and CUPED variance reduction.

    How to work through it

    1. Calculate sample size requirements using alpha, statistical power, and MDE
    2. Implement user-level hashing for consistent experimental bucket assignment
    3. Run variance reduction on pre-experiment continuous metrics using CUPED
    4. Check for Sample Ratio Mismatch (SRM) using Chi-square goodness-of-fit
  • Apply Observational Causal Inference: Propensity Scores and DiD
    ~7hApply1 resource

    Data scientists must distinguish correlation from causation when working with historical, non-randomised business data.

    You'll learn

    • Confounding Variable — variable that influences both the dependent and independent variables, causing a spurious association
    • Propensity Score Matching (PSM) — statistical matching technique attempting to estimate causal treatment effects by balancing covariates
    • Difference-in-Differences (DiD) — quasi-experimental design comparing before-after changes in treatment vs control groups

    When randomised experiments are impossible, apply quasi-experimental methods to estimate causal effects: Propensity Score Matching (PSM), Difference-in-Differences (DiD), and Instrumental Variables.

    Done when: you apply Difference-in-Differences and Propensity Score Weighting on an observational policy/business dataset in Python, testing the parallel trends assumption.

    How to work through it

    1. Study Directed Acyclic Graphs (DAGs) and confounding bias
    2. Estimate propensity scores using logistic regression and perform IPW weighting
    3. Implement Difference-in-Differences regression interaction models
    4. Conduct placebo tests to evaluate parallel pre-trends validity
8

Advanced Machine Learning & Tree Ensembles

Master production-grade gradient boosting architectures, hyperparameter optimization, and modern model explainability frameworks.

  • Master Gradient Boosting with XGBoost and LightGBM
    ~7hLearn1 resource

    Gradient boosted decision trees represent the empirical state-of-the-art for tabular data in industry.

    You'll learn

    • Gradient Boosting — iterative ensemble technique where each new model predicts the negative gradient of the loss function
    • LightGBM — fast gradient boosting framework using histogram-based binning and leaf-wise tree growth
    • Class Imbalance Techniques — strategies (cost-sensitive learning, threshold moving) for heavily skewed target distributions

    Deeply understand the mathematics of gradient boosting (residuals, leaf weights, shrinkage, tree structure penalties). Implement and tune XGBoost, LightGBM, and CatBoost models on complex, imbalanced datasets.

    Done when: you benchmark LightGBM against Random Forest on a heavily class-imbalanced tabular dataset, optimizing PR-AUC via focal/custom loss functions.

    How to work through it

    1. Study the mathematical derivation of gradient boosting and second-order Taylor approximations
    2. Implement LightGBM and XGBoost classifiers with native categorical support
    3. Handle class imbalance using class weights, SMOTE, or scale_pos_weight
    4. Tune learning rates, subsampling, and tree depth using Optuna
  • Implement Model Interpretability and Explainability with SHAP
    ~5hPractice1 resource

    High-stakes data science roles require clear causal and attribution explanations of model predictions for risk and compliance.

    You'll learn

    • Shapley Values — method from coalitional game theory allocating payout fairly among contributing features
    • SHAP (SHapley Additive exPlanations) — unified framework interpreting predictions by computing marginal feature contributions
    • Global vs Local Interpretability — explaining overall model behavior across a dataset vs explaining a single specific prediction

    Learn cooperative game theory foundations (Shapley values) and apply the SHAP (SHapley Additive exPlanations) library to explain complex black-box model decisions at global and local levels.

    Done when: you produce a complete interpretability report including SHAP summary plots, dependence plots, and local force plots explaining individual outlier predictions.

    How to work through it

    1. Study the axiomatic properties of Shapley values from game theory
    2. Compute TreeSHAP explanations on a trained LightGBM model
    3. Generate global feature importance summary plots and interaction plots
    4. Build local prediction breakdown water-fall plots for individual customer cases
  • Build a Fraud Detection Engine with Anomaly Detection
    ~8hBuild

    Combines advanced classification, cost-sensitive decision boundaries, and probability calibration into a portfolio project.

    You'll learn

    • Isolation Forest — unsupervised tree algorithm isolating anomalies based on short path lengths
    • Probability Calibration — adjusting model output scores to match empirical real-world probabilities
    • Cost-Benefit Utility Analysis — mapping classification thresholds directly to financial dollar returns instead of raw accuracy

    Build an end-to-end fraud/anomaly detection pipeline combining unsupervised anomaly scoring (Isolation Forest) with a tuned LightGBM classifier, producing calibrated prediction probabilities.

    Done when: your pipeline outputs calibrated probability estimates evaluated via Brier score and Cost-Benefit matrix simulation.

    How to work through it

    1. Engineer temporal aggregation and velocity features from transaction streams
    2. Fit an Isolation Forest to score unlabeled anomalies
    3. Train a cost-sensitive LightGBM classifier incorporating anomaly features
    4. Apply Platt Scaling or Isotonic Regression for probability calibration
9

Deep Learning Foundations & Modern NLP

Learn deep learning architectures with PyTorch and master modern Natural Language Processing using Transformer embeddings and LLMs.

  • Build Neural Networks from Scratch with PyTorch
    ~7hLearn1 resource

    PyTorch is the standard deep learning framework in both modern industry and AI research.

    You'll learn

    • Computational Graph — directed graph expressing mathematical operations and tracking gradients during backpropagation
    • torch.nn.Module — base class for all neural network modules in PyTorch
    • Stochastic Gradient Descent (SGD) & Adam — adaptive learning rate optimisation algorithms for neural networks

    Understand artificial neural networks, activation functions, backpropagation, and autograd. Build Multi-Layer Perceptrons (MLPs) using PyTorch tensors, datasets, dataloaders, and training loops.

    Done when: you build and train a custom PyTorch neural network classifying unstructured/tabular inputs, visualizing training loss and validation accuracy curves.

    How to work through it

    1. Understand forward passes, computational graphs, and backward passes (Autograd)
    2. Build custom Dataset and DataLoader classes in PyTorch
    3. Define neural network architectures subclassing torch.nn.Module
    4. Write modular training and evaluation loops including optimizer steps and loss tracking
  • Extract Text Features with Transformers and Hugging Face
    ~6hPractice1 resource

    Modern data science workflows increasingly process unstructured text, reviews, and internal documents.

    You'll learn

    • Self-Attention Mechanism — architectural layer computing dynamic relationship weights between all tokens in a sequence
    • Sentence Transformers — fine-tuned transformer networks mapping variable-length text into dense semantic vector spaces
    • Vector Embeddings & FAISS — high-dimensional numerical representations and library for fast approximate nearest neighbour search

    Understand the Self-Attention mechanism and Transformer architecture. Use the Hugging Face library to generate dense text embeddings, perform sentiment classification, and semantic search.

    Done when: you use a pretrained sentence-transformer to generate dense vector embeddings of a text corpus and construct a fast vector similarity search index using FAISS or ChromaDB.

    How to work through it

    1. Study the self-attention mechanism and transformer encoder/decoder layouts
    2. Tokenize text datasets using Hugging Face AutoTokenizer
    3. Extract sentence embeddings using modern Pretrained Sentence Transformers
    4. Build a similarity search index over embeddings using FAISS or cosine distance
  • Build a Retrieval-Augmented Generation (RAG) System
    ~8hBuild

    Combines modern unstructured data processing, vector indexing, and generative AI into an applied project.

    You'll learn

    • Retrieval-Augmented Generation (RAG) — framework combining external document retrieval with LLM generation to reduce hallucinations
    • Chunking Strategies — methods for splitting text into semantically cohesive passages while preserving context
    • Hallucination Mitigation — prompt engineering and grounding techniques ensuring outputs cite source documents accurately

    Construct a complete Retrieval-Augmented Generation (RAG) pipeline that ingests domain-specific documents, splits and embeds text, retrieves relevant context chunks, and synthesises accurate answers with an LLM API.

    Done when: you deliver a working Python script that queries custom documentation, retrieves grounded contexts, and returns factual citations evaluated against hallucination checks.

    How to work through it

    1. Chunk and preprocess a domain-specific text dataset (e.g., financial filings)
    2. Store and index embedded chunks in a local vector database
    3. Implement similarity retrieval and re-ranking for user queries
    4. Pass retrieved contexts into an LLM prompt and test retrieval accuracy
10

Production Data Systems, Pipelines & Deployment

Transition from experimental notebooks to production-grade software: Docker containers, REST APIs, CI/CD, and orchestration.

  • Build REST APIs for Model Inference using FastAPI
    ~6hLearn1 resource

    Data science models provide business value only when accessible by production applications.

    You'll learn

    • FastAPI — modern, high-performance web framework for building APIs with Python
    • Pydantic — data validation and settings management using Python type annotations
    • Model Inference Latency — time taken to receive data, preprocess, score, and return a prediction

    Package trained machine learning models into robust, low-latency REST APIs using FastAPI and Pydantic for input data schema validation.

    Done when: your FastAPI web server validates incoming JSON requests, executes model inference via a pickled pipeline, and returns predictions and latency metrics.

    How to work through it

    1. Define input/output data schemas using Pydantic models
    2. Write asynchronous endpoints handling GET and POST requests in FastAPI
    3. Load ML model pipelines into memory during application startup
    4. Test endpoints locally using automated Swagger documentation and pytest
  • Containerise ML Services using Docker and Git CI/CD
    ~6hPractice1 resource

    Containerisation guarantees that models run identically across local development, staging, and production cloud clusters.

    You'll learn

    • Docker & Containers — lightweight standalone executable packages containing everything needed to run an application
    • GitHub Actions — automated continuous integration and continuous delivery (CI/CD) platform
    • Image Layer Optimization — structuring Dockerfile commands to leverage build caching and minimise image size

    Write clean Dockerfiles to package Python applications, environment dependencies, and model weights into reproducible containers. Set up automated testing with GitHub Actions.

    Done when: you push code to GitHub that automatically triggers a GitHub Actions pipeline running pytest and builds a working Docker image locally.

    How to work through it

    1. Write optimized multi-stage Dockerfiles for Python applications
    2. Build, tag, and run Docker containers locally with port binding
    3. Configure GitHub Actions workflows (.github/workflows/ci.yml) to run tests automatically on push
    4. Verify that the containerised inference API passes automated health checks
  • Orchestrate automated data pipelines with Prefect or Airflow
    ~7hBuild

    Production models require reliable upstream automated data extraction and transformation jobs.

    You'll learn

    • Workflow Orchestrator — system managing complex computational graphs, task dependencies, schedules, and failure alerts
    • Data Lineage — audit trail tracking how data flows and transforms from raw ingestion to reporting
    • Idempotency — property of an operation whereby it produces the exact same result even if executed multiple times

    Learn workflow orchestration principles: Directed Acyclic Graphs (DAGs), task dependencies, automated retries, scheduling, and data lineage monitoring using Prefect or Apache Airflow.

    Done when: you build a multi-task pipeline scheduled to run daily that extracts raw data from an API, validates quality, updates database records, and logs pipeline telemetry.

    How to work through it

    1. Define tasks and workflows using Prefect decorators (@task, @flow)
    2. Implement task retries, error notifications, and state change handlers
    3. Run automated data quality checks during execution using Great Expectations or Pydantic
    4. Schedule pipeline runs and inspect execution logs through the UI
11

Data Storytelling, Communication & Executive Presentation

Develop the business translation, communication, and visual synthesis skills necessary to make data conclusions drive executive action.

  • Translate technical model metrics into business financial impact
    ~5hLearn

    Executives approve data science initiatives based on financial value and risk reduction, not algorithmic sophistication.

    You'll learn

    • Minto Pyramid Principle — top-down communication structure stating conclusions first followed by supporting arguments
    • Expected Monetary Value (EMV) — statistical calculation weighting financial outcomes by their probabilities
    • Executive Memo — concise business document focused on actionable decisions and risk analysis

    Learn to translate statistical metrics (Precision, Recall, ROC-AUC, RMSE) into business KPIs (revenue gained, operational cost avoided, customer churn reduced).

    Done when: you produce a 2-page decision memo evaluating a predictive model that translates false positive/negative tradeoffs directly into net dollar ROI forecasts under three business scenarios.

    How to work through it

    1. Map confusion matrix outcomes to concrete financial unit economics
    2. Calculate expected monetary value across decision thresholds
    3. Model uncertainty and sensitivity scenarios (Best, Base, Worst case)
    4. Draft a structured executive decision memo using the Minto Pyramid Principle
  • Deliver an executive presentation and technical deep-dive deck
    ~5hApply

    The ability to present compellingly to diverse audiences is what separates elite data scientists from pure technicians.

    You'll learn

    • Slide Takeaway Titles — framing slide headings as complete takeaway assertions rather than passive categories
    • Visual Hierarchy — arranging chart elements to guide the viewer's eye to the key insight immediately
    • Audience Calibration — tailoring technical depth appropriately between C-suite and engineering stakeholders

    Create a dual-tier presentation deck: an executive section (5 slides focused on recommendations and impact) and a technical appendix (detailing validation, causal validity, and system architecture).

    Done when: you deliver a recorded 10-minute presentation walking through the business problem, key insights, model justification, and strategic recommendations.

    How to work through it

    1. Select an existing completed project from your portfolio
    2. Structure slides using clear takeaway titles rather than topic headers
    3. Design decluttered visual charts highlighting strategic conclusions
    4. Record a 10-minute presentation simulating an executive briefing
12

Technical Portfolio, Interview Readiness & Career Navigation

Synthesise your work into a public technical portfolio, prepare for rigorous data science technical interviews, and understand industry hiring tracks.

  • Publish a curated GitHub portfolio with clean documentation
    ~7hBuild1 resource

    Your public code repository is the primary evidence technical hiring teams inspect during evaluation.

    You'll learn

    • Cookiecutter Data Science — standard, structured directory layout for reproducible data science projects
    • Technical Documentation — clear, professional exposition of project goals, constraints, and architecture in markdown
    • Portfolio Curation — presenting a focused set of high-quality projects rather than dozens of unmaintained tutorials

    Organise your top 3 projects into clean, public GitHub repositories featuring comprehensive READMEs, architectural diagrams, reproducible instructions, and live deployment links.

    Done when: you have three public repositories that each include a problem overview, architecture diagram, instructions to reproduce results locally in Docker, and a live API/dashboard demo.

    How to work through it

    1. Standardize project layouts using Cookiecutter Data Science standards
    2. Write detailed READMEs with badges, architecture diagrams, and impact summaries
    3. Ensure all virtual environments and Dockerfiles reproduce dependencies cleanly
    4. Deploy at least one interactive demo to a free cloud tier (e.g., Streamlit Community Cloud or HuggingFace Spaces)
  • Drill SQL, Python data structures, and statistics interview questions
    ~10hPractice1 resource

    Technical screening rounds require speed and fluency in SQL and live problem solving.

    You'll learn

    • Technical Coding Screening — timed live coding tests assessing fluency in SQL, Python, and data manipulation
    • Machine Learning Concept Defense — articulating trade-offs and mathematical justifications clearly under pressure
    • Case Study Frameworks — structured methods for breaking down ambiguous business problems into analytical steps

    Practice technical interview problems covering live SQL coding, algorithmic Python data wrangling, and core statistical/ML theoretical questions.

    Done when: you complete 25 timed SQL challenges (medium/hard) and 20 conceptual ML/statistics interview scenarios under timed test conditions.

    How to work through it

    1. Practice SQL aggregation and window functions on LeetCode / StrataScratch
    2. Practice array/string data manipulation problems in Python
    3. Conduct mock reviews explaining bias-variance, regularisation, and hypothesis testing out loud
    4. Review common experimental design and metric definition case questions
  • Complete a simulated end-to-end Data Science Take-Home Assessment
    ~10hApply

    Take-home assessments are a standard hiring milestone; practicing under simulated constraints ensures readiness.

    You'll learn

    • Take-Home Assessment Strategy — allocating time effectively across data cleaning, modeling, and communication
    • Code Review Standards — formatting code according to PEP8, modular structure, and automated testing
    • Trade-off Documentation — clearly explaining what was prioritised and what would be done with more time

    Complete a timed, 48-hour take-home assignment on an unseen dataset: ingest data, perform exploratory analysis, train and validate models, formulate business recommendations, and deliver production-ready code alongside a presentation.

    Done when: you produce a complete take-home submission package including a runnable codebase, test suite, executive memo, and slide deck within a self-imposed 48-hour window.

    How to work through it

    1. Download an unfamiliar complex open dataset and problem prompt
    2. Time-box execution to replicate realistic take-home deadlines
    3. Perform cleaning, modeling, and validation following strict modular standards
    4. Assemble the final deliverables: code repository, executive PDF memo, and brief slide deck

How the plan fits together

12 phases in 6 stages. Anything on the same row can be worked on at the same time, and 2 of them can start straight away.

An arrow points from a phase to the work it unlocks: before starting any phase, every phase with an arrow into it has to be finished first.

STARTSTAGE 2STAGE 3STAGE 4STAGE 5STAGE 61Python Programming & CoreSoftware Fundamentals4 tasks · ~20h2Relational Databases & SQLfor Data Extraction3 tasks · ~15h3Exploratory Data Analysis& Data Wrangling3 tasks · ~20h4Applied Linear Algebra &Calculus for MachineLearning3 tasks · ~17h5Probability & InferentialStatistics3 tasks · ~17h6Classical Machine Learning& Feature Engineering4 tasks · ~26h7Causal Inference &Experimental Design (A/BTesting)2 tasks · ~13h8Advanced Machine Learning& Tree Ensembles3 tasks · ~20h9Deep Learning Foundations& Modern NLP3 tasks · ~21h10Production Data Systems,Pipelines & Deployment3 tasks · ~19h11Data Storytelling,Communication & ExecutivePresentation2 tasks · ~10h12Technical Portfolio,Interview Readiness &Career Navigation3 tasks · ~27h
Solid arrow
Must be finished before the phase it points to
Dashed arrow
Same rule, but the prerequisite sits more than one stage back

Resources

12 in this plan's library, beyond the links on individual tasks.

Curated Courses, Books & Core Documentat

Authoritative textbooks, documentation, and foundational reference material.

  • Causal Inference for the Brave and True

    A practitioner-focused guide to econometrics, A/B testing, and quasi-experimental methods implemented in Python.

    matheusfacure.github.io · Matheus Facure · Book (Open Access) · Free online · Intermediate

  • Full Stack Deep Learning: Production Machine Learning Courses

    Comprehensive guide on deploying models, building robust data pipelines, monitoring drift, and CI/CD for machine learning.

    fullstackdeeplearning.com · Full Stack Deep Learning · Course · Free · Advanced

  • Mathematics for Machine Learning

    Bridges mathematical theory in linear algebra, multivariable calculus, and vector calculus with machine learning concepts.

    mml-book.github.io · Cambridge University Press · Book (Open Access) · Free PDF online · Intermediate

  • Mode Analytics SQL Tutorial

    Covers foundational to advanced analytical SQL, window functions, and data wrangling directly in a browser environment.

    mode.com · Mode · Interactive Tutorial · Free · Beginner to Intermediate

  • Practical Deep Learning for Coders

    Top-down course teaching deep learning architectures, transfer learning, and transformer models with PyTorch.

    course.fast.ai · fast.ai · Course · Free · Intermediate

  • Python for Data Analysis (3rd Edition)

    The definitive reference on data manipulation using Pandas, NumPy, and IPython written by Pandas creator Wes McKinney.

    wesmckinney.com · O'Reilly / Wes McKinney · Book (Open Access) · Free to read online · Beginner to Intermediate

  • Statistical Rethinking: A Bayesian Course with Examples in R and Stan / Python

    Teaches causal diagrams, probability theory, and Bayesian inference with intuitive explanations of uncertainty.

    xcelab.net · Richard McElreath · Lecture Series & Book · Free video lectures, book paid · Intermediate to Advanced

  • Storytelling with Data: A Data Visualization Guide for Business Professionals

    The foundational guide on visual hierarchy, reducing chart clutter, and translating complex data into actionable executive insights.

    Cole Nussbaumer Knaflic / Wiley · Book · ~£25-35 · Beginner to Intermediate

Open Source Tools & Frameworks

Core Python packages, computation engines, and deployment tooling.

  • Polars Documentation

    Fast multi-threaded DataFrame library designed for modern out-of-core and performant data wrangling pipelines.

    docs.pola.rs · Polars Community · Official Documentation · Free · Intermediate

  • Scikit-Learn Documentation and User Guide

    Industry-standard documentation covering machine learning algorithms, preprocessing, and model evaluation pipelines.

    scikit-learn.org · Scikit-Learn Maintainers · Official Documentation · Free · Intermediate

  • SHAP (SHapley Additive exPlanations) Documentation

    The canonical toolkit for explaining predictions from complex tree ensembles and modern ML models using game theory.

    shap.readthedocs.io · SHAP Community · Official Documentation · Free · Intermediate

Datasets, Practice Platforms & Portfolio

Repositories, competition platforms, and technical interview drill banks.

  • Kaggle Datasets and Competitions Platform

    Real-world tabular and unstructured datasets, community benchmark notebooks, and competitive machine learning tasks.

    kaggle.com · Google Kaggle · Practice Platform · Free · All Levels