A largescale community structure analysis in Facebook
 Emilio Ferrara^{1, 2}Email author
DOI: 10.1140/epjds9
© Ferrara; licensee Springer. 2012
Received: 17 April 2012
Accepted: 9 October 2012
Published: 6 November 2012
Abstract
Understanding social dynamics that govern human phenomena, such as communications and social relationships is a major problem in current computational social sciences. In particular, given the unprecedented success of online social networks (OSNs), in this paper we are concerned with the analysis of aggregation patterns and social dynamics occurring among users of the largest OSN as the date: Facebook. In detail, we discuss the mesoscopic features of the community structure of this network, considering the perspective of the communities, which has not yet been studied on such a large scale. To this purpose, we acquired a sample of this network containing millions of users and their social relationships; then, we unveiled the communities representing the aggregation units among which users gather and interact; finally, we analyzed the statistical features of such a network of communities, discovering and characterizing some specific organization patterns followed by individuals interacting in online social networks, that emerge considering different sampling techniques and clustering methodologies. This study provides some clues of the tendency of individuals to establish social interactions in online social networks that eventually contribute to building a wellconnected social structure, and opens space for further social studies.
Introduction
Social media and online social networks (OSNs) represent a revolution in Web users behavior that is spreading at an unprecedented rate during the latest years. Online users aggregate on platforms such as Facebook and Twitter creating large social networks of millions of persons that interact and group each other. People create social ties constituting groups based on existing relationships in real life, such as on relatives, friends, colleagues, or based on common interests, shared tastes, etc.
In the context of computational social sciences, the analysis of social dynamics, including the description of those unique features that characterize online social networks, is acquiring an increasing importance in current literature [1–3].
One of the challenges for network scientists is to provide techniques to collect [4] and process [5] data from online social networks in an automatic fashion, and strategies to unveil the features that characterize these types of complex networks [6]. In addition, these methods should be capable of working in such largescale scenarios [7].
Amongst all the relevant problems in this area, the analysis of the socalled community structure of online social networks acquired relevant attention during latest years [8–14]. Recently, several relevant quantitative works have been presented to this purpose [15–19].
Studying the community structure of a network helps in explaining social dynamics of interaction among groups of individuals [20–22], but also to quantitatively investigate social theories such as Milgram’s small world [23], Granovetter’s strength of weak ties [24], Borgatti’s and Everett’s coreperiphery structure [25, 26], and so forth.
Furthermore, discovering and analyzing the community structure is a topic of great interest for its economical and marketing implications [27]. For example, it could be possible to improve the advertising performance by identifying and targeting the most influential users of each community, exploiting effects such as the wordofmouth and the spread of information within the community itself [28]. Similarly, exploiting the affiliations of users to communities might be effective to provide them useful recommendations on the base of common interests shared with their friends [29].
Finally, the community detection problem has plenty of challenges from a computational perspective, since it is highly related to the problem of clustering large, possibly heterogeneous, datasets [30–35].
In this work we are concerned with the analysis of the community structure of the largest online social network as to date: Facebook. In particular, we acquire a sample from the Facebook social graph (i.e., the network of relationships among the users), and then we apply two different stateoftheart algorithms to unveil its underlying community structure (see the Appendix for technical details).
The further analysis of the mesoscopic features of this network puts into evidence the organization patterns that describe the connectivity of users in large online social network.
 (i)
The emergence of a tendency of social network users at the formation of communities of heterogeneous size (following a heavytailed distribution), which means that there exist several groups of small size and a decreasing number of groups or larger size.
 (ii)
The number of interconnections that exists among communities also follows a broad distribution, that provides some clues in the direction of the assessment of the strength of weak ties theory, foreseen by the early work of Granovetter [24].
 (iv)
The emergence of the socalled small world phenomenon  whose existence in realworld social networks has been assessed during the sixties by Milgram [23]: the community structure of the network is highly clustered and tightly interconnected by means of short paths, features which are exhibited by several small world networks [15, 39]. According to the model of small world network proposed by Watts and Strogatz [39], not only the diameter of the network grows as the logarithm of the size (a feature exhibited also by random networks), but also the clustering coefficient is high  a discriminating feature observed also in our case.
Methods
The aim of this work is to analyze the mesoscopic features of the community structure of the Facebook social network. In the following we provide some information about the process of data collection, briefly discussing the sampling methodology and the techniques adopted to collect data.
This is the first step to study the community structure of realworld networks, that reflect unique characteristics which are impossible to replicate by using synthetic network models [40].
After that, we discuss the process of community detection that we adopted to unveil the community structure of the network (and, to this regard, additional technical details are discussed in the Appendix).
Finally, we describe the process of definition of the community metanetwork  a network whose nodes represent the communities identified in the social graph, to which it follows its analysis and discussion of findings.
Sampling the Facebook network
Differently from other online social network platforms (for example Twitter), Facebook does not provide a framework to automatically access information related to users with public profiles.
This lack of data availability has been faced acquiring public information directly from the platform, by means of a sampling process.
During this study we did not inspect, acquire or store personal information about users, since we were interested only in reconstructing the social connections among a sample of them  whose friendlists were publicly accessible. To this purpose, we designed a Web data mining platform with the only ability to visit the publicly accessible friendlist Web pages of specific users, selected according to a sampling algorithm, and extract their connections. Obtained data have been used only to reconstruct the network sample studied in this work.
The architecture of the designed mining platform is briefly schematized as follows. We devised a data mining agent (i.e., an autonomous software tool), which implements two sampling methodologies (breadthfirst search and uniform sampling). The agent queries the Facebook server(s) in order to request the friendlist Web pages of specific users. In detail, the agent visits those Web pages containing the friendlist of a given user, following the directives of the chosen sampling methodology, and extracts the friendship relationships reported in the publicly accessible user profile.
The sampling procedure runs until any termination criterion/a is/are met (e.g., a maximum running time, a minimum size of the sample, etc.), concluding the sampling process. Collected data are processed and stored in anonymized format,^{a} postprocessed, cleaned and filtered according to further requirements.
The sampling methodologies
In the following, we briefly discuss the two statistical sampling methods adopted in this work, namely the breadthfirstsearch and the uniform sampling.
The breadthfirstsearch sampling
The first adopted sampling methodology is a snowball technique that exploits the breadthfirstsearch (BFS), an uninformed graph traversal algorithm. Starting from a seed node, the procedure explores its neighborhood; then, for each neighbor, it visits its unexplored neighbors, and so on, until the whole network is visited (or, alternatively, a termination criterion is met). This sampling technique has several advantages with respect to other techniques (for example, random walks sampling, forest fire sampling, etc.) as discussed in recent literature [41, 42]. One of the main advantages is that it produces a coherent graph whose topological features can be studied.
For this reason it has been adopted in a variety of OSNs mining studies [1, 43–46]. During our experimentation, we defined the termination criterion that the mining process did not exceed 10 days of running time. By observing a short timelimit, we ensured a negligible effect of evolution of the network structure (less than 2% overall, according to a heuristic calculation based on the growth rate of Facebook during the sampling process  August 2010). The size of the obtained (partial) graph of the Facebook social network has been adopted as yardstick for the uniform sampling process.
The uniform sampling
The second chosen sampling methodology is a rejectionbased sampling technique, called uniform sampling. The main advantage of this technique is that it is proven unbiased, at least in its formulation for Facebook. Details about its definition are provided by Gjoka et al. [44]. The process consists of generating an arbitrary number of userIDs, randomly distributed in the domain of assignment of the Facebook userID system. In our case, it is the space of the 32bit numbers: the maximum amount of assignable userIDs is 2^{32}, about 4 billions. As of August 2010 (the period during which we carried out the sampling process), the number of subscribed users on Facebook was about 500 millions, thus the probability of randomly generating an existing userID was $\approx 1/8$.
The sampling process has been set up as follows: first we generated a number of random userIDs, lying in the interval $[0,{2}^{32}1]$, equal to the dimension of the BFSsample multiplied by 8. Then, we queried Facebook for their existence. Our expectation was to obtain a sample of comparable dimensions with respect to the BFSsample. Actually, we obtained a slightly smaller sample, due to the restrictive privacy settings imposed by some users, who configured their profile preventing the public accessibility of their friendlists. The issue of the privacy has been investigated in our previous work [45].
Description of the samples
BFS and uniform samples description
Feature  BFS  Uniform 

