Social Network Analysis and Network Economics

An interdisciplinary introduction to social and economic network theory and empirics, with hands-on Python/NetworkX sessions designed for students with no prior programming experience.

Term: Second Semester

Course Overview

Our everyday life is shaped by social and economic networks: the information we have access to, how we form opinions, the spread of disease, labour market outcomes, and even friendship formation. This course provides a rigorous yet accessible introduction to network theory, with a strong empirical component using Python and NetworkX. The course is designed by Prof. Nicolas Carayol.

This section is designed for students with no prior programming experience — the first lab session introduces Python from scratch before moving into network analysis.

Part I — Network Theory

  • Introduction and motivation
  • Random networks and small worlds
  • Degree distributions and preferential attachment
  • Clustering, community detection, and homophily
  • Centrality: Bonacich, Katz, PageRank

Part II — Network Data (Python / NetworkX)

  • Introduction to Python and basic network measures
  • Directed graphs and visualisation
  • Random and scale-free network generation
  • Community detection algorithms
  • Centrality measures and their interpretation

Prerequisites

No prerequisites required. No prior programming experience assumed — Python is introduced from scratch in the first lab session.

Assessment

Component Weight
Individual applied data work 40%
Mini project — data treatment 20%
Mini project — reasoning 20%
Mini project — presentation 20%

Students may work in pairs for the mini project.

My Role

In 2023, 2024, and 2025 I was teaching assistant, running the practical lab sessions for the main professeur: Pr. Nicolas Carayol. In 2026 I took on the role of main lecturer, delivering the full course independently and designing the practical sessions.

Key References

  1. Matthew O. Jackson (2019). The Human Network. Pantheon Books. ← most accessible
  2. Matthew O. Jackson (2008). Social and Economic Networks. Princeton University Press. ← main reference
  3. David Easley & Jon Kleinberg (2010). Networks, Crowds, and Markets. Cambridge University Press. Free PDF
  4. Mark E.J. Newman (2010). Networks: An Introduction. Oxford University Press.

Schedule

Week Date Topic Materials
1 Introduction — The Ubiquity of Social Networks

Examples of social and economic networks. Basic graph notation. Why networks matter for economics, sociology, and everyday life.

2 Small Worlds and Random Networks

The Milgram experiment. Poisson random networks. The small-world phenomenon.

3 Degree Distributions

Degree distributions in real-world networks. Preferential attachment and scale-free networks. The configuration model. The friendship paradox.

4 Clustering, Communities and Homophily

Clustering coefficients. Community detection. Small worlds à la Watts & Strogatz. Local search à la Kleinberg. Homophily.

5 Centrality and Influence

Centrality measures: Bonacich, Katz, Prestige, and PageRank. Economic interpretation and applications.

2 Lab 1 — Introduction to Python and Basic Network Measures

Python basics for students new to programming. First steps with NetworkX: importing data, creating graphs, computing basic measures (degree, density, diameter).

3 Lab 2 — Directed Graphs and Network Visualisation

Working with directed graphs in NetworkX. Creating meaningful and interpretable network visualisations.

4 Lab 3 — Random Networks, Scale-Free Networks and Degree Distributions

Generating Erdős–Rényi and Barabási–Albert networks. Analysing and visualising degree distributions.

5 Lab 4 — Clustering and Community Detection

Computing clustering coefficients. Applying community detection algorithms (Louvain, Girvan-Newman) in NetworkX.

6 Lab 5 — Network Centrality Measures

Computing and comparing centrality measures in NetworkX. Visualisation and economic interpretation of results.