  The detection of communities is an important tool used to analyze the social
graph of mobile phone users. Within each community, customers are susceptible
of attracting new ones, retaining old ones and/or accepting new products or
services through the leverage of mutual influences. The communities of users
are smaller units, easier to grasp, and allow for example the computation of
role analysis -- based on the centrality of an actor within his community.
  The problem of finding communities in static graphs has been widely studied.
However, from the point of view of a telecom analyst, to be really useful, the
detected communities must evolve as the social graph of communications changes
over time -- for example, in order to perform marketing actions on communities
and track the results of those actions over time. Additionally the behaviors of
communities of users over time can be used to predict future activity that
interests the telecom operators, such as subscriber churn or handset adoption.
Similary group evolution can provide insights for designing strategies, such as
the early warning of group churn.
  Stability is a crucial issue: the analysis performed on a given community
will be lost, if the analyst cannot keep track of this community in the
following time steps. This is the particular use case that we tackle in this
paper: tracking the evolution of communities in dynamic scenarios with focus on
stability.
  We propose two modifications to a widely used static community detection
algorithm. We then describe experiments to study the stability and quality of
the resulting partitions on real-world social networks, represented by monthly
call graphs for millions of subscribers.