No. visited users  63.4K  48.1K 
No. discovered neighbors  8.21M  7.69M 
No. total edges  12.58M  7.84M 
Size largest connected component  98.98%  94.96% 
Avg. degree (visited users)  396.8  326.0 
2nd largest eigenvalue  68.93  23.63 
Effective diameter  8.69  14.72 
Avg. clustering coefficient  1.88⋅10^{−2}  1.40⋅10^{−3} 
Density  0.626%  0.678% 
The anonymized datasets studied in this work may be examined by the scientific community.^{b}
Some of the statistical and topological features of these networks have been discussed in our previous work [45], and our main previous findings can be summarized as follows:

It emerges that the degree distribution of nodes in the samples is defined by a power law $P(x)\propto {x}^{\lambda}$ identifying two different regimes. In detail, it is possible to divide the domain into two intervals (tentatively $1\le x\le 10$ and $x>10$), whose exponents are ${\lambda}_{1}^{\mathrm{BFS}}=2.45$, ${\lambda}_{2}^{\mathrm{BFS}}=0.6$ and ${\lambda}_{1}^{\mathrm{UNI}}=2.91$, ${\lambda}_{2}^{\mathrm{UNI}}=0.2$ respectively for the BFS and the uniform sample, in agreement with recent studies by Facebook [18, 19].

Concerning the diameter of the networks, the BFS sample shows a small diameter, in agreement with the sixdegrees of separation theory[39], given the snowball nature of the sampling algorithm, which produces a plausible graph; differently, the diameter is overrepresented in the uniform sample, possibly because the largest connected component does not cover the whole network.

Regarding the clustering coefficient, we observed that the average values for both the samples are very high, similarly as reported by other recent studies on OSNs [3, 44]. High clustering coefficient and small diameter provide a clue of the presence of the socalled small world effect [15, 39] in the Facebook social graph.
Detecting communities
Given the large size of our Facebook samples, most of the community detection algorithms existing in literature could not deal with it. In order to unveil the community structure of these networks we adopted two computationally efficient techniques: (i) Label Propagation Algorithm (LPA) [48], and (ii) Fast Network Community Algorithm (FNCA) [49].
In the following we discuss the main advantages given from their choice and their performance.
Advantages and performance of chosen methods
The problem of selecting a particular community detection algorithm is crucial if the aim is to unveil the community structure of a network. In fact, the choice of a given methodology could affect the outcome of the experiments. In particular, several algorithms depend on tuning specific parameters, such as the size of the communities in the given networks, and/or their number (for additional information see recent surveys on this wide topic [30–35]).
In this study, the purpose was to unveil the unknown community structure of our Facebook samples, and to do so we choose two different techniques which rely just on the topology of the network itself as guide to discover the community structure.
LPA (Label Propagation Algorithm) is an algorithm for community detection based on the paradigm of label propagation, a common strategy characterizing several machine learning algorithms. Its computational cost is near liner with respect to the size of the analyzed network. This computational efficiency makes it well suited for the discovery of communities in large networks, such as in our case. LPA only exploits the network structure as guide and does not follow any predefined objective function to maximize (differently from FNCA); in addition, it does not require any prior information about the communities, their number or their size.
FNCA (Fast Network Community Algorithm) is a computationally efficient method to unveil the community structure of large networks. It is based on the maximization of an objective function called network modularity [50, 51]. Similarly to LPA, it does not require prior information on the structure of the network, the number of communities present in the network and/or their size.
Even though the paradigms on which the algorithms rely are different, a common feature emerges: their functioning is agnostic with respect to the characteristics of the considered network. This aspect makes them an ideal choice, considering that we do not have any prior information about the characteristics of the community structure of Facebook. Further technical details regarding these methods are discussed in the Appendix of this paper.
Results on Facebook network samples
Algorithm  No. communities  Network modularity  Time (s) 

BFS (8.21M vertices, 12.58M edges)  
FNCA  50,156  0.6867  5.97⋅10^{4} 
LPA  48,750  0.6963  2.27⋅10^{4} 
Uniform (7.69M vertices, 7.84M edges)  
FNCA  40,700  0.9650  3.77⋅10^{4} 
LPA  48,022  0.9749  2.32⋅10^{4} 
Representation of a community structure
CommunityID  List of members 
communityID_{1}  {userID_{ a }; userID_{ b }; … ; userID_{ c }} 
communityID_{2}  {userID_{ i }; userID_{ j }; … ; userID_{ k }} 
⋯  {⋯} 
communityID_{ N }  {userID_{ x }; userID_{ y }; … ; userID_{ z }} 
Assessing the quality of the community detection
Remarkably, one challenge arises in the context of the assessment of the quality of the community detection process in realworld scenarios that is the lack of a ground truth against which to compare the results provided by the adopted community detection strategy  which might be biased by the strategy itself [37, 38]. For such a reason, some works [52–54] estimate the quality of a community detection algorithm by measuring some internal measures of quality of detected communities, based on topological characteristics (for example, the network modularity to establish the density of connections among and within communities, or the stability of eigenvalues of the Laplacian graph). Other approaches [33] are based on the possibility of exploiting exogenous factors, such as semantic information derived from additional knowledge on users (for example their affiliations to particular groups, etc.). In the first case, indicators of internal quality of the communities are often not sufficient to ensure the quality of the results  think, for example, at the resolution limit that arises in modularity maximization algorithms [37, 38]. On the other hand, no additional information on users other than their interconnections was available to us, for the purpose of assessing the quality of our communities.
Then, to establish the significance of the community structure obtained by using the methods discussed above, we chose to evaluate the similarity of outcomes provided by the two adopted algorithms, against each other, in a number of different ways which are discussed in the next section. This might help in highlighting anomalies in our methodology, in case of significant divergences between obtained results.
Building the community metanetwork
(i.e., the sum of the total number of edges connecting all users belonging to u and v).
Features of the metanetworks representing the community structure for the uniform sample
Feature  FNCA  LPA 

