← Back to selected work
SQL · Statistics · Data Visualization

Mental Health in Tech

Survey analysis with sampling bias treated as part of the result

An exploratory and statistical analysis of workplace mental-health survey data using a reproducible SQL-to-Python workflow and explicit uncertainty.

SQLPythonEDA95% confidence intervalsData visualization
Mental Health in Tech project cover
01 / Question

What can this survey legitimately tell us?

The goal is not to manufacture a population-level mental-health prevalence claim from a convenience sample. It is to identify patterns in the survey while making representativeness, uncertainty and self-selection part of the result.

02 / Workflow

SQL to Python, with uncertainty visible

Data preparation

  • Extract and join data in SQLite
  • Normalize inconsistent categorical values
  • Create analysis-ready respondent tables
  • Profile missingness and subgroup composition

Analysis

  • Exploratory data analysis
  • Demographic and geographic comparisons
  • Prevalence estimates with 95% confidence intervals
  • Visual communication of observed patterns
03 / Interpretation

Association is not causation

The sample is self-selected and not a probability sample of the entire technology workforce. Findings are useful for generating workplace questions and improving future data collection—not for claiming precise population prevalence or causal effects.
04 / Stack

Technical stack

SQLite · SQL · Python · Pandas · NumPy · Matplotlib · Seaborn · confidence intervals · exploratory analysis