This graph is generated from a subset of the last three months of viewership data on hate5six, spanning 300k video plays across roughly 20k unique viewers. I'm interested in the communities of bands that emerge based solely on what people are watching on the site. More explicitly, consider a network where each node is a band and edges are drawn between bands IF a viewer watched a video of both bands. The strength of the edge correlates with the number of unique people who checked out both bands. Intuitively, if a lot of people are watching two particular bands, then those bands likely have some significant relation since they attract the same subset of viewers. Are there subsets or communities of bands that are tighter than others? What do they have in common?

To make the task a bit more tenable I filtered edges/nodes by "importance" by computing the PageRank score for every band/node in the graph and selecting the top 50 bands. PageRank is Google's algorithm for ranking websites, and applying that in this setting results in a ranking of bands based on their "endorsement" from other bands in the network. I then ran a community detection algorithm that measures the density of the edges and greedily generates an optimal partition (ie produces communities of bands based on topology of the network).

This visualization reflects the results. You can sort the matrix by band name or more interestingly by frequency (the band's importance in the network), or even more interestingly by cluster (which groups bands by the partitions via the community detection algorithm). The opacity of the cell indicates the strength of the relation between the two bands (darker = a lot of people watched band A AND band B), and the colors correspond to the detected community.

Some of the clusters and relations make intuitive sense. However, some of the groupings appear to be artifacts of certain bands playing the same show/fest together and viewers subsequently watching the respective sets. What patterns do you see?