# Calculating the Clustering Coefficient of a friend network

In this example, adapted from Niko Gamulins blog post on Neo4j for Social Network Analysis, the graph in question is showing the 2-hop relationships of a sample person as nodes with `KNOWS` relationships. The clustering coefficient of a selected node is defined as the probability that two randomly selected neighbors are connected to each other. With the number of neighbors as `n` and the number of mutual connections between the neighbors `r` the calculation is the number of possible connections between two neighbors is `n!/(2!(n-2)!) = 4!/(2!(4-2)!) = 24/4 = 6`, where `n` is the number of neighbors `n = 4` and the actual number `r` of connections is `1`. Therefore, the clustering coefficient of node 1 is `1/6`. `n` and `r` are quite simple to retrieve via the following query:

``````MATCH (a {name: "startnode"})--(b)
WITH a, count(distinct b) AS n
MATCH (a)--()-[r]-()--(a)
RETURN n, count(distinct r) AS r``````

This returns `n` and `r` for the above calculations.