  The goal of community detection algorithms is to identify densely-connected
units within large networks. An implicit assumption is that all the constituent
nodes belong equally to their associated community. However, some nodes are
more important in the community than others. To date, efforts have been
primarily driven to identify communities as a whole, rather than understanding
to what extent an individual node belongs to its community. Therefore, most
metrics for evaluating communities, for example modularity, are global. These
metrics produce a score for each community, not for each individual node. In
this paper, we argue that the belongingness of nodes in a community is not
uniform.
  The central idea of permanence is based on the observation that the strength
of membership of a vertex to a community depends upon two factors: (i) the the
extent of connections of the vertex within its community versus outside its
community, and (ii) how tightly the vertex is connected internally. We discuss
how permanence can help us understand and utilize the structure and evolution
of communities by demonstrating that it can be used to -- (i) measure the
persistence of a vertex in a community, (ii) design strategies to strengthen
the community structure, (iii) explore the core-periphery structure within a
community, and (iv) select suitable initiators for message spreading.
  We demonstrate that the process of maximizing permanence produces meaningful
communities that concur with the ground-truth community structure of the
networks more accurately than eight other popular community detection
algorithms. Finally, we show that the communities obtained by this method are
(i) less affected by the changes in vertex-ordering, and (ii) more resilient to
resolution limit, degeneracy of solutions and asymptotic growth of values.
