A social network is like a city: there are giant neighborhoods and tiny alleys. When an algorithm looks for tight-knit groups, it often picks out a couple of huge clusters and many small fragments. But the client (say, a municipality) needs districts of roughly equal size to distribute clinics or schools evenly.
The usual trick is to turn one "resolution" knob, which makes all communities on average larger or smaller. It's like adjusting the focus on binoculars: the overall picture shifts, but individual groups still come out some too big, some too small. The authors took a different route: they built hard limits into the network assembly algorithm itself — a minimum and a maximum allowed size for each community. Now the program doesn't just look for tight connections; it also ensures that no group exceeds the set boundaries, like a baker shaping buns with a single template.
The takeaway is simple: if you care about groups in a network being not just cohesive but also proportionate, there's now a tool that does it in one go, without manual tweaking. The code is already integrated into the Leiden package — one of the most widely used tools for graph analysis.
The word "community" in network analysis doesn't mean a group with shared interests: it's simply a set of nodes with more connections inside than outside, like a cluster of ants on a single sugar cube.