Live model · generated city · computed in your browser

Who lives with whom? Finding households in the signals, not the paperwork

A mobile operator sees individuals; bundles, family plans and home services are sold to households. The billing account is the obvious proxy and a poor one: families split across accounts, and accounts carry lines that are not family. Treating a household as a small community in a graph of calls, night-time location and accounts — and finding it with Louvain community detection — recovers households the paperwork misses, and gives each an identifier that survives moves and churn.

Family and household inference

Building the city…

Before · group lines by billing account
After · Louvain communities on calls + night location + account
Household sizes · planted vs detected
strong tie (two signals coincide) · dotted = weak tiecolour = assigned groupline placed away from most of its real household
1 · Signals into one graph

Calls, nights, accounts

Each pair of lines gets a weight from how often they call, whether they spend nights on the same cell, and whether they share a billing account. None of the three is reliable alone — neighbours share a cell, colleagues call daily, accounts carry employees' lines — so the weights combine them.

2 · Communities, then homes

Louvain, then strong ties inside it

Louvain greedily moves lines between groups to raise modularity, then aggregates and repeats, which finds the social neighbourhood each line belongs to. Inside a neighbourhood a household is a set of lines joined by ties where at least two signals coincide; a group too large to be one home is split at its weakest tie. The parallel version used in the project does the same over tens of millions of lines.

3 · An ID that lasts

Head of household and change tracking

Each detected household gets a head — its longest-tenured member — and an identifier keyed to it. A month later the detection is rerun: people churn, move out, join; the ID follows the household as long as most of it stays together, so campaigns and bundles see the same home over time.