No. nodes/edges  36,248/836,130  35,276/785,751 
Min./Max./Avg. weight  1/16,088/1.47  1/7,712/1.47 
Size largest conn. comp.  99.76%  99.75% 
Avg. degree  46.13  44.54 
2nd largest eigenvalue  171.54  23.63 
Effective diameter  4.85  4.45 
Avg. clustering coefficient  0.1236  0.1318 
Density  0.127%  0.126% 
We discuss results regarding the community structure and its mesoscopic features in the following.
Results
The analysis of the community structure of Facebook will focus on the following aspects: (i) first, we try to evaluate the quality of the communities identified by means of the community detection algorithms described above. This step includes assessing the similarity of results obtained by using different sampling techniques and clustering methods. In detail, we evaluate the possible bias introduced by wellknown limitations of these techniques (e.g., the resolution limit for modularity maximization methods [37, 38] or the sampling bias due to the incompleteness of the sampling process [36]). (ii) Second, we investigate the mesoscopic features of the community metanetwork considering some characteristics of the network (such as the diameter, the distribution of shortestpaths and weights of links, the connectivity among communities, etc.), discussing how these features may reflect organization patterns of individuals in the network.
Analysis of the community structure
In order to characterize the features of the community structure of Facebook, our first step was to describe the distribution of the size of the communities discovered. This feature has been investigated in current literature [12, 40], and it emerges that different complex networks exhibit heavytailed distributions in the size of the communities. This implies the existence of a large amount of communities whose size is very small and a very small amount of large communities in this type of realworld networks. In detail, Lancichinetti et al. [12] put into evidence that this holds true for a large family of complex networks, such as information, communication, biological, and social networks.
Distribution of the community size
From a further analysis it emerges that, for the uniform sample (Figure 1), both the distributions are broad and heavytailed. Differently, the distributions for the BFS sample are wide but not heavytailed, due to the quasisteady probability of finding communities of size between 50 and 200.
The difference between BFS and uniform samples appears in agreement with the adopted sampling techniques. In fact, it has been recently put into evidence [36, 45] that a sampling algorithm such as the BFS may affect the degree distribution towards high degree nodes, in case of incomplete visits. Interestingly, this reflects also in the presence of communities, tentatively lying in the size interval $50\ge x\ge 200$, that are in greater number with respect to what it would be expected by a scalefree network.
To the best of our knowledge, this is the first time it is observed that the bias towards high degree nodes introduced by the BFS sampling method reflects on the features of the community structure of a network. To the purpose of sampling, we could indicate as more appropriate those rejectionbased methods, such as the uniform sampling, that do not overrepresent high degree nodes.
Indeed, the analytical results reported in Table 2 combined with the plots discussed above, suggest that both the algorithms identified a similar amount of communities, regardless the adopted sampling method. This is also reflected by the similar values of network modularity obtained for the two different sets. Moreover, the size of the communities themselves seems to coincide for most of the times.
The following point we address is inspecting the quality of the community structure obtained by using FNCA and LPA. The possibility that two different algorithms produce different community structures is not to be excluded, thus in the following we investigate to what extent the results we obtained share a high degree of similarity.
Community structure similarity
In order to evaluate the similarity of two community structures we adopt three measures: (i) a variant of the Jaccard coefficient, called binary Jaccard coefficient; (ii) the KullbackLeibler divergence; and, (iii) the normalized mutual information. In the following we discuss them separately, to explain their functioning, the motivations of their adoption and the obtained results.
where ${M}_{11}$ represents the total number of shared elements between two vectors^{c} v and w, ${M}_{01}$ represents the total number of elements belonging to w and not belonging to v, and, finally ${M}_{10}$ the viceversa. The outcome of this measure lies in $[0,1]$.
Similarity degree of community structures
Metric  Sample  Degree of similarity FNCA vs. LPA  

Common  Mean  Median  Std. D.  
$\stackrel{\u02c6}{J}$  BFS  2.45%  73.28%  74.24%  18.76% 
uniform  35.57%  91.53%  98.63%  15.98% 
While the number of identical communities between the two sets obtained by using, respectively, BFS and uniform sampling, is not high (i.e., respectively, $\approx 2\mathrm{\%}$ and $\approx 35\mathrm{\%}$), the overall mean degree of similarity is very high (i.e., $\approx 73\mathrm{\%}$ and $\approx 91\mathrm{\%}$). This is due to the high number of communities which differ only for a very small number of elements. Moreover, the fact that the median is, respectively, $\approx 75\mathrm{\%}$ and $\approx 99\mathrm{\%}$, and that the very majority of results lie in one standard deviation, supports the similarity of the obtained community structures.
where P and Q represent, respectively, the probability distributions that characterize the size of communities discovered by LPA and FNCA, calculated on a given sample. Let i be a given size such that $P(i)$ and $Q(i)$ represent the probability that a community of size i exists in the distributions P and Q. The KL divergence is helpful if one would like to calculate how different are two distributions with respect to one another. In particular, being the KL divergence defined in the interval $0\le {D}_{\mathrm{KL}}\le \mathrm{\infty}$, the smaller the value of KL divergence between two distributions, the more similar they are.
 (i)
on the uniform sample:

${D}_{\mathrm{KL}}({P}_{\mathrm{LPA}}\parallel {P}_{\mathrm{FNCA}})=7.722\cdot {10}^{3}$

${D}_{\mathrm{KL}}({P}_{\mathrm{FNCA}}\parallel {P}_{\mathrm{LPA}})=7.542\cdot {10}^{3}$
 (ii)
on the BFS sample:

${D}_{\mathrm{KL}}({P}_{\mathrm{LPA}}\parallel {P}_{\mathrm{FNCA}})=3.764\cdot {10}^{3}$

${D}_{\mathrm{KL}}({P}_{\mathrm{FNCA}}\parallel {P}_{\mathrm{LPA}})=4.292\cdot {10}^{3}$
The low values obtained by adopting the KL divergence put into evidence the correlation between the distributions calculated by using the two different algorithms on the two different samples.
being ${N}_{i\cdot}$ (resp., ${N}_{\cdot j}$) the sum of the elements in the i th row (resp., j th column) of the confusion matrix. If the considered clustering algorithm would work perfectly, then for each discovered cluster j, it would exist a real cluster i exactly coinciding with j. In such a case, it is possible to show that $\mathrm{NMI}(A,B)$ is exactly equal to 1 [55]. By contrast, if the clusters detected by the algorithm are totally independent of the real communities then it is possible to show that the NMI is equal to 0. The NMI, therefore, ranges from 0 to 1 and the higher the value, the better the clustering algorithm performs with respect to the ground truth.
Observe that, in our scenario, we do not have at disposal any ground truth, given the fact that the community structure of the considered network is unknown and the purpose of our study was, in fact, to discover it. Still, we can adopt the NMI to compare against each other, the outcome of the clustering solutions obtained by means of two different algorithms, taking the result of the former and using it as a ground truth to assess the latter, or the viceversa.
Several variants of normalized mutual information exist: to our purposes, we adopted two different versions of NMI, henceforth called ${\mathrm{NMI}}_{\mathrm{LFK}}$ and ${\mathrm{NMI}}_{\mathrm{MGH}}$  after the authors initials  presented, respectively, by Lancichinetti, Fortunato and Kertesz [56] and by McDaid, Greene and Hurley [57]. These two variants adopt slightly different normalization factors, thus they produce different (but comparable) results.
 (i)
on the uniform sample:

