Network Analysis

Introduction to the theory and empirical analysis of social and economic networks. Python/NetworkX course designed for students already familiar with programming.

Term: Second Semester

Course Overview

This course introduces the theory and empirical analysis of social and economic networks, at the crossroads of economics, sociology, mathematics, and computer science. The course is designed by Prof. Nicolas Carayol.

Part I — Network Theory

  • Introduction and basic notation
  • Random networks and small worlds
  • Degree distributions and preferential attachment
  • Clustering, communities and homophily
  • Centrality: Bonacich, Katz, PageRank

Part II — Network Data (Python / NetworkX)

  • Getting started with NetworkX
  • Random and scale-free networks
  • Algorithmic community detection
  • Centrality measures and visualisation

Prerequisites

No prior knowledge of network theory required. Familiarity with Python and data analysis is assumed for this group.

Assessment

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

My Role

In 2023, 2024, and 2025 I was teaching assistant, running the practical lab sessions and exercise classes, under the main lecturer Prof. Nicolas Carayol. In 2026 I took on the role of main lecturer, delivering the full course independently.

Key References

  1. Matthew O. Jackson (2019). The Human Network. Pantheon Books.
  2. Matthew O. Jackson (2008). Social and Economic Networks. Princeton University Press.
  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 study networks?

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 in networks.

5 Centrality and Influence

Centrality measures. Bonacich centrality, Katz centrality, PageRank, and prestige centrality.

2 Lab 1 — Getting Started with NetworkX

Importing data, creating and manipulating graphs with Python and NetworkX. Computing first network statistics.

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

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

4 Lab 3 — Clustering and Community Detection

Computing clustering coefficients. Community detection algorithms (Louvain, Girvan-Newman).

5 Lab 4 — Centrality Measures

Computing and comparing centrality measures (degree, Bonacich, Katz, PageRank) in NetworkX. Applied to an interbank transaction network: identifying systemically important institutions and interpreting results economically.