Data Science Projects

Data science portfolios fail for one reason: projects that only demonstrate running sklearn on a clean Kaggle CSV. The projects below are scoped around the parts of the job that are actually hard — noisy data, business framing, statistical rigour, and deployable outputs. Each one is built to tell a story in an interview, not just fill a GitHub repo.

Beginner

3 projects

Exploratory Data Analysis with a Business Narrative

1 week
PythonpandasSeabornMatplotlibJupyter

Pick a messy real-world dataset — NYC taxi trips, airline delays, Airbnb listings, or 311 service requests — and produce a polished EDA notebook that answers a specific business question. The key constraint: you must frame every finding as a decision. Not "there are more rides on Friday" but "demand peaks between 5–8 pm Friday in Midtown; surge pricing or supply reallocation would address the 14% drop-off rate during that window."

Skills practised

data cleaningunivariate & bivariate analysisoutlier detectiondata storytellingMatplotlib/Seaborn

What it shows employers

Most junior candidates submit notebooks that describe data rather than interpret it. A business-framed EDA shows you understand that analysis exists to inform action — the skill that separates a useful analyst from someone who makes charts. Interviewers almost always ask "what would you recommend based on this?" — build the answer into the project.

Dataset

NYC TLC trip records (publicly available, millions of rows), Chicago 311 Service Requests, or Inside Airbnb data for any major city

Take it further

Convert the notebook into a short written report (PDF or HTML) with an executive summary at the top — practice communicating results to non-technical stakeholders.

Customer Churn Prediction with Feature Engineering

1–2 weeks
Pythonpandasscikit-learnXGBoostSHAPMatplotlib

Build a binary classifier that predicts which customers will churn in the next 30 days. The focus is feature engineering and evaluation — not just fitting a model. Handle class imbalance correctly (SMOTE, class_weight, or threshold tuning), compare at least three model families, and use SHAP to explain which features drive predictions. The Telco Customer Churn dataset is overused; prefer a messier source like the IBM Sample Data or build features from raw event logs.

Skills practised

classificationfeature engineeringclass imbalance handlingmodel comparisonROC-AUCSHAP

What it shows employers

Churn is one of the most common real DS problems. An interviewer who sees you correctly handle imbalanced classes, choose metrics beyond accuracy (precision-recall tradeoff at different business thresholds), and explain model decisions with SHAP knows you have thought about the business context — not just the model score.

Dataset

Telco Customer Churn (Kaggle), IBM HR Analytics Employee Attrition, or KKBox Music Platform churn dataset (Kaggle)

Take it further

Add a cost-sensitive threshold: calculate the break-even churn rate where outreach is worth the cost, then tune the classifier threshold to that break-even, and show the revenue impact in dollar terms.

House Price Regression — From Raw Features to Submission

1–2 weeks
Pythonpandasscikit-learnLightGBMOptunaMatplotlib

Work through the Ames Housing dataset end-to-end: handle 79 features including 19 categorical variables, ~15 columns with missing values, and highly skewed distributions. The goal is a production-quality preprocessing pipeline using sklearn Pipelines and ColumnTransformer — not ad hoc transformations that leak between train and test. Tune hyperparameters with Optuna. The pipeline itself is more valuable to show than the final score.

Skills practised

regressionfeature engineeringmissing value imputationcross-validationregularisationlog-transformation

What it shows employers

Pipeline construction with ColumnTransformer is the practical skill most DS candidates lack. A model wrapped in a proper sklearn Pipeline can be serialised, versioned, and deployed — a notebook-only solution cannot. This project lets you demonstrate that you think about code that works in production, not just in notebooks.

Dataset

Ames Housing dataset (Kaggle competition: House Prices — Advanced Regression Techniques)

Take it further

Wrap the trained pipeline in a FastAPI endpoint that accepts a JSON payload of house features and returns a price prediction with a confidence interval. Deploy to Fly.io or Render (free tier).

Intermediate

4 projects

A/B Test Analysis Engine

