{'fraction_non_alphanumeric': 0.036002423546669216, 'fraction_numerical': 0.011607512994674576, 'mean_word_length': 4.629150960330282, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 2, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Measuring and Modeling Bipartite Graphs with Community Structure

Network science is a powerful tool for analyzing complex systems in fields ranging from sociology to engineering to biology. This paper is focused on generative models of large-scale bipartite graphs, also known as two-way graphs or two-mode networks. We propose two generative models that can be easily tuned to reproduce the characteristics of real-world networks, not just qualitatively, but quantitatively. The characteristics we consider are the degree distributions and the metamorphosis coefficient. The metamorphosis coefficient, a bipartite analogue of the clustering coefficient, is the proportion of length-three paths that participate in length-four cycles. Having a high metamorphosis coefficient is a necessary condition for close-knit community structure. We define edge, node, and degreewise metamorphosis coefficients, enabling a more detailed understanding of the bipartite connectivity that is not explained by degree distribution alone. Our first model, bipartite Chung-Lu (CL), is able to reproduce real-world degree distributions, and our second model, bipartite block two-level Erd\"os-R\'enyi (BTER), reproduces both the degree distributions as well as the degreewise metamorphosis coefficients. We demonstrate the effectiveness of these models on several real-world data sets.


Introduction
Network science is a powerful tool for analyzing complex systems in fields ranging from sociology to engineering to biology. The ability to develop realistic models of the networks is needed for several reasons. Pragmatically, we need to generate artificial networks to facilitate sharing of realistic network data while respecting concerns about privacy and security of data. More generally, generative models enable unlimited network data generation for computational analysis, e.g., varying the characteristics of the graph to test a graph algorithm under different scenarios. Ultimately, we hope to understand the underlying nature of complex systems, and modeling them mathematically is a way to test our understanding.
This paper is focused on generative models of bipartite graphs, also known as two-way graphs or two-mode networks. Many real-world systems are naturally expressed as bipartite graphs. The defining characteristic of a bipartite graph is that its vertices are divided into two partitions, U and V , such that edges, E, only connect vertices across the two partitions, i.e., G = (U,V, E) with U ∩V = / 0 and E ⊆ U ⊗V.
Examples of bipartite graphs include author-paper networks, user-product purchase histories, user-song play lists, actor-movie connections, document-keyword mappings, and so on. Hypergraphs can be represented as bipartite graphs in the sense of an incidence graph: the nodes and hyperedges are represented by U and V , respectively, and edge (i, j) exists if node i is in hyperedge j. Bipartite graphs have been widely studied; see [9,13,14,20,33,36] and references therein. An example bipartite graph is shown in Fig. 1.

FIG. 1: Bipartite graph
We propose a generative model that can be easily tuned to reproduce the characteristics of real-world networks, not just qualitatively, but quantitatively. The measurements we consider in this paper are the degree distributions and the bipartite analog of the clustering coefficient. Of course, there are many other measurements that we could consider, and we come back to those shortly. The degree distribution is the number (or proportion) of nodes of degree d for each d = 1, 2, . . . . A bipartite graph has two degree distributions, one for each vertex partition. As we see in the results in Section 4.3, these two distributions may be quite different from one another, in part because the size (and, consequently, the average degree) for each partition may be quite different. The clustering coefficient of a one-way graph, introduced by Holland and Leinhardt [16], is the probability that a two-path (or wedge) participates in a three-cycle (or triangle); i.e., c = 3n n ∧ = 3 × (total number of triangles) total number of wedges .
One characteristic of a bipartite graph is that is has no odd-length cycles; hence, it cannot have a triangle. Robins and Alexander [33] propose a bipartite clustering coefficient that is the probability that a bipartite three-path (or caterpillar) participates in a bipartite four-cycle (or butterfly), i.e., c = 4n n = 4 × (total number of butterflies) total number of caterpillars . (1.1) We call c in (1.1) the metamorphosis coefficient in reference to the notion of how often caterpillars become butterflies. Opsahl [30] says "it could be considered a measure of reinforcement between two individuals rather than clustering of a group of individuals." The multiplier of four in the numerator is because every butterfly contains four distinct caterpillars, just as every triangle contains three distinct wedges; see Fig. 2. A high metamorphosis coefficient in a bipartite graph is indicative of greater community structure in the graph, analogous to the role of a high clustering coefficient in a one-way graph.
The metamorphosis coefficient plays an important role in communities because any tight-knit community will have a high metamorphosis coefficient. In Section 5.1, we extend (1.1) to define edge, node, and degreewise metamorphosis coefficients, enabling a more detailed understanding of the bipartite community structure. As mentioned above, there are numerous more complex metrics that can be used in the analysis of bipartite graphs; see, e.g., [20,33]. Examples of such metrics include graph diameter (i.e., the maximum distance between any pair of nodes), singular values of the adjacency matrix, centrality measures, joint degree distributions (i.e., the proportion of nodes of degree d that connect to nodes of degree d for all possible pairs (d, d )), assortativity (i.e., degree correlations), subgraph census (i.e., counts of all patterns of three nodes, four nodes, and so on). Moreover, we can consider the analysis of the product graphs that are produced by considering just one vertex partition and connecting any two nodes that share a common neighbor in the bipartite graph. Because these quantities are often expensive to compute for large graphs, we do not consider them in this paper. Instead, we consider the simpler metrics of degree distribution and metamorphosis coefficients here for reasons analogous to those considered by [20,35]. The degree distributions are interesting because many large real-world graphs (including the ones we consider here) do not have the Poisson distributions that occur if edges are distributed at random; instead, they have heavy-tailed distributions (hypothesized to be power law [2] or log-normal [18]). The metamorphosis coefficient is interesting because random graphs that have the same degree distribution as a real-world graph tend to have a much lower metamorphosis coefficients, as we show in Section 4.4. This is a well-known phenomena for the clustering coefficient of one-way graphs [28]. We contend that matching metamorphosis coefficients is critical for capturing social or, more generally, interconnectedness behavior in networks.
With the goals of capturing both degree distribution and our newly-defined degreewise metamorphosis coefficients, we develop two different models. The first is a straightforward extension of Chung-Lu (CL) [1,6,7], which is very closely related to the configuration model. Our experimental results show that this model is effective at reproducing the degree distributions. However, the bipartite CL graphs do not produce the same metamorphosis coefficients as observed in real-world networks. Therefore, the second model we propose is a bipartite extension of the Block Two-Level Erdős-Rényi (BTER) [18,35] model. The BTER model is a good starting point because it reproduces both the degree distribution and degreewise clustering coefficients of a given network. To do so, it groups nodes into Erdős-Rényi (ER) subgraphs, called affinity blocks, that are highly connected and so produce high clustering coefficients. We propose a bipartite BTER that reproduces both the degree distributions and the degreewise metamorphosis coefficients. This extension is not straightforward since the affinity block concept does not carry over easily to the bipartite case, so we develop a new method for creating the blocks. Computational results for bipartite BTER show that it achieves our goals of matching both the degree distributions and the degreewise metamorphosis coefficients.
Before we continue, we briefly survey related work. As mentioned above, the proposed bipartite CL model is very similar to bipartite configuration models. Both Newman, Strogatz, and Watts [29] and Guillaume and Latapy [14] propose bipartite configuration models that sample node degrees from a distribution (one per partition), create stubs for each node equal to its degree, and then match the stubs. Our bipartite CL model is very similar, and we discuss the connections further in Section 4.2. On the theoretical side, Kannan, Tetali, and Vempala [17] consider the convergence of a Markov chain rewiring algorithm for generating a bipartite graph and show that their process is rapidly mixing for regular bipartite graphs, i.e., graphs where all the node degrees are the same. Later, this result was extended to graphs in which only one partition is required to be regular [22]. In statistics, researchers consider the problem of generating binary contingency tables with given row and columns sums. This problem is equivalent to specifying the degrees in a bipartite graph. In [4,5], the focus is on an algorithm that is guaranteed to produce a specified row and column sums, assuming its realizable. The proposed algorithm is not considered practical but rather of theoretical interest. As for one-way graphs, there are also incremental growth models in which the output graph is iteratively constructed by adding vertices and edges according to some rule. The methods are sequential since the connections created for new nodes usually depend on the state of the graph at the iteration in which the nodes are created. Guillaume and Latapy [14] analyze a bipartite growing model in which new vertices are linked via a preferential attachment process. Other work has considered a similar idea except that one vertex partition remains fixed while the other grows [12,32]. Lastly, we note a variety of application-specific generative bipartite graph models have been introduced to model specific networks, including pollination networks in ecology [10,34], and protein-domain networks in biology [26].

Data sets
We test our methods on publicly-available real-world datasets, whose properties are summarized in Table 1. Their degree distributions are shown in Figs. 3 to 5. CondMat represents an author-paper network from arXiv preprints in condensed matter physics from 1995-99 [27]; this has mostly been used in the context of the coauthorship graph, but here we consider the underlying data [31]. The majority of authors have only a single paper, whereas the most prolific author has 116 papers. Conversely, the most coauthors on a single paper is 18, and the most likely scenario is for a paper to have 2 or 3 authors. IMDB links movies and the actors that appeared in them [19,20], as collected from the Internet Movie Database. The busiest actor was in 294 movies; conversely, the largest production had 646 actors. Flickr [24,25] is an online photo-sharing site, and the network represents group membership of various users. The most connected user is in 2186 groups, whereas the largest group has 34989 members. MovieLens [8,15] is a very famous dataset that links movies and their reviewers/critics. The most-reviewed movie had 34864 reviews, and the most active critic reviewed 7359 movies (orange). This dataset apparently excludes critics with less than 20 reviews. The MillionSong [3,21,39] dataset connects users and the songs they played. The dataset only includes listeners of ten songs or more. The widest-ranging user listened to 4,400 distinct songs. The top song was played by 110,479 distinct listeners. The Peer2Peer dataset [19,20] links users (peers) and the files they uploaded or downloaded. The busiest user touched 19,496 files. On the other hand, the most popular file only had 3396 downloads. LiveJournal [24,25] represents user-group memberships from a blogging site. The most engaged user is in 300 groups, which appears to be the maximum allowed, since there are five persons in that category. The largest group has over one million members.

Notation
We set up the notation for one-way and two-way graphs. We assume all graphs are simple, meaning that there are no multiple edges. In the one-way case, we let n = |V | and index nodes in V by i, j ∈ { 1, . . . , n }.
In the two-way case, we let n u = |U| and n v = |V | denote the sizes of partitions one (left) and two (right), respectively. We use i ∈ { 1, . . . , n u } and j ∈ { 1, . . . , n v } to index nodes in partition one and two, respectively. Without loss of generality, indexing by i assumes partition one and likewise for j and partition two. For instance, if i = j = 2 in the two-way case, although vertices i and j have the same vertex label of 2, they belong to different partitions and are thus two distinct vertices.

Fast Bipartite Chung-Lu Model
We adapt the Chung-Lu generative model [1,6,7] to bipartite graphs and demonstrate its ability to reproduce bipartite degree distributions. We follow the notation described in Section 3.

Chung-Lu for One-way Graphs
Consider a one-way graph G = (V, E). The Chung-Lu (CL) model attempts to match the desired degrees { d 1 , . . . , d n } where d i denotes the desired degree of vertex i. The model generates a random graph on n vertices such that the probability that vertex i is adjacent to j is given by To ensure the quantities are all true probabilities, we assume d i √ 2m for all i. A classical implementation of the CL model on n vertices flips a coin for each of the n 2 = Ω (n 2 ) possible edges. Many real-world graphs are large and sparse, i.e., the number of edges m = O(n). For this reason, we favor "fast" CL that flips only 2m coins [11,18]. We explain the fast method below in the context of two-way graphs.

Chung-Lu for Two-way Graphs
Consider the bipartite graph G = (U,V, E). Here we have separate desired degrees for the vertices in U and V , denoted , respectively. Necessarily, the sums of the degrees in each partition must be equal to each other and to the number of edges, i.e., Hence, the bipartite CL model generates a random bipartite graph on n u vertices in the first partition and n v vertices in the second partition such that To ensure these are true probabilities, we assume d u i √ m for all i and d v j √ m for all j. A naïve implementation of bipartite Chung-Lu would flip a coin for all n u n v possible edges. Instead, we adopt the "fast" approach as follows. Rather than flipping a coin for every possible edge, we instead randomly choose two endpoints for every expected edge. Since the graph is sparse, we may assume that m n u n v , so this approach requires many fewer random samples. For each of the m edges, we choose endpoints in U and V proportional to respectively. The probability that edge (i, j) exists is then given by which is the same as (4.1). Although both implementations of CL yield identical expected degrees, a key distinction is that multiple edges between the same pair of vertices are possible in fast CL. In practice, for large graphs with heavy-tailed degree distributions, this rarely presents a problem. The fast bipartite CL algorithm is described in Algorithm 1.
Duplicate edges discarded 8: end for 9: return E 10: end procedure As mentioned in the introduction, a closely-related approach is the bipartite configuration model [14,29]. These differ in some details; for instance, in the CL model, the degree distribution is not specified exactly but rather each degree is sampled from a distribution. However, if we ignore that detail, we may consider that each node i ∈ U has d u i stubs and likewise each node j ∈ V has d v j stubs, and the stubs from partition one are randomly connected to the stubs in partition two. As with fast bipartite CL, we discard any repeated edges. In all three cases, bipartite CL, fast bipartite CL, and the bipartite configuration models, the expected degree of a vertex is the same.

Experimental Results
We generate random graphs using CL and the degree distributions of the graphs described in Section 2. in blue, and the degree distribution of the graph generated by bipartite CL is shown in orange. These are binned degree distributions, as advocated in [23]. We use powers of two for the bin borders, so the x-coordinate 2 k corresponds to the bin from [2 k , 2 k+1 ).  and 5f). For CondMat (Figs. 3a and 3b), the distribution of degrees on the author nodes is a close match, but there is some trouble matching the paper degree distribution. The model slightly overestimates at the higher end of the degree scale and underestimates at the lower end. This is largely due to the small size of the graph and the very small distribution (maximum of 18 authors for a paper). For MovieLens (Figs. 4e and 4f), the model generates a few "critic" nodes of degree less than 20, even though no nodes exist in the true degree distribution. A similar phenomena occurs for the "user" nodes in MillionSong.
In general, the CL model cannot handle gaps in the degree distribution because of Poisson distributions in its expectations. In Peer2Peer (Figs. 5c and 5d), the number of degree-1 peer nodes is underestimated, for reasons described in [11].

