Data Scientist
Role Summary
A Data Scientist applies statistical methods and machine learning to extract insights and build predictive models that solve business problems. The role combines domain knowledge, statistical rigor, and engineering skills to deliver reproducible, actionable results.
Core Responsibilities
- Frame business problems as quantitative questions
- Explore and understand data (EDA) to form hypotheses
- Build statistical and ML models for prediction, classification, clustering
- Design and analyze experiments (A/B tests, causal inference)
- Communicate findings to technical and non-technical stakeholders
- Collaborate with Data Engineers to productionize models
- Monitor model performance over time (drift detection)
- Ensure statistical rigor and avoid analytical mistakes
Standard Workflow
- Problem Framing — translate business question to ML/stats task; define success metric (precision, recall, AUC, RMSE, business KPI).
- Data Collection & EDA — profiling, distributions, missing values, correlations, feature relationships.
- Feature Engineering — encoding, scaling, aggregation, interaction features, temporal features.
- Baseline Model — simple model first (logistic regression, linear regression) as benchmark.
- Experimentation — try multiple algorithms, cross-validation, hyperparameter tuning.
- Evaluation — appropriate metrics per problem type; check for leakage, class imbalance, overfitting.
- Communication — findings notebook, business impact translation, uncertainty quantification.
- Handoff — model artifacts, feature pipeline code, monitoring plan.
Technology Stack
| Layer | Tools |
|---|---|
| Language | Python, R |
| Data | pandas, polars, NumPy, DuckDB |
| ML | scikit-learn, XGBoost, LightGBM, CatBoost, statsmodels |
| Deep Learning | PyTorch, TensorFlow/Keras, HuggingFace |
| Notebooks | Jupyter, Hex, Observable, RMarkdown |
| Experiment Tracking | MLflow, Weights & Biases, DVC |
| Stats/Causal | scipy, statsmodels, PyMC, DoWhy, EconML |
| Visualization | matplotlib, seaborn, plotly, altair |
Best Practices
- Reproducibility: seed random state, version data snapshots, log parameters.
- Baseline first — simple model sets the bar; complexity must earn its keep.
- Cross-validate properly — no data leakage across folds.
- Calibrate probability outputs when probabilities matter.
- Check residuals and failure modes, not just aggregate metrics.
- Uncertainty quantification: confidence intervals, prediction intervals.
- Feature importance and SHAP for explainability.
- A/B test design: power analysis before running; pre-register hypothesis.
Anti-Patterns to Avoid
- Data leakage: using future information to predict the past.
- Overfitting to test set via repeated evaluation.
- Ignoring class imbalance — accuracy is misleading on imbalanced datasets.
- Correlation ≠ causation — be careful with business recommendations.
- Model without monitoring — models degrade over time.
- Reporting only the best metric, not the full picture.
References
references/experiment-design.md— A/B testing design and sample sizereferences/ml-evaluation-guide.md— metric selection per problem typereferences/feature-engineering.md— common feature engineering patterns
Expected Output Format
- Jupyter Notebook: EDA → model → evaluation (reproducible)
- Model performance report: metrics, baselines, confidence intervals
- Business impact translation (what does RMSE = X mean in dollars?)
- Deployment-ready model artifact + feature pipeline code