Skip to content

durancoding/ess-research-series

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Internet Usage and Happiness Using the European Social Survey (ESS)

Python Jupyter Code License: MIT ESS Data: CC BY-NC-SA 4.0

Overview

This project investigates the relationship between internet usage frequency and self-reported happiness using data from the European Social Survey (ESS) Round 11.

The analysis is conducted in Python with JupyterLab and follows a transparent, reproducible research workflow: data inspection, cleaning, exploratory data analysis, statistical testing, and cautious interpretation.

Research Question

Is there a statistically significant relationship between internet usage frequency and self-reported happiness among ESS Round 11 respondents?

Dataset

  • European Social Survey (ESS) Round 11, edition 4.2
  • Cross-national survey data from Europe
  • Main variables:
    • netusoft: internet usage frequency
    • happy: self-reported happiness on a 0-10 scale

The raw ESS data file is not committed to version control. See data/README.md for download and placement instructions.

Data Usage

This repository does not redistribute the raw ESS data. The analysis is based on European Social Survey Round 11 data, which should be downloaded from the official ESS Data Portal. ESS data remain subject to the ESS conditions of use.

Data Reference

European Social Survey European Research Infrastructure (ESS ERIC) (2026). ESS11 - integrated file, edition 4.2 [Data set]. Sikt - Norwegian Agency for Shared Services in Education and Research. ESS Data Portal.

ESS data are used in accordance with the ESS conditions of use. ESS ERIC and Sikt are not responsible for the analysis or interpretation presented in this repository.

Licensing

  • Project code and original text not derived from ESS materials are licensed under the MIT License.
  • ESS data are licensed under CC BY-NC-SA 4.0 and are not redistributed by this repository.
  • Data-derived figures and notebook outputs are adapted from ESS Round 11, edition 4.2 and are shared under CC BY-NC-SA 4.0.
  • Attribution does not imply endorsement by ESS ERIC or Sikt.

Methods

  • Exploratory data analysis (EDA)
  • Descriptive statistics
  • Spearman rank correlation
  • Kruskal-Wallis H test
  • Kruskal-Wallis effect size
  • Exploratory OLS robustness model with demographic and country controls

Main Findings

  • The valid bivariate analysis sample contains 49,848 respondents.
  • Internet usage and happiness have a weak positive association (Spearman rho = 0.185).
  • Happiness distributions differ across the five internet-use groups (Kruskal-Wallis H = 1745.57, p < 0.001).
  • The group difference is small in substantive terms (epsilon-squared = 0.035).
  • Mean happiness rises from 6.46 among respondents who never use the internet to 7.54 among daily users.

Average happiness by internet usage frequency

Limitations

  • The analysis is cross-sectional and cannot establish causality.
  • Internet use and happiness are self-reported measures.
  • The main descriptive tests are unweighted; the controlled OLS model is exploratory.
  • Differences may partly reflect age, health, income, education, country, or other unobserved factors.

Technologies

  • Python
  • Pandas
  • NumPy
  • SciPy
  • Statsmodels
  • Matplotlib
  • Pyreadstat
  • JupyterLab

Installation

Clone the repository:

git clone https://github.com/durancoding/ess-research-series.git
cd ess-research-series

Install the required packages:

pip install -r requirements.txt

Launch JupyterLab:

jupyter lab

Then open:

notebooks/ess_analysis.ipynb

Download the ESS Round 11 SPSS file and place it at data/ESS11e04_2.sav before running all cells from top to bottom.

Regenerate all committed figures from the local data file:

python scripts/generate_figures.py

Run the same lightweight integrity checks used by GitHub Actions:

python scripts/validate_project.py

Repository Structure

data/
|-- README.md
figures/
|-- README.md
notebooks/
|-- ess_analysis.ipynb
scripts/
|-- generate_figures.py
`-- validate_project.py
.github/workflows/
`-- validate.yml
.gitignore
LICENSE
README.md
requirements.txt

Reproducibility

The committed notebook includes outputs for convenient review. Its four descriptive figures are embedded as notebook attachments so they render without external paths in GitHub and Jupyter previews. To reproduce the analysis, install the dependencies, add the locally downloaded ESS data file, restart the kernel, and run all cells in order. The figure-generation script uses the same valid-value rules as the notebook and writes the four final PNG files to figures/.

Author

Nurullah Duran

About

Research projects and data analysis using the European Social Survey (ESS) with Python, statistics, and machine learning.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages