Metrics

Reddit-detective implements scientifically proven metrics for social networks, as a way of inspecting the anatomy of the social network.

Interaction score

For a Redditor in the graph,

  • Interaction score = # Comments received / (# Comments received + # Comments made)
  • Score close to 0: User is a starter
  • Score close to 1: User is a consumer

Best practice is to use it in networks with nodes with limit=None

Inspired from: "Analyzing behavioral trends in community driven discussion platforms like Reddit" (DOI: 10.1109/ASONAM.2018.8508687)

from reddit_detective.analytics import metrics
# Assuming a network graph is created and database is started

score = metrics.interaction_score(driver, "Anub_Rekhan")
score_norm = metrics.interaction_score_normalized(driver, "Anub_Rekhan")
print(score)  # 0.375
print(score_norm) # 0.057324840764331204

Cyborg score

For a Redditor, Submission or a Subreddit in the graph,

  • Cyborg score = # Cyborg-like comments / # All comments
  • Cyborg-like comment: Comment posted under a submission within 6 seconds of its creation

At a subreddit, 17%-20% of the people exhibit such cyborg-like behaviors. If a post's first comment is made within 6 seconds, the chances of it being cyborg-like is 79%-83.9% according to the paper. This information is extracted by looking at the character sizes of those comments.

Note that a Cyborg-like comment can also be an advertisement, AutoModerator post or a copy-paste.

Inspired from: "Analyzing behavioral trends in community driven discussion platforms like Reddit" (DOI: 10.1109/ASONAM.2018.8508687)

# Assuming a network graph is created and database is started

from reddit_detective.analytics import metrics

# Tuple's first element is the score, 
# second element is the list of IDs of the cyborg-like comments
score, comms = metrics.cyborg_score_user(driver, "Anub_Rekhan")
print(score)  # 0.2
print(comms)  # ['q3qm5mo']