Shortcomings of bipartite CL
Overall, if we provide the degree distributions of real-world graph, the fast bipartite CL model generates a random graph whose degree distribution closely matches the degree distribution of the original graph. However, the graphs generated by CL typically have many fewer butterflies than the original graphs. Table 3 shows that the number of butterflies from bipartite CL is smaller than the original graph in every case, and sometimes by one or more orders of magnitude (CondMat, IMDB, Peer2Peer). The number of caterpillars for the original and the generated graphs on the other hand, is closer, so the metamorphosis of the original graph is much higher than for the generated graph with low butterfly counts. This indicates that the bipartite CL model is omitting some important structure. Note that the butterfly structure is what underlies the cohesive, close-knit structure in many realworld graphs. Just as a triangle can be considered as the smallest unit of cohesion on one-way graphs, butterflies can be considered as the smallest unit of cohesion in bipartite graphs. Conversely, without butterflies, a bipartite graph will not have a community structure. This is our motivation for considering a more complex model in the next section.

Bipartite BTER Model
In the BTER model for one-way graphs, the goal is to match both the degree distribution as well as the degreewise clustering coefficients [18,35]. Our goal here is to extend those notions to the bipartite case. We use (1.1) as the bipartite definition of the clustering coefficient, though other metrics exist as surveyed by Latapy, Magnien, and Vecchio [20] and Opsahl [30].

