Social Network Growth & Retention Simulation
CompletedDesigned 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.