1–2 weeks
PythonscipystatsmodelsPyMCpandasPlotly

Build a reusable A/B test analysis module that handles the full lifecycle: pre-test power analysis (sample size calculator), frequentist analysis (t-test, chi-square, Mann-Whitney), Bonferroni and Benjamini-Hochberg corrections for multiple metrics, and a Bayesian alternative using PyMC for the same experiment. Apply it to a simulated e-commerce dataset — checkout flow variant test affecting conversion rate, average order value, and session duration simultaneously.

Skills practised

hypothesis testingpower analysismultiple comparisonseffect sizeBayesian A/B testingPython stats

What it shows employers

A/B testing is the single most-mentioned skill in DS job postings at tech companies and e-commerce firms. Candidates who know only "p < 0.05 = significant" get filtered out in DS interviews fast. This project shows you understand power, multiple comparisons, and the Bayesian alternative — the difference between someone who runs tests and someone who designs them correctly.

Dataset

Simulate from scratch using NumPy with known ground truth (recommended — it proves you understand the data-generating process) or use the E-Commerce AB Testing dataset on Kaggle

Take it further

Build a Streamlit dashboard where you input experiment parameters (baseline rate, MDE, alpha, power) and it outputs sample size requirements and live updates the analysis as you upload results CSV files.

Time Series Sales Forecasting with Multiple Models

2 weeks
PythonpandasstatsmodelsProphetPyTorchDartsMatplotlib

Forecast daily retail sales 28 days ahead using at least three model families: classical (SARIMA), statistical ML (Prophet), and deep learning (LSTM or N-BEATS via the Darts library). Use walk-forward validation — not a single train/test split — to avoid overfitting to seasonal patterns. Compare models on MAE, RMSE, and MAPE. Include a decomposition analysis (trend, seasonality, residuals) as an explainability layer for non-technical stakeholders.

Skills practised

time series decompositionstationarityARIMAProphetLSTMbacktestingforecast evaluation

What it shows employers

Time series forecasting comes up in almost every industry (retail demand, financial data, user growth). Candidates who only know Prophet are common. Showing you can implement walk-forward backtesting, understand why a single train/test split is invalid for time series, and compare model families systematically puts you in a different tier.

Dataset

M5 Forecasting Competition (Walmart sales, 3,049 products across 10 stores — Kaggle) or Rossman Store Sales dataset

Take it further

Add prediction intervals to all three models and evaluate their calibration (do 80% intervals contain the truth 80% of the time?) — forecast uncertainty is a key skill for production deployment.

NLP Sentiment & Topic Analysis Pipeline

2 weeks
PythonspaCyHuggingFace TransformersBERTopicscikit-learnStreamlit

Build a two-stage NLP pipeline: (1) fine-tune a DistilBERT model on a sentiment classification task (SST-2 or Amazon reviews) and compare it against a TF-IDF + logistic regression baseline to quantify the transformer uplift; (2) apply BERTopic to the same corpus to extract latent topics, then correlate topic prevalence with sentiment scores over time. Deploy a Streamlit UI where a user pastes text and sees sentiment + topic classification with confidence scores.

Skills practised

text preprocessingTF-IDFtransformer fine-tuningtopic modellingLDABERTopicevaluation metrics

What it shows employers

Most NLP portfolios stop at "I used VADER to get sentiment." Fine-tuning a transformer and comparing it rigorously against a baseline shows engineering judgement — you chose the right tool for the task. The topic modelling layer shows you can provide unsupervised insight without labelled data, a real requirement in many DS roles.

Dataset

Amazon Customer Reviews (electronics or books subset, Hugging Face datasets library) or Yelp Reviews Open Dataset

Take it further

Add aspect-based sentiment analysis using a span-extraction model — instead of "this review is negative," output "battery life: negative, camera: positive, price: neutral."

Customer Segmentation with RFM + Clustering

1–2 weeks
Pythonpandasscikit-learnPlotlyJupyter