${\mathrm{NMI}}_{\mathrm{LFK}}({\mathrm{FNCA}}_{\mathrm{uniform}},{\mathrm{LPA}}_{\mathrm{uniform}})=0.825$

${\mathrm{NMI}}_{\mathrm{MGH}}({\mathrm{FNCA}}_{\mathrm{uniform}},{\mathrm{LPA}}_{\mathrm{uniform}})=0.786$
 (ii)
on the BFS sample:

${\mathrm{NMI}}_{\mathrm{LFK}}({\mathrm{FNCA}}_{\mathrm{BFS}},{\mathrm{LPA}}_{\mathrm{BFS}})=0.678$

${\mathrm{NMI}}_{\mathrm{MGH}}({\mathrm{FNCA}}_{\mathrm{BFS}},{\mathrm{LPA}}_{\mathrm{BFS}})=0.648$
The high values obtained by using the normalized mutual information, which is able to better capture nuances and facets of different clustering solutions with respect to the much simpler binary Jaccard coefficient adopted above, still confirm the similarity of the community structure discovered by the two different algorithms employed in our analysis.
Given the limitations imposed by the lack of a ground truth for realworld networks for which the community structure is unknown, the approaches we adopted to assess the results are only a bestapproximation of any robust evaluation method. Indeed, the problem of evaluating the clustering quality of realworld networks lacking of a ground truth is an open and urgent problem in current literature.
In addition, recently [37], in the context of detecting communities by adopting the network modularity as maximization function, a resolution limit has been put into evidence. In [37], the authors found that modularity optimization could, depending on the topology of the network, cause the inability of the process of community detection to find communities whose size is smaller than $\sqrt{E/2}$ (i.e., in our case $\approx 3,000$). This reflects in another effect, that is the creation of big communities that include a large part of the nodes of the network, without affecting the global value of network modularity.
Being all the communities revealed smaller than that size and distributed in agreement with what already observed for other complex networks [12], we may hypothesize that the community structure unveiled by the algorithm for our samples is unlikely to be affected by the resolution limit.
Mesoscopic features of the community structure
In the following we consider the uniform sample and the community structure unveiled by the LPA as yardstick for our investigation. The experiments discussed in the remainder of this section focus in particular on three aspects: (i) assessment of the mesoscopic features of the community structure of the network and their implications in terms of social dynamics; (ii) study of the connectivity among communities and how it reflects on users organization patterns on a large scale; (iii) ability of inferring additional insights by means of visual observation of the community structure.
The purpose of investigating the mesoscopic features of the community structure of Facebook includes finding patterns that emerge from the network structure, in particular those which are related not to individuals or to the overall networks, but with those aggregation units that are the communities among which users gather.
where ${k}_{i}$ is the degree of community i.
It can be intuitively interpreted as the probability that, given two randomly chosen communities that share a common neighbor, there also exists a link between them. High values of average clustering coefficient indicate that the communities are well connected among each other. This result would be interesting since it would indicate a tendency to the small world effect.
This interesting fact reflects the existence of a tight and highly connected core in the community structure [25, 26]. The small world effect is also related to the presence of shortpaths connecting communities. In this context, it is reasonable to suppose that, randomly selecting two disconnected communities, it is likely that a short path connecting their members exists.
where $\omega (e)$ is the weight of a given edge e and $I(v)$ the set of edges incident on v.
Given the definition of weights for the community metanetwork, as in Equation (1) (i.e., the sum of total number of edges connecting all users belonging to the two connected communities), we can suggest the hypothesis that there exists a high probability of finding a large number of pairs of communities whose members are not directly connected, and a increasingly smaller number of pairs of communities whose members are highly connected each other. These connections, which are usually referred as to weak ties, according to the strength of weak ties theory [24], are characterized by a smaller strength but a hightened tendency to proficiently connect communities otherwise disconnected. This aspect is further discussed in the following.
Connectivity among communities
The last experiment discussed in this paper is devoted to understanding the density of links connecting communities in Facebook. In particular, we are interested in defining to what extent links connect communities of comparable or different size. To do so, we considered each edge in the community metanetwork and we computed the size of the community to which the source node of the edge belonged to. Similarly, we computed the size of the target community.^{e}
This can be intuitively explained since the number of communities of small size is much greater than the number of large communities. On the other hand, it is an important finding since similar results have been recently described for Twitter [21], in the context of the evaluation of the Granovetter’s strength of weak ties theory [24].^{f}
In fact, according to this theory, weak links typically occur among communities that do not share a large amount of neighbors, and are important to keep the network proficiently connected.
Inter and intracommunity links
The emergence of this scaling law is interesting with regard to the organization patterns that are reflected by individuals participating to large social networks. In fact, it seems that users that constitute small communities are generally very well connected to other communities and among each others, while large communities of individuals seem to be linked in a less efficient way to other communities  and also less dense of links. This is reflected by the small number of weak ties incident on communities of large size with respect to the number of individuals they gather. These findings are relevant since they provide a clue that individuals are able to selforganize even in large networks and without a coordinated effort. This might improve their ability to efficiently get in touch and communicate with a number of users larger than their friends or acquaintances.
Visual observation of the community metanetwork
The visual analysis of largescale networks is usually unfeasible when managing samples whose size is in the order of millions of entities. Even though, by adopting our technique of building a community metanetwork, it is yet possible to study the mesoscopic features of the Facebook social network from an unprecedented perspective. To this purpose, for example, social network analysts may be able to infer additional insights about the structure of the original network from the visual analysis of its community structure.
Finally, we highlight the presence of socalled weak ties, that proficiently connect communities that otherwise would be far each other. In particular, those that connect communities in the core with communities in the periphery of the network, according to the strength of weak ties theory [24], might represent the most important patterns along which communications flow, enhancing users ability of getting in touch with each other, efficiently spreading information, and so on.
Discussion
This work concludes putting into evidence implications, strength and limitations of our study.
First of all, in this paper we put into evidence that the community structure of the Facebook social network presents a broad distribution of the dimension of the communities, similarly to other complex networks [12]. This result is independent with respect to the algorithm adopted to discover the community structure, and even (but in a less evident way) to the sampling methodology adopted to collect the samples. On the other hand, this is the first experimental work that proves the hypothesis, theoretically advanced by [36], of the possible bias towards high degree nodes introduced by the BFS sampling methodology for incomplete sampling of large networks.
Regarding the qualitative analysis of our results, it emerges that the communities share a high degree of similarity among different samples.
The analysis of the community metanetwork puts into evidence different mesoscopic features. We discovered that the average degree of communities average degree of communities and their size put into evidence the tendency to selforganization of users into small or mediumsize communities wellconnected among each other.
Our further analysis highlights that there exists a tendency to the creation of shortpaths (whose length mainly consists of two or three hops), that proficiently connect the majority of the communities existing in the network. This finally led us to the identification of links connecting communities otherwise disconnected, that we called weak ties in the Granovetter’s sense [24].
Results in context with previous literature
Several recent studies focused on the analysis of the community structure of different social networks [12, 13, 40, 67]. An indepth analysis of the Facebook collegiate networks has been carried out in [13]. Authors considered data collected from 5 American colleges and examined how the online social lives reflect the real social structure. They proved that the analysis of the community structure of online social networks is fundamental to obtain additional insights about the prominent motivations which underly the community creation in the corresponding real world. Moreover, authors found that the Facebook social network shows a very tight community structure, and exhibits high values of network modularity. Some of their findings are confirmed in this study on a large scale.
Recently [12], it has been put into evidence that the community structure of social networks shares similarities with communication and biological networks. The authors investigated several mesoscopic features of different networks, such as community size distribution, density of communities and the average shortest path length, finding that these features are very characteristic of the network nature. According to their findings, we assessed that also Facebook is welldescribed by some specific characteristics on a mesoscopic level.
Regarding the mesoscale structure analysis of social networks, [40] provided a study by comparing three stateoftheart methods to detect the community structure on large networks. An interesting aspect considered in that work is that two of the three considered methods can detect overlapping communities, so that a differential analysis has been carried out by the authors. They focused on the analysis of several mesoscopic features such as the community size and density distribution and the neighborhood overlapping. In addition, they verified that results obtained by the analysis of synthetic networks are profoundly different from those obtained by analyzing realworld datasets, in particular regarding the community structure, putting into evidence the emergence of need of studying online social networks acquiring data from the real platforms. Their findings are also confirmed in this study, in which we acquired a sample of the social graph directly from the Facebook platform.
An interesting work which is closely related to this study regards the assessment of the strength of weak ties theory in the context of Twitter [21]. In that work, it emerges that one of the roles of weak ties is to connect small communities of acquaintances which are not that close to belong to the same community but, on the other hand, are somehow proficiently in contact. Clues in this direction come also from this study, although the two networks exhibit different topological features (i.e., Twitter is represented by a directed graph with multiple type of edges) and also carry a different interpretation of the social connections themselves. In fact, social ties in Twitter represent hierarchical connections (in the form of follower and followed users), while Facebook tries to reflects a friendship social structure which better represents the community structure of realworld social networks.
Concluding, recently [67] the perspective of the study of the community structure has been revisited considering the problem of the detecting communities of edges instead of the classical communities of nodes. In this approach we observe an interesting feature, i.e., that link communities intrinsically incorporate the concept of overlap. The authors findings are applied to large social networks of mobile phone calls confirming the emergence of scale free distributions also for link community structures. Similar studies could be extended to online social networks like Facebook, in order to investigating the existence of particular communication patterns or motifs.
Strength and limitations of this study
In the following we discuss the main strengths and limitations of this study. To the best of our knowledge, this is the first work that investigates the general mesoscopic structure of a large online social network. This is particularly interesting since it is opposed to just trying to identify dense clusters in large communities, which is the aim of different works discussed above.
This work highlights the possibility of inferring characteristics describing the organization patterns of users of large social networks, analyzing some mesoscopic features that arise from a statistical and topological investigation. This kind of analysis has been recently carried out for some types of social media platforms (such as Twitter [21]) which capture different nuances of relations (for example, hierarchical followerfollowed user relations), but there was a lack in literature regarding online social network platforms reflecting friendship relations, such as Facebook. This work, that tries to fill this gap, provides results that well relate with those presented in recent literature, and describes novel insights on the problem of characterizing social network structure on the large scale.
We can already envision two limitations of this work, which leave space for further investigation. First, our sample purely relies on binary friendship relations, which represent the simplest way to capture the concept of friendship on Facebook. On the other hand, there could be more refined representations of the Facebook social graph, such as taking into consideration the frequency of interaction among individuals of the network, to weight the importance of each tie. To this purpose, the feasibility of this study is complicated by the privacy issues deriving from accessing private information about users habits (such as the frequency of interaction with their friends), which limit our range of study.
Depending on this aspect, the second shortcoming of this study rises. In detail, the fact that we were concerned with the analysis of publicly accessible profiles implies that our sample only reproduces a partial picture of the Facebook social network which could slightly vary with respect to the overall social graph. To this purpose, another aspect which deserves more investigation is understanding how the incompleteness of the sampling affects the characteristics of the community structure.
Conclusions
The aim of this work was to investigate the emergence of social dynamics, organization patterns and mesoscopic features in the community structure of a large online social network such as Facebook. This task was quite thrilling and not trivial, since a number of theoretical and computational challenges raised.
First of all, we collected realworld data directly from the online network. In fact, as recently put into evidence in literature [40], the differences between synthetic and realworld data have profound implications on results.
 (i)