Degreewise Metamorphosis Coefficient
BTER matches the degreewise clustering coefficient, so we need a similar measure for bipartite graphs. We describe the degreewise metamorphosis coefficient, which provides a more nuanced measurement of bipartite community structure than the metamorphosis coefficient. To the best of our knowledge, this idea has not been proposed before. We define the metamorphosis of an edge (i, j) as We know the number of caterpillars centered at (i, j) immediately from the degrees of its endpoints, i.e., From this, we define the metamorphosis coefficients of vertices i ∈ U and j ∈ V as the mean value over all edges incident to the vertex: We may consider (5.3) to be the bipartite analogue of the clustering coefficient of a vertex, as introduced by Watts and Strogatz [38]. Finally, we can define the per-degree metamorphosis coefficients to be where U d and V d denote the subsets of degree-d nodes, i.e., Degreewise metamorphosis coefficients control for the effects of both vertex mode and vertex degree on bipartite clustering. Accordingly, this metric may reveal insights otherwise lost in metrics based only on the ratio of total butterfly to caterpillar counts. To illustrate, consider the CondMat author-paper network, whose degreewise metamorphosis coefficients are shown by the blue line in Figs. 6c and 6d. The degreewise metamorphosis coefficients are also binned in the same way that we binned the data for the degree distributions: We use powers of two for the bins, so the x-coordinate 2 k corresponds to the bin from [2 k , 2 k+1 ). The y-coordinate is the average value for that bin. For the binning, we define c u d = 0 for any degree such that |U d | = 0 (i.e., when there are no nodes of degree d), and likewise for c v c . We see that degreewise metamorphosis coefficients in the author mode (Fig. 6c) are higher for low degrees than for high degrees, meaning that authors with fewer papers tended to have higher proportion of repeat collaborations than authors with many papers. Conversely, the paper mode (Fig. 6d) shows that authors of papers with few authors tend to have more repeats of the same author set.