Segment customers using RFM (Recency, Frequency, Monetary) features extracted from transactional data. Apply K-Means clustering with optimal k selection via elbow method and silhouette scores, then validate with hierarchical clustering. Use PCA for 2D visualisation. The critical deliverable is a business interpretation slide for each segment: who they are, what they spend, and what action the business should take (win-back campaign for churned high-value, upsell for frequent low-spend, etc.).

Skills practised

RFM analysisK-Meanshierarchical clusteringPCAsilhouette scorebusiness interpretation

What it shows employers

Unsupervised learning projects often fail in interviews because the candidate cannot explain what the clusters mean. This project forces business interpretation — the skill that converts a model result into a recommendation. It also shows you can frame a clustering problem correctly (scaling, feature selection, choosing k with evidence rather than intuition).

Dataset

UCI Online Retail II dataset (500k+ transactions from a UK retailer, 2009–2011) or Olist Brazilian E-Commerce dataset (Kaggle)

Take it further

Build a CLV (Customer Lifetime Value) model on top of the segmentation: use the BG-NBD model (via the lifetimes Python library) to predict expected purchases per customer and rank segments by projected 12-month revenue.

Advanced

2 projects

End-to-End ML Pipeline with MLflow Tracking

3–4 weeks
Pythonscikit-learnXGBoostMLflowDockerDVCGitHub Actions

Build a fully reproducible ML pipeline for a classification problem: version your data with DVC, track every experiment (parameters, metrics, artefacts) with MLflow, register the best model in the MLflow Model Registry, and deploy it via a Docker container with a FastAPI inference endpoint. Wire a GitHub Actions CI pipeline that reruns training on data changes and fails if the new model's ROC-AUC regresses below the registered baseline. Use Evidently for data drift monitoring on a held-out test set.

Skills practised

feature engineeringMLflowmodel registryhyperparameter trackingdata versioningCI/CD for MLcontainerisation

What it shows employers

This project covers the gap that data scientist job descriptions increasingly emphasise: production ML, not just notebook ML. Showing you can track experiments, version data, containerise a model, and gate deployment on quality metrics demonstrates you can own the full model lifecycle — a skill most DS candidates lack and most DS teams desperately need.

Dataset

Any Kaggle classification dataset you have already explored — the dataset is secondary; the pipeline engineering is the point

Take it further

Add an automated retraining trigger: when Evidently detects that feature distributions have drifted beyond a configured threshold, automatically retrain the model and open a GitHub PR with the new metrics for review before deployment.

Causal Inference Study — Estimating Real Business Impact

3–4 weeks
PythonDoWhyEconMLpandasstatsmodelsMatplotlib

Use the DoWhy and EconML libraries to estimate the causal effect of a treatment on an outcome — not just the correlation. Work through three estimators on the same dataset (propensity score matching, doubly-robust estimator, and meta-learner) and explain why they disagree. Run sensitivity analysis (Rosenbaum bounds, partial R²) to quantify how large an unobserved confounder would need to be to overturn your conclusion. Apply to a policy evaluation problem: minimum wage effect on employment, medication adherence on readmission, or marketing spend on conversion.

Skills practised

difference-in-differencespropensity score matchinginstrumental variablesregression discontinuitycausal graphsDoWhy

What it shows employers

Causal inference is the fastest-growing skill differentiator in DS hiring at tech companies, fintechs, and healthcare firms. Most DS candidates can build a predictive model; very few can correctly distinguish correlation from causation and quantify the uncertainty around a causal estimate. This project directly signals readiness for growth analytics, policy evaluation, and experimentation roles.

Dataset

LaLonde (1986) job training dataset (canonical causal inference benchmark), CPS earnings dataset, or simulate your own with known ground-truth treatment effects

Take it further

Apply the same causal framework to an observational dataset where you suspect confounding — write a short report framing your findings as a memo to a product or policy team, including the assumptions your estimates rely on and what additional data would sharpen the estimate.

Building a Data Science career?

See the full Data Scientist roadmap — skills, tools, salary data, and typical timelines.

View Roadmap →