We assessed the tendency of online social network users to constitute communities of small size, proving the presence of a decreasing number of communities of larger size. This behavior explains the tendency of users to selforganization even in absence of a coordinated effort.
 (ii)
We investigated the occurrence of connections among communities, finding that some kind of links, commonly referred as to weak ties, are more relevant than others because they connect communities each other, according to the Granovetter’s strength of weak ties theory [24] and in agreement with recent studies on other online social networks such as Twitter [21].
 (iii)
The community structure is highly clusterized and the diameter of the community structure metanetwork is small (approximately around 4 and 5). These aspects indicate the presence of the small world phenomenon, which characterizes realworld social networks, according to sociological studies envisioned by Milgram [23] and in agreement with some heuristic evaluations recently provided by Facebook [18, 19].
 (i)
Devising a model to identify the most representative users inside each given community. This would leave space for further interesting applications, such as the maximization of advertising on online social networks, the analysis of communication dynamics, spread of influence and information and so on.
(ii) Exploiting geographical data regarding the physical location of users of Facebook, to study the effect of strong and weak ties in the society [24]. In fact, is it known that a relevant additional source of information is represented by the geographical distribution of individuals [68–70]. For example, we suppose that strong ties could reflect relations characterized by physical closeness, while weak ties could be more appropriate to represent connections among physically distant individuals.
(iii) Concluding, we devised a strategy to estimate the strength of ties between social network users [71] and we want to study its application to online social networks on a large scale. In the case of social ties, this is equivalent to estimate the friendship degree between a pair of users by considering their interactions and their attitude to exchange information.
Appendix
In this appendix we shortly discuss the background in community detection algorithms and explain the functioning of the two community detection methods adopted during our experimentation, namely LPA and FNCA.
Community detection in complex networks
The problem of discovering the community structure of a network has been approached in several different ways. A common formulation of this problem is to find a partitioning $V=({V}_{1}\cup {V}_{2}\cup \cdots \cup {V}_{n})$ of disjoint subsets of vertices of the graph $G=(V,E)$ representing the network (in which the vertices represent the users of the network and the edges represent their social ties) in a meaningful manner.
assuming ${l}_{s}$ the number of edges between vertices belonging to the s th community and ${d}_{s}$ the sum of the degrees of the vertices in the s th community. High values of Q imply high values of ${l}_{s}$ for each discovered community. In that case, detected communities are dense within their structure and weakly coupled among each other.
Partitioning a network in disjoint subsets may arise some difficulties. In fact, each user in the network possibly belongs to several different communities; the problem of overlapping community detection has recently received a lot of attention (see [34]). Moreover, may exist networks in which a certain individual may not belong to any group, remaining isolated, as recently put into evidence by Hunter et al. [16]. Such a case commonly happens in real and online social networks, as reported by recent social studies [72].
Community detection techniques
In its general formulation, the problem of finding communities in a network is solvable assigning each vertex of the network to a cluster, in a meaningful way. There exist different paradigms to solve this problem, such as the spectral clustering [73, 74] which relies on optimizing the process of cutting the graph, and the network modularity maximization methods.
Regarding spectral clustering techniques, they have an important limitation. They require a prior knowledge on the network, to define the number of communities present in the network and their size. This makes them unsuitable if the aim is to unveil the unknown community structure of a given network.
As for network modularity maximization techniques, the task of maximizing the objective function Q has been proved NPhard [75], thus several heuristic techniques have been presented during the last years. The GirvanNewman algorithm [50, 51, 76] is an example. It exploits the assumption that it is possible to maximize the value of Q deleting edges with a high value of betweenness, starting from the intuition that they connect vertices belonging to different communities. Unfortunately, the cost of this algorithm is $O({n}^{3})$, being n the number of vertices in the network; it is unsuitable for largescale networks. A tremendous amount of improved versions of this approach have been provided in the last years and are extensively discussed in [30, 31].
From a computational perspective, some of the stateoftheart algorithms are Louvain method [77, 78], LPA [48, 79], FNCA [49] and a voltagebased divisive method [80]. All these algorithms provide with near linear computational costs.
Recently, the problem of discovering the community structure in a network including the possibility of finding overlapping nodes belonging to different communities at the same time, has acquired a lot of attention by the scientists because of the seminal paper presented by Palla et al. [81]. A lot of efforts have been spent in order to advance novel possible strategies. For example, an interesting approach has been proposed by Gregory [82], that is based on an extension of the Label Propagation Algorithm adopted in this work. On the other hand, an approach in which the hierarchical clustering is instrumental to find the overlapping community structure has been proposed by Lancichinetti et al. [56, 83].
Label Propagation Algorithm (LPA)
The LPA (Label Propagation Algorithm) [48] is a near linear time algorithm for community detection. Its functioning is very simple, considered its computational efficiency. LPA uses only the network structure as its guide, is optimized for largescale networks, does not follow any predefined objective function and does not require any prior information about the communities. Labels represent unique identifiers, assigned to each vertex of the network.
Its functioning is reported as described in [48]:
Step 1 To initialize, each vertex is given a unique label;
Step 2 Repeatedly, each vertex updates its label with the one used by the greatest number of neighbors. If more than one label is used by the same maximum number of neighbors, one is chosen randomly. After several iterations, the same label tends to become associated with all the members of a community;
Step 3 Vertices labeled alike are added to one community.
Authors themselves proved that this process, under specific conditions, could not converge. In order to avoid deadlocks and to guarantee an efficient network clustering, we accept their suggestion to adopt an asynchronous update of the labels, considering the values of some neighbors at the previous iteration and some at the current one. This precaution ensures the convergence of the process, usually in few steps. Raghavan et al. [48] ensure that five iterations are sufficient to correctly classify 95% of vertices of the network. After some experimentation, we found that this forecast is too optimistic, thus we elevated the maximum number of iterations to 50, finding a good compromise between quality of results and amount of time required for computation.
A characteristic of this approach is that it produces groups that are not necessarily contiguous, thus it could exist a path connecting a pair of vertices in a group passing through vertices belonging to different groups. Although in our case this condition would be acceptable, we adopted the suggestion of the authors to devise a final step to split the groups into one or more contiguous communities.
The authors proved its near linear computational cost [48].
Fast Network Community Algorithm (FNCA)
FNCA (Fast Network Community Algorithm) [49] is a modularity maximization algorithm for community detection, optimized for largescale social networks.
The authors [49] proved that: (i) any node in a network can evaluate its function f only by using local information (the information of its community); (ii) if the variety of some nodes label results in the increase of its function f and the labels of the other nodes do not change, the function Q of the whole network will increase too. The community detection algorithm used is based on these assumptions. It makes each node maximize its own function f by using local information in the sight of local view, which will then achieve the goal that optimize the function Q.
Moreover, in complex networks with a community structure, holds true the intuition that any node should have the same label with one of its neighbors or it is itself a cluster. Therefore, each node does not need to compute its function f for all the labels at each iteration, but just for the labels of its neighbors. This improvement not only decreases the time complexity of the algorithm, but also makes it able to optimize the function Q by using only local information of the network community structure.
It has been proved that this algorithm, under certain conditions, could not quickly converge, thus we introduced an iteration number limitation T as additional termination condition. Experimental results show that, the clustering solution of FNCA is good enough before 50 iterations for most largescale networks. Therefore, iteration number limitation T is set at 50 in all the experiments in this paper. Authors proved the near linear cost of this algorithm [49].
Author’s contributions
EF designed and performed research, prepared figures, carried out empirical analysis, wrote and reviewed the manuscript.
Endnotes
Data are represented in a compact format in order to save I/O operations and then are anonymized, in order not to store any kind of private data (such as the userIDs).
http://www.emilio.ferrara.name/datasets/.
Remind that the vectors taken into account represent the communities of the network.
To this regard, we put into evidence that the xaxis is reversed and we recall that the diameter of the considered community structures is 4.45 and 4.85, respectively for LPA and FNCA.
We recall that, being the network model adopted undirected, the meaning of source and target node is only instrumental to identify the endvertex of each given edge.
The roles of weak ties is to connect small communities of acquaintances which are not that close to belong to the same community but, on the other hand, are somehow proficiently in contact.
Declarations
Acknowledgements
The author is grateful to A. Flammini, B. Gonçalves, A. Lancichinetti, F. Menczer, F. Radicchi, and J.J. Ramasco for comments and suggestions on the manuscript.
Authors’ Affiliations
References
 Mislove A, Marcon M, Gummadi K, Druschel P, Bhattacharjee B: Measurement and analysis of online social networks. Proceedings of the 7th ACM SIGCOMM conference on internet measurement 2007, 29–42.View ArticleGoogle Scholar
 Zinoviev D, Duong V, Foley A, Voithofer R, Erhabor E, Mann R, GwadrySridhar F, Bowman S, Soer J, Hasna A, et al.: Toward understanding friendship in online social networks. Int J Technol Knowl Soc 2009,5(2):1–8.Google Scholar
 Wilson C, Boe B, Sala A, Puttaswamy K, Zhao B: User interactions in social networks and their implications. In Proceedings of the 4th ACM European conference on computer systems. ACM, New York; 2009:205–218.Google Scholar
 Ferrara E, Fiumara G, Baumgartner R (2010) Web data extraction, applications and techniques: a survey. Technical reportGoogle Scholar
 Heer J, Shneiderman B: Interactive dynamics for visual analysis. ACM Queue 2012,10(2):1–30.View ArticleGoogle Scholar
 Boccaletti S, Latora V, Moreno Y, Chavez M, Hwang D: Complex networks: structure and dynamics. Phys Rep 2006,424(4–5):175–308. 10.1016/j.physrep.2005.10.009MathSciNetView ArticleGoogle Scholar
 Backstrom L, Huttenlocher D, Kleinberg J, Lan X: Group formation in large social networks: membership, growth, and evolution. In Proceedings of the 12th ACM SIGKDD international conference on knowledge discovery and data mining. ACM, New York; 2006:44–54.View ArticleGoogle Scholar
 Leskovec J, Lang K, Dasgupta A, Mahoney M: Statistical properties of community structure in large social and information networks. In Proceeding of the 17th international conference on World Wide Web. ACM, New York; 2008:695–704.View ArticleGoogle Scholar
 Lozano S, Arenas A, Sánchez A: Mesoscopic structure conditions the emergence of cooperation on social networks. PLoS ONE 2008.,3(4):e1892View ArticleGoogle Scholar
 Karrer B, Levina E, Newman M: Robustness of community structure in networks. Phys Rev E 2008.,77(4):046119View ArticleGoogle Scholar
 Leskovec J, Lang K, Dasgupta A, Mahoney M: Community structure in large networks: natural cluster sizes and the absence of large welldefined clusters. Internet Math 2009, 6: 29–123. 10.1080/15427951.2009.10129177MATHMathSciNetView ArticleGoogle Scholar
 Lancichinetti A, Kivelä M, Saramäki J: Characterizing the community structure of complex networks. PLoS ONE 2010.,5(8):e11976
 Traud A, Kelsic E, Mucha P, Porter M: Comparing community structure to characteristics in online collegiate social networks. SIAM Rev 2011, 53: 526–546. 10.1137/080734315MathSciNetView ArticleGoogle Scholar
 Nishikawa T, Motter A: Discovering network structure beyond communities. Sci Rep 2011., 1:151Google Scholar
 Kleinberg J: The smallworld phenomenon: an algorithm perspective. In Proceedings of the thirtysecond annual ACM symposium on theory of computing. ACM, New York; 2000:163–170.Google Scholar
 Hunter D, Goodreau S, Handcock M: Goodness of fit of social network models. J Am Stat Assoc 2008,103(481):248–258. 10.1198/016214507000000446MATHMathSciNetView ArticleGoogle Scholar
 Centola D: The spread of behavior in an online social network experiment. Science 2010,329(5996):1194–1197. 10.1126/science.1185231View ArticleGoogle Scholar
 Backstrom L, Boldi P, Rosa M, Ugander J, Vigna S (2011) Four degrees of separation. Arxiv preprint. arXiv:1111.4570Google Scholar
 Ugander J, Karrer B, Backstrom L, Marlow C (2011) The anatomy of the facebook social graph. Arxiv preprint. arXiv:1111.4503Google Scholar
 Ratkiewicz J, Fortunato S, Flammini A, Menczer F, Vespignani A: Characterizing and modeling the dynamics of online popularity. Phys Rev Lett 2010.,105(15):158701View ArticleGoogle Scholar
 Grabowicz P, Ramasco J, Moro E, Pujol J, Eguiluz V: Social features of online networks: the strength of intermediary ties in online social media. PLoS ONE 2012., 7:e29358Google Scholar
 Conover M, Gonçalves B, Flammini A, Menczer F: Partisan asymmetries in online political activity. EPJ Data Sci 2012., 1: 6Google Scholar
 Milgram S: The small world problem. Psychol Today 1967, 2: 60–67.Google Scholar
 Granovetter M: The strength of weak ties. Am J Sociol 1973, 78: 1360–1380. 10.1086/225469View ArticleGoogle Scholar
 Borgatti S, Everett M: Models of core/periphery structures. Soc Netw 1999, 21: 375–395.View ArticleGoogle Scholar
 Everett M, Borgatti S: Peripheries of cohesive subsets. Soc Netw 1999, 21: 397–407.View ArticleGoogle Scholar
 Goldenberg J, Libai B, Muller E: Using complex systems analysis to advance marketing theory development: modeling heterogeneity effects on new product growth through stochastic cellular automata. AMS Review 2001,9(3):1–18.Google Scholar
 Goldenberg J, Libai B, Muller E: Talk of the network: a complex systems look at the underlying process of wordofmouth. Mark Lett 2001,12(3):211–223. 10.1023/A:1011122126881View ArticleGoogle Scholar
 Zhou X, Xu Y, Li Y, Josang A, Cox C: The stateoftheart in personalized recommender systems for social networking. Artif Intell Rev 2012,37(2):119–132. 10.1007/s1046201192221View ArticleGoogle Scholar
 Porter M, Onnela J, Mucha P: Communities in networks. Not Am Math Soc 2009,56(9):1082–1097.MATHMathSciNetGoogle Scholar
 Fortunato S: Community detection in graphs. Phys Rep 2010,486(3–5):75–174. 10.1016/j.physrep.2009.11.002MathSciNetView ArticleGoogle Scholar
 Coscia M, Giannotti F, Pedreschi D: A classification for community discovery methods in complex networks. Stat Anal Data Min 2011,4(5):512–546. 10.1002/sam.10133MathSciNetView ArticleGoogle Scholar
 Tang L, Wang X, Liu H: Community detection via heterogeneous interaction analysis. Data Min Knowl Discov 2011,25(1):1–33.MathSciNetView ArticleGoogle Scholar
 Xie J, Kelley S, Szymanski B (2011) Overlapping community detection in networks: the state of the art and comparative study. Arxiv preprint. arXiv:1110.5813Google Scholar
 Newman M: Communities, modules and largescale structure in networks. Nat Phys 2011, 8: 25–31. 10.1038/nphys2162View ArticleGoogle Scholar
 Kurant M, Markopoulou A, Thiran P: On the bias of BFS (Breadth First Search). In Proceedings of the 22nd international teletraffic congress. IEEE Press, New York; 2010:1–8.Google Scholar
 Fortunato S, Barthélemy M: Resolution limit in community detection. Proc Natl Acad Sci USA 2007, 104: 36. 10.1073/pnas.0605965104View ArticleGoogle Scholar
 Good B, de Montjoye Y, Clauset A: Performance of modularity maximization in practical contexts. Phys Rev E 2010.,81(4):046106MathSciNetView ArticleGoogle Scholar
 Watts D, Strogatz S: Collective dynamics of ‘smallworld’ networks. Nature 1998,393(6684):440–442. 10.1038/30918View ArticleGoogle Scholar
 Tibély G, Kovanen L, Karsai M, Kaski K, Kertész J, Saramäki J: Communities and beyond: mesoscopic analysis of a large social network with complementary methods. Phys Rev E 2011.,83(5): Article ID 056125 Article ID 056125View ArticleGoogle Scholar
 Leskovec J, Faloutsos C: Sampling from large graphs. In Proceedings of the 12th ACM SIGKDD international conference on knowledge discovery and data mining. ACM, New York; 2006:631–636.View ArticleGoogle Scholar
 Kurant M, Markopoulou A, Thiran P: Towards unbiased BFS sampling. IEEE J Sel Areas Commun 2011,29(9):1799–1809.View ArticleGoogle Scholar
 Chau D, Pandit S, Wang S, Faloutsos C: Parallel crawling for online social networks. In Proceedings of the 16th international conference on World Wide Web. ACM, New York; 2007:1283–1284.View ArticleGoogle Scholar
 Gjoka M, Kurant M, Butts C, Markopoulou A: Walking in Facebook: a case study of unbiased sampling of OSNs. In Proceedings of the 29th conference on information communications. IEEE Press, New York; 2010:2498–2506.Google Scholar
 Catanese S, De Meo P, Ferrara E, Fiumara G, Provetti A: Crawling Facebook for social network analysis purposes. Proceedings of the international conference on web intelligence, mining and semantics 2011, 52:1–52:8.Google Scholar
 Ferrara E: Community structure discovery in Facebook. Int J Soc Netw Min 2012, 1: 67–90. 10.1504/IJSNM.2012.045106View ArticleGoogle Scholar
 Partow A General purpose hash function algorithms. http://www.partow.net/programming/hashfunctions/
 Raghavan U, Albert R, Kumara S: Near linear time algorithm to detect community structures in largescale networks. Phys Rev E 2007.,76(3): Article ID 036106 Article ID 036106
 Jin D, Liu D, Yang B, Liu J: Fast complex network clustering algorithm using agents. Proceedings of the 8th international conference on dependable, autonomic and secure computing 2009, 615–619.Google Scholar
 Girvan M, Newman M: Community structure in social and biological networks. Proc Natl Acad Sci USA 2002,99(12):7821. 10.1073/pnas.122653799MATHMathSciNetView ArticleGoogle Scholar
 Newman M, Girvan M: Finding and evaluating community structure in networks. Phys Rev E 2004.,69(2): Article ID 026113 Article ID 026113
 Hu Y, Ding Y, Fan Y Di Z (2010) How to measure significance of community structure in complex networks. Arxiv preprint. arXiv:1002.2007v1View ArticleGoogle Scholar
 Yang Y, Sun Y, Pandit S, Chawla N, Han J: Is objective function the silver bullet? A case study of community detection algorithms on social networks. In 2011 international conference on advances in social networks analysis and mining. IEEE Press, New York; 2011:394–397.View ArticleGoogle Scholar
 Yang J, Leskovec J (2012) Defining and evaluating network communities based on groundtruth. Arxiv preprint. arXiv:1205.6233v1Google Scholar
 Danon L, DíazGuilera A, Duch J, Arenas A: Comparing community structure identification. J Stat Mech Theory Exp 2005., 2005:P09008Google Scholar
 Lancichinetti A, Fortunato S, Kertész J: Detecting the overlapping and hierarchical community structure in complex networks. New J Phys 2009., 11:033015Google Scholar
 McDaid AF, Greene D, Hurley N (2011) Normalized mutual information to evaluate overlapping community finding algorithms. http://arxiv.org/abs/1110.2515Google Scholar
 Anderson P: Complexity theory and organization science. Organ Sci 1999,10(3):216–232. 10.1287/orsc.10.3.216View ArticleGoogle Scholar
 Rosvall M, Sneppen K: Modeling selforganization of communication and topology in social networks. Phys Rev E 2006., 74:016108Google Scholar
 Latora V, Marchiori M: Efficient behavior of smallworld networks. Phys Rev Lett 2001.,87(19):198701
 Albert R, Jeong H, Barabási A: Error and attack tolerance of complex networks. Nature 2000,406(6794):378–382. 10.1038/35019019View ArticleGoogle Scholar
 Dodds P, Watts D, Sabel C: Information exchange and the robustness of organizational networks. Proc Natl Acad Sci USA 2003,100(21):12516. 10.1073/pnas.1534702100View ArticleGoogle Scholar
 Crucitti P, Latora V, Marchiori M: Model for cascading failures in complex networks. Phys Rev E 2004.,69(4):045104
 Barabási A, Albert R: Emergence of scaling in random networks. Science 1999,286(5439):509–512. 10.1126/science.286.5439.509MathSciNetView ArticleGoogle Scholar
 Barrat A, Barthelemy M, PastorSatorras R, Vespignani A: The architecture of complex weighted networks. Proc Natl Acad Sci USA 2004,101(11):3747. 10.1073/pnas.0400087101View ArticleGoogle Scholar
 Arenas A, Danon L, DiazGuilera A, Gleiser P, Guimera R: Community analysis in social networks. Eur Phys J B, Condens Matter Complex Syst 2004,38(2):373–380. 10.1140/epjb/e2004001301View ArticleGoogle Scholar
 Ahn Y, Bagrow J, Lehmann S: Link communities reveal multiscale complexity in networks. Nature 2010,466(7307):761–764. 10.1038/nature09182View ArticleGoogle Scholar
 Onnela J, Saramäki J, Hyvönen J, Szabó G, Lazer D, Kaski K, Kertész J, Barabási A: Structure and tie strengths in mobile communication networks. Proc Natl Acad Sci USA 2007,104(18):7332. 10.1073/pnas.0610245104View ArticleGoogle Scholar
 Wang D, Pedreschi D, Song C, Giannotti F, Barabási A: Human mobility, social ties, and link prediction. 17th ACM SIGKDD conference on knowledge discovery and data mining (KDD 2011) 2011.Google Scholar
 Onnela J, Arbesman S, González M, Barabási A, Christakis N: Geographic constraints on social network groups. PLoS ONE 2011.,6(4):e16939
 De Meo P, Ferrara E, Fiumara G, Ricciardello A: A novel measure of edge centrality in social networks. KnowlBased Syst 2012, 30: 136–150.View ArticleGoogle Scholar
 Hampton K, Sessions L, Her E, Rainie L (2009) Social isolation and new technology. Pew Internet & American Life Project, Washington, DCGoogle Scholar
 Ng A, Jordan M, Weiss Y: On spectral clustering: analysis and an algorithm. Advances in neural information processing systems 14: proceeding of the 2001 conference 2001, 849–856.Google Scholar
 Hagen L, Kahng A: New spectral methods for ratio cut partitioning and clustering. IEEE Trans ComputAided Des Integr Circuits Syst 2002,11(9):1074–1085.View ArticleGoogle Scholar
 Brandes U, Delling D, Gaertler M, Gorke R, Hoefer M, Nikoloski Z, Wagner D: On modularity clustering. IEEE Trans Knowl Data Eng 2008,20(2):172–188.View ArticleGoogle Scholar
 Newman M: Modularity and community structure in networks. Proc Natl Acad Sci USA 2006,103(23):8577. 10.1073/pnas.0601602103View ArticleGoogle Scholar
 Blondel V, Guillaume J, Lambiotte R, Lefebvre E: Fast unfolding of communities in large networks. J Stat Mech Theory Exp 2008., 2008:P10008Google Scholar
 De Meo P, Ferrara E, Fiumara G, Provetti A: Generalized Louvain method for community detection in large networks. Proceedings of the 11th international conference on intelligent systems design and applications 2011.Google Scholar
 Leung I, Hui P, Lio P, Crowcroft J: Towards realtime community detection in large networks. Phys Rev E 2009.,79(6):066107View ArticleGoogle Scholar
 Wu F, Huberman B: Finding communities in linear time: a physics approach. Eur Phys J B, Condens Matter Complex Syst 2004,38(2):331–338. 10.1140/epjb/e200400125xView ArticleGoogle Scholar
 Palla G, Derényi I, Farkas I, Vicsek T: Uncovering the overlapping community structure of complex networks in nature and society. Nature 2005,435(7043):814–818. 10.1038/nature03607View ArticleGoogle Scholar
 Gregory S: An algorithm to find overlapping community structure in networks. Knowledge discovery in databases: PKDD 2007 2007, 91–102.View ArticleGoogle Scholar
 Lancichinetti A, Radicchi F, Ramasco J: Finding statistically significant communities in networks. PLoS ONE 2011.,6(4): Article ID e18961 Article ID e18961View ArticleGoogle Scholar
Copyright
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.