Skip to content
Network Analysis of Sources

A multilayer historical network is worth analysing when you have two or more genuinely distinct kinds of tie over the same actors — say kinship, credit and correspondence among a group of early-modern merchants — and when the interaction between those tie types is itself a research question. If your sources only support one well-evidenced relation, or if the layers are really proxies for the same underlying connection, a single weighted network will tell the same story with far less machinery. The deciding factor is rarely the data's richness; it is whether collapsing the layers would destroy information you actually need.

What exactly is a multilayer historical network?

Formally, a multilayer network holds the same (or overlapping) node set across several layers, where each layer carries one relation type. Intra-layer edges are the ties within a relation; inter-layer couplings connect an actor's copy in one layer to its copy in another. The special case where every layer shares the identical node set and couplings only join an actor to itself is a multiplex network — the most common form in historical work.

Concretely, for a guild you might model: a kinship layer, a business-partnership layer, and a political-office layer. The same person, Anna Fugger, appears as a node in all three; the couplings encode that these are one person, not three.

When does the multilayer approach actually pay off?

Reach for multilayer analysis when at least one of these holds:

  • The interplay between relations is your question — e.g. does kinship channel credit?
  • Actors hold structurally different positions in different layers (central in correspondence, peripheral in trade).
  • You want layer-aware measures: versatility (cross-layer centrality), multilayer community detection, or layer-by-layer comparison.
  • You need to test whether ties in one layer predict ties in another.

If none of these apply, you are paying an encoding and interpretation tax for nothing.

When should you NOT bother?

SignalWhat it meansBetter choice
One dominant tie typeOther layers are sparse afterthoughtsWeighted monoplex
Layers strongly correlated (>0.8 edge overlap)Layers measure the same thingCollapse into one
Fewer than 30% of actors in 2+ layersCoupling barely engagesSeparate networks, compared
Layers from incomparable sourcesCoverage bias dominatesAnalyse and report separately
Audience unfamiliar with the modelFindings won't landAnnotated monoplex

Uneven layer coverage is the silent killer: if your kinship layer comes from parish registers and your business layer from a single account book, differences between layers may reflect archival survival, not historical reality.

How do I encode the layers without losing provenance?

Keep each layer's edges in its own table, with a shared, controlled node identifier. A tidy long format travels well between tools:

csv
source,target,layer,weight,date,source_doc
fugger_anna,welser_bartholomeus,kinship,1,1510,parish_reg_AUG
fugger_anna,welser_bartholomeus,credit,3,1512,ledger_F2
fugger_anna,hochstetter_j,correspondence,5,1511,letterbook_3

In Python with py3plex or multinetx, you load each layer and declare couplings explicitly. A minimal exploratory stack in NetworkX uses a layer edge attribute and slices on demand:

python
import networkx as nx
import pandas as pd

df = pd.read_csv("edges.csv")
layers = {
    name: nx.from_pandas_edgelist(g, "source", "target", edge_attr=True)
    for name, g in df.groupby("layer")
}
# degree of an actor per layer
for name, G in layers.items():
    print(name, G.degree("fugger_anna"))

Always retain the source_doc column. Multilayer findings are only as defensible as your ability to point back to the document attesting each edge.

Which measures are worth running?

The temptation is to compute everything; resist it. The measures that earn their keep historically are:

  1. Degree per layer — basic, interpretable, exposes coverage gaps fast.
  2. Versatility / multilayer eigenvector centrality — finds actors central across relations, not just within one.
  3. Multilayer community detection (generalised Louvain in muxViz or GenLouvain) — reveals groups that hold together across tie types.
  4. Layer correlation / edge overlap — a diagnostic you should run first to justify keeping layers separate.

The coupling weight omega controls how tightly layers bind in community detection. There is no correct value, so sweep it (omega in {0.1, 0.5, 1.0, 2.0}) and report how partitions move. Stability across the sweep is a finding; instability is a warning.

How do I report uncertainty honestly?

Three habits keep multilayer claims credible. First, state coverage per layer as a small table — n nodes, n edges, date span, and source. Second, never compare raw centrality across layers of different density; normalise or rank within layer. Third, treat the absence of an edge as missing, not as a confirmed non-tie, unless your source genuinely records negatives. A silent letterbook is not evidence of estrangement.

Key Takeaways

  • Use multilayer analysis only when the interaction between distinct tie types is part of your question.
  • Run an edge-overlap diagnostic first; highly correlated layers should be collapsed.
  • Multiplex (shared node set, self-couplings) covers most historical cases; full multilayer is rarely needed.
  • Encode edges in a long table with a provenance column so every tie is documentable.
  • Favour a small set of measures: per-layer degree, versatility, and multilayer communities.
  • Treat the coupling weight omega as a tunable assumption and sweep it.
  • Report per-layer coverage explicitly; uneven survival, not history, often drives layer differences.

Frequently Asked Questions

What is a multilayer historical network?

It is a network where the same set of historical actors is connected by two or more distinct kinds of tie, with each tie type held in its own layer and inter-layer couplings linking an actor's copies across layers. Examples include kinship, business and correspondence layers over the same merchant community.

When should I avoid a multilayer model?

Avoid it when your sources only attest one well-evidenced tie type, when the layers measure the same underlying relation, or when too many actors appear in only a single layer. In those cases a weighted or annotated monoplex network is simpler and just as informative.

What is the difference between a multiplex and a multilayer network?

A multiplex network is a special case of multilayer where the node set is identical across layers and inter-layer edges only connect an actor to its own copies. General multilayer networks allow different node sets per layer and arbitrary inter-layer couplings.

How many layers can I realistically analyse?

Most historical studies use two to four layers. Beyond that, interpretation becomes hard, layer coverage usually grows uneven, and the marginal insight rarely justifies the encoding and documentation cost.

What tools support multilayer network analysis?

Python's multinetx and the py3plex library, the R muxViz package, and Pymnet all handle multilayer measures and visualisation. For exploratory work you can also stack layers as edge attributes in NetworkX and slice them.

How do I set the inter-layer coupling weight?

There is no canonical value; the coupling weight omega is a modelling choice that tunes how strongly layers interact. Run a sensitivity sweep over several omega values and report how community structure or centrality rankings change.