Affinity Blocks
In BTER for one-way graphs, dense ER subgraphs are key to producing triangles. For bipartite BTER, we will use dense bipartite ER subgraphs to produce butterflies. We refer to these dense ER subgraphs as affinity blocks.
In (one-way) BTER, an affinity block ideally consists of a set of d + 1 vertices of degree d. The connectivity of each block is computed according to the degree-d clustering coefficient. The bipartite affinity blocks are similar in spirit, but the bipartite nature of the graph raises issues that require an entirely new approach to the block construction.
The first key difference is that each affinity block in bipartite BTER consists of two sets of vertices, one from each partition. While each partition set in an affinity block ideally contains vertices of the same degree, the degrees do not necessarily match between partition sets. Indeed, in many bipartite graphs, one partition set may have a very different range of degrees than the other, so attempting to create blocks that match inter-partition degree is not a realistic goal.
Consequently, a second key difference concerns how we determine the sizes of the partition sets for the affinity blocks. In the one-way BTER method, the size of each block only depends on the degree of the vertices in the block. In the two-way case, the sizes of each partition set within a block is more complicated.
To work out the calculations of sizes and connectivity for the blocks, we consider building a single affinity block denoted byĜ = (Û,V ,Ê). Without loss of generality, we assume all nodes inÛ want degreed u and all nodes inV want degreed v . Note that these degrees are with respect to the entire graph, not the subgraph. We further assume all nodes inÛ want metamorphosis coefficientĉ u and likewise forV andĉ v . When matching a real-world graph, we choose the degreewise metamorphosis coefficients corresponding to the target degrees as defined in (5.4), i.e., The goal is to determine the sizesn u = |Û| andn v = |V | and the connectivity, ρ, which is the probability of an edge between a node inn u and a vertex inn v , and thus the number of edges, |Ê| For i ∈Û, we can compute its expected metamorphosis coefficient as follows. By definition (5.3), we have The last step comes from the assumption that nearly all butterflies in the larger graph come from the affinity blocks. Using definition (5.1), we can rewrite (5.5) as .

