Skip to main content

Social Network Growth & Retention Simulation

Designed and analysed a probabilistic agent-based simulation modelling social network growth, engagement, and churn dynamics.

Overview

This project involved the design and implementation of a probabilistic agent-based simulation modelling how a social network grows and retains users over time.

Rather than building a functional social platform, the objective was to explore how personality-driven behaviour, stochastic interaction patterns, and retention mechanisms influence network expansion and long-term sustainability.

The system was implemented in Java and complemented with quantitative analysis in Python.


Core Objectives

The simulation aimed to investigate:

  • how personality traits influence user engagement
  • how probabilistic invitation behaviour drives network growth
  • how churn mechanisms affect long-term stability
  • how engagement scores correlate with retention
  • whether different parameter configurations lead to linear, quadratic, or exponential growth

The focus was on modelling system dynamics under uncertainty.


Agent-Based Behaviour Model

Each user was represented as an object with:

  • randomly generated personality attributes
  • probabilistic interaction behaviour
  • engagement scoring mechanisms
  • invitation likelihood influenced by behavioural state
  • churn probability based on engagement and network conditions

Growth emerged from local probabilistic decisions, not deterministic scripts.

This allowed the simulation to produce realistic, non-linear expansion patterns driven by behavioural variability.


Retention & Engagement Dynamics

The system explicitly modelled:

  • engagement score accumulation
  • reduced activity over time
  • churn thresholds
  • behavioural differences between high- and low-engagement users

Multiple strategies were implemented to compare how different retention assumptions influenced overall growth.

This enabled experimentation with both expansion-focused and stability-focused network dynamics.


Graph Representation & Network Visualisation

The social structure was represented as a graph:

  • nodes representing individual users
  • edges representing friendships

A Java graph visualisation library was used to observe structural evolution over time, including:

  • clustering patterns
  • network density
  • connectivity growth
  • fragmentation under churn conditions

No full GUI was implemented, as the emphasis remained on simulation accuracy and analysis.


Quantitative Analysis (Python)

Simulation outputs were exported for post-processing in Python.

Analysis included:

  • growth curve modelling
  • comparison between behavioural strategies
  • evaluation of churn impact
  • statistical interpretation of engagement dynamics

The results formed the basis of a formal academic dissertation.


Timeframe & Context

  • Duration: ~9 months
  • Context: Master’s degree academic project
  • Focus: Probabilistic modelling, network theory, behavioural simulation
  • Constraint: Academic reproducibility and analytical rigour

Skills Demonstrated

This project demonstrates:

  • agent-based modelling under uncertainty
  • stochastic system design
  • behavioural simulation engineering
  • application of design patterns beyond UI contexts
  • graph-based system representation
  • bridging software implementation and quantitative analysis
  • structured academic reporting

Why This Project Matters

This project reflects an ability to:

  • model complex systems using simple probabilistic rules
  • reason about growth and retention dynamics mathematically
  • translate abstract behavioural concepts into executable simulations
  • analyse emergent behaviour through structured experimentation

It showcases systems thinking applicable to platform engineering, network dynamics, and large-scale user systems.