  Most of the current complex networks that are of interest to practitioners
possess a certain community structure that plays an important role in
understanding the properties of these networks. Moreover, many machine learning
algorithms and tools that are developed for complex networks try to take
advantage of the existence of communities to improve their performance or
speed. As a result, there are many competing algorithms for detecting
communities in large networks. Unfortunately, these algorithms are often quite
sensitive and so they cannot be fine-tuned for a given, but a constantly
changing, real-world network at hand. It is therefore important to test these
algorithms for various scenarios that can only be done using synthetic graphs
that have built-in community structure, power-law degree distribution, and
other typical properties observed in complex networks. The standard and
extensively used method for generating artificial networks is the LFR graph
generator. Unfortunately, this model has some scalability limitations and it is
challenging to analyze it theoretically. Finally, the mixing parameter $\mu$,
the main parameter of the model guiding the strength of the communities, has a
non-obvious interpretation and so can lead to unnaturally-defined networks. In
this paper, we provide an alternative random graph model with community
structure and power-law distribution for both degrees and community sizes, the
Artificial Benchmark for Community Detection (ABCD). We show that the new model
solves the three issues identified above and more. The conclusion is that these
models produce comparable graphs but ABCD is fast, simple, and can be easily
tuned to allow the user to make a smooth transition between the two extremes:
pure (independent) communities and random graph with no community structure.