(5.6)
We have assumed that the degrees and clustering coefficients withinĜ are constant, so (5.6) becomeŝ .
The last equality uses the fact that the sum of butterflies involving edges of the form (i, j) is equal to two times the number of butterflies involving node i since each such butterfly has two edges involving i.
In expectation, because there are (n u − 1) other choices for the second node inÛ and n v 2 choices for the two nodes in V . Finally, ρ 4 is the probability that all four edges exist. Combining (5.7) and (5.8) giveŝ Using analogous reasoning forĉ v , we ultimately want Ideally, we would haven u =d v andn v =d u , (5.11) but we cannot generally satisfy (5.10) and (5.11) at the same time. Therefore, we choose one of the equalities in (5.11) and then solve for the other number of nodes and connectivity using (5.10) to get So that we can have the possibility of using a complete bipartite subgraph to yield metamorphosis coefficients of one, we constrain our choices to satisfy: (5.14) To satisfy (5.14), we choose (5.12) ifĉ û c v 1 and (5.13) otherwise. It is easy to see from (5.10) that this has the added bonus of ensuring ρ 1. This logic forms the basis of building affinity blocks for bipartite BTER.

Bipartite BTER algorithm
As explained in Section 5.2, the affinity block building process for bipartite BTER takes into account both the desired vertex degrees and corresponding desired per-degree metamorphosis coefficients when setting the partition sizes and connectivity of each affinity block. This information is then used to model each affinity block as an ER subgraph, where the preponderance of the graph butterflies are created. Accordingly, the affinity block construction is key to matching per-degree metamorphosis coefficients. In order to match the desired degree distribution, the remaining excess degree (i.e., edges not used in constructing the affinity blocks) is connected via a fast bipartite CL procedure. The full bipartite BTER algorithm is listed in Algorithm 2.
We assume that degrees are sorted in increasing order 2: repeat Create affinity blocks until nodes exhausted i ← i +n u , j ← j +n v

26:
until i > n u or j > n v 27:

Experimental Results
We generate bipartite BTER graphs using the procedure described in Section 5.3. We first discuss a single graph: CondMat. We show the resulting degree distribution and degreewise metamorphosis coefficients in Fig. 6. The degree distributions, shown in Figs. 6a and 6b, show little difference between bipartite BTER and CL; both are good matches to the original degree distribution. The degreewise metamorphosis coefficients are shown in Figs. 6c and 6d. Although there is not a perfect match between bipartite BTER and the original graph, it is much better than CL, which has almost no butterflies. Summary data for all graphs is shown in Table 4. This is the same as Table 3 except that now we have added a row for bipartite BTER. For the first four graphs, we are reporting average values over 100 experiments, and we also report the entire range of values; we do not do multiple trials for the larger graphs because the postprocessing to count the butterflies is extremely expensive. The number of butterflies and metamorphosis coefficients are significantly improved as compared to CL. We see that CondMat has 70,000 butterflies, bipartite CL produces less than 400 butterflies, but bipartite BTER produces 120,000 butterflies. The bipartite BTER number is a slight overestimate, but overall much better than CL. The degreewise metamorphosis coefficients for the remaining graphs are shown in Figs. 7 and 8. Even in cases where bipartite CL's overall numbers are close to the original graph as shown in Table 4, the degreewise metamorphosis coefficients are essentially zero. Bipartite BTER corrects this problem and gets metamorphosis coefficients that are much closer to what we see in the original graph. In some cases like MovieLens (Fig. 7e), the CL metamorphosis coefficients are much higher than zero, which is the result of the overall high density of the graph. Indeed, it has been proven (see Lemma 1 in [37]) that under mild assumptions, any bipartite graph with m edges and partition sizes n u and n v contains at least on the order of ( n u n v ) 2 · ( m n u +n v ) 4 many butterflies. Thus, the presence of a certain minimum number butterflies in bipartite graphs of sufficient density is inevitable; nevertheless, the original graph still has higher values that are matched better by bipartite BTER. MovieLens also has an unusual profile in Mode 2 (see Fig. 7f), which is really just an artifact of the data collection. Nevertheless, bipartite BTER is able to obtain a reasonable approximation. For completeness, the degree distributions for bipartite CL and BTER as compared to the original graphs are shown in Figs. 9 and 10. There is little difference between bipartite BTER and CL in terms of the degree distribution.

Conclusions
We have considered the problem of how to generate realistic bipartite graphs to reproduce the characteristics of large real-world networks. Our first model, bipartite CL, accurately reproduces the degree distribution. Our second model, bipartite BTER, goes further to capture the degreewise metamorphosis coefficients. High coefficients are indicative of a relatively large number of butterflies indicating cohesion or community structure, which is rare in sparse random graphs unless there are some behaviors that go beyond just the degree structure. Creating realistic graph models leads to some hypotheses about the ways the graphs were formed. In the cases where CL greatly underestimated the number of butterflies (CondMat, IMDB, and Peer2Peer), we can surmise that there is some significant community-like behavior. This is easy to see for authorship of papers (CondMat) and actors appearing in movies (IMBD). For the Peer2Peer network, we might hypothesize that some tight-knit peer groups are sharing many files between themselves. The other graphs have a smaller difference between the number of butterflies produced by CL and the real-world graph, indicating that there is much less community structure. In fact, some graphs are so dense that CL has a nonzero metamorphosis coefficient, especially MovieLens.
Although these models match real-world observations in some aspects, more study is needed to understand their limitations. How well do these models reproduce other metrics such as graph diameter, singular values of the adjacency matrix, centrality measures, joint degree distributions, assortativity, subgraph census, and so on? Can we find evidence that affinity blocks exist in real-world graphs? We have created non-overlapping blocks; is that realistic? We have not mentioned time-evolution, but certainly all networks are evolving in time and we need models that capture such changes. These are but a few topics for future investigation.

Funding
This work was supported in part by the Defense Advanced Research Project Agency (DARPA). Sandia National Laboratories is a multi-program laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin Corporation, for the U.S. Department of Energy's National Nuclear Security Administration under contract DE-AC04-94AL85000.