The paradox of inclusion: modeling systemic dynamics of the gender finance gap in entrepreneurial ecosystems

The paradox of inclusion: modeling systemic dynamics of the gender finance gap in entrepreneurial ecosystems preview image

2 collaborators

Default-person GUSTAVO CARREON (Author)
Default-person Nicolas Fuentes (Author)

Tags

complex adaptive systems 

Tagged by GUSTAVO CARREON about 8 hours ago

gender finance gap| 

Tagged by GUSTAVO CARREON about 8 hours ago

venture capital inequality 

Tagged by GUSTAVO CARREON about 8 hours ago

wicked problem 

Tagged by GUSTAVO CARREON about 8 hours ago

Visible to everyone | Changeable by the author
Model was written in NetLogo 6.4.0 • Viewed 20 times • Downloaded 1 time • Run 0 times
Download the 'The paradox of inclusion: modeling systemic dynamics of the gender finance gap in entrepreneurial ecosystems' modelDownload this modelEmbed this model

Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)


WHAT IS IT?

This agent-based model (ABM) explores how targeted inclusion policies interact with structural inequalities within entrepreneurial ecosystems (EEs) to shape the gender finance gap in venture capital.

It represents the financial support network (FSN) — composed of startups, accelerators, and venture capitalists — as a complex adaptive system where agents co-evolve through feedback, learning, and interdependence.

The model investigates whether increasing the representation of female and mixed founded startups in accelerator programs and VC selection can reduce gender-based funding disparities. It provides a computational laboratory to examine how micro-level decisions (applying, networking, investing) produce emergent, systemic inequalities or inclusivity at the ecosystem level.

HOW IT WORKS

Agents in the model are startups, categorized by gender composition:

  • Male-led startups (black)
  • Female-led startups (red)
  • Mixed-gender startups (yellow)

Each startup has:

  • Human capital (d): drawn from a Poisson distribution with mean (1 - δ) * skills, where δ represents gender-based disparities.
  • Funds: determine survival and decay over time.
  • Social capital: accumulated through network interactions and successful role models.

Core dynamics per simulation cycle:

1.Networking and bias. Startups form probabilistic links (meeting, mating) modulated by delta, representing structural bias that reduces cross-gender interactions.

2.Accelerator selection. Every cycle (deadline), startups apply for accelerators. Acceptance depends on human capital, available capacity (cap_acc), and inclusion quotas (female%, mix%).

3.Learning and community building. Accelerated startups improve human capital (business-learning) and create new links (comunity-building, field-building), with probabilities dependent on gender.

4.VC networking and funding. Startups seek venture capital either through direct access or brokerage. The VC mechanism can be: * "traditional": selection purely by merit (human and social capital). * "prefered": inclusion-oriented, prioritizing female- and mixed-founded startups.

5.Lifecycle and regeneration. Startups lose funds each tick; those that go bankrupt exit the system and are replaced to maintain constant population size.

6.Emergent indicators. Global measures are computed at each tick: * Number of startups by state (unfunded, accelerated, funded) * Gender-based gaps (gap-m/f, gap-m/x, gap-x/f) * Mean human and social capital per gender * Accumulated proportions of accelerated and funded ventures.

HOW TO USE IT

1.Interface Controls "Sliders" * startups0, startups1, startups2: initial population of male, female, and mixed startups. * skills: average human capital potential. * delta: gender bias coefficient (0 = no bias, 1 = maximum bias). * cap_acc: proportion of startups that can enter accelerator programs (default = 0.2). * female%, mix%: share of accelerator slots reserved for female and mixed startups.

"Chooser" * vc-selection: selects the VC decision mode (traditional or prefered).

"Buttons" * setup: initializes the ecosystem. * go: starts the simulation loop.

2.Running the Model * Click setup to populate the environment. * Click go to simulate the dynamic evolution of the entrepreneurial ecosystem. * Colors indicate agent states: Black / Red / Yellow = non-accelerated startups Blue = accelerated startups Green = funded startups

3.Outputs * Monitors: gender gaps, average human/social capital, total funded startups. * Plots: time evolution of funding rates, equity vs. efficiency metrics, and network-level dynamics.

THINGS TO NOTICE

Nonlinear inclusion effects: Increasing diversity in accelerator admissions reduces funding gaps but can temporarily lower overall funding rates.

Systemic interdependence: Isolated interventions (only in accelerators or only in VC) show limited results; coordinated actions across multiple nodes yield sustained inclusion.

Equity-efficiency trade-offs: Observe how systemic equity can emerge at the cost of short-term efficiency.

Emergent stability: Over time, ecosystems can reach stable states with high inclusion and performance — a hallmark of adaptive equilibrium.

Path dependence: Early access to resources by certain groups can reinforce inequalities or help reverse them depending on network feedback.

THINGS TO TRY

Vary delta from 0.0 to 0.7 to simulate increasing bias.

Adjust female% and mix% to test different inclusion strategies.

Compare results under vc-selection = "traditional" vs. **prefered" modes.

Experiment with accelerator capacity (cap_acc) to analyze the bottleneck effect.

Track how average human capital (dmale, dfemale, dmix) evolves by gender over time.

Run multiple simulations to observe variability and robustness of emergent outcomes.

CREDITS AND REFERENCES

Fuentes, N., Carreón G., & Schmutzler, J. (2025). “The paradox of inclusion: modeling systemic dynamics of the gender finance gap in entrepreneurial ecosystems” NetLogo model. Available at: https://modelingcommons.org/

Comments and Questions

Please start the discussion about this model! (You'll first need to log in.)

Click to Run Model

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; File: EntrepreneurialEcosystem_GenderGap_ABM.nlogo
;; Title: The paradox of inclusion: modeling systemic dynamics of the gender finance gap in entrepreneurial ecosystems
;; Authors: Nicolas Fuentes (Uninorte, Colombia), Gustavo Carreón (UNAM, México), Jana Schmutzler (Uninorte, Colombia)
;; Year: 2025
;;
;; Description:
;; This agent-based model (ABM) investigates how targeted inclusion
;; interventions within entrepreneurial ecosystems (EEs) interact with
;; structural and network-level inequalities to shape the gender finance gap
;; in venture capital.
;;
;; The model conceptualizes the financial support network (FSN) — composed of
;; startups, accelerators, and venture capitalists — as a complex adaptive
;; system (CAS). Startups differ by gender composition (male, female, mixed),
;; human capital, and social capital. Through repeated interactions, they
;; connect, apply for acceleration, and seek venture funding.

;; METHODOLOGY:
;; The model is implemented in NetLogo using an agent-based modeling (ABM)
;; approach inspired by complexity science and network theory. Agents (startups)
;; follow local decision rules to apply for accelerator programs, form social
;; ties, and seek venture capital.
;;
;; System-level properties such as inclusion, funding gaps, and ecosystem
;; resilience emerge from micro-level feedback between learning, social
;; influence, and structural bias (δ). The simulation uses discrete time steps
;; to represent iterative funding cycles within an evolving ecosystem.
;;
;; Key mechanisms include:
;;  - Probabilistic networking under structural gender bias (delta)
;;  - Accelerator selection with capacity and inclusion constraints
;;  - Human and social capital accumulation within accelerators
;;  - VC funding allocation through traditional or inclusion-oriented modes
;;  - Population renewal ensuring long-term dynamic equilibrium
;;
;; The model explores nonlinear trade-offs between equity and efficiency,
;; highlighting the paradoxical outcomes of partial inclusion in adaptive
;; socio-economic systems.
;;
;; Keywords:
;; Inclusive Entrepreneurial Ecosystems, Gender Finance Gap, Venture Capital,
;; Wicked Problems, Complex Adaptive Systems, Agent-Based Modeling
;;
;; License:
;; Creative Commons Attribution–NonCommercial–ShareAlike 4.0 International
;; (CC BY-NC-SA 4.0)
;;
;;Recommended citation:
;; Fuentes, N., Carreón G., & Schmutzler. J. (2025). “The paradox of inclusion: modeling systemic dynamics
;; of the gender finance gap in entrepreneurial ecosystems” NetLogo model.
;; Available at: https://modelingcommons.org/
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; GLOBAL VARIABLES
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
globals[
  ;; Startup counts by gender and state
  ;; 0 = non-accelerated/unfunded, 1 = accelerated, 2 = funded
  male0 female0 mix0
  male1 female1 mix1
  male2 female2 mix2

  ;; Average human capital (d) of the network by gender.
  dmale dfemale dmix

  ;; Average of the successful social network (of each company) of the entire network by gender.
  male_net female_net mix_net

  ;; Gender financing gaps (m/f/x)
  gap-m/f gap-m/x gap-x/f

  ;; Time average of the number of startups not accelerated or not funded (0), accelerated (1), funded (2).
  mufemale0 mufemale1 mufemale2 ; mean for females states
  mumale0 mumale1 mumale2 ; mean for males states
  mumix0 mumix1 mumix2 ; mean for mix states

  ;; Mean gaps and human capital over time
  mugap-m/f mugap-m/x mugap-x/f
  mudmale mudfemale mudmix

  ;; Cumulative counts for each gender and state
  #female0 #male0 #mix0
  #female1 #male1 #mix1
  #female2 #male2 #mix2

  ;; Proportion of startups in each stage by gender
  ratef0  ratem0 ratemix0
  ratef1  ratem1 ratemix1
  ratef2  ratem2 ratemix2

  ;; Accumulated gaps by stage
  gap_fm0 gap_fmix0 gap_mixm0 ;gap in accelerator (using cumulative values) f/m f/mix mix/m
  gap_fm1 gap_fmix1 gap_mixm1 ;gap in accelerator (using cumulative values) f/m f/mix mix/m
  gap_fm2 gap_fmix2 gap_mixm2 ;financial gap (using accumulated values) f/m f/mix mix/m

  ;; Simulation timing and state variables
  deadline      ;; countdown for accelerator application cycles
  acc-selected  ;; agentset currently in acceleration

  ;; Number of funded companies coming from a previous acceleration process or without a
  ;; previous acceleration process, by gender male (0), female (1), mix (2)
  come-acc0 come-acc1 come-acc2
  not-come-acc0 not-come-acc1 not-come-acc2

  rank-final   ;; list that stores the ranking of startups to choose the best one to finance (VC Selection)

  #total       ;; total funded startups

  ;; Auxiliary and storage variables for averages
  mn fn xn
  m0 m1 m2 f0 f1 f2 x0 x1 x2 g0 g1 g2 #f #m #g dm df dxx
  rf0 rf1 rf2 rm0 rm1 rm2 rx0 rx1 rx2
  murf0 murf1 murf2 murm0 murm1 murm2 murx0 murx1 murx2 mumale_net mufemale_net mumix_net
  mm ff fm
  selected-by-vc

  ;; Accelerator capacity
  cap_acc

]


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; TURTLE VARIABLES
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
turtles-own [

  ;; Core startup attributes

  funds     ;; current financial capital; if 0  death
  d         ;; human capital level
  gender    ;; 0=male, 1=female, 2=mix


  ;; Interaction and status variables
  meeting
  mating              ;; mating vc
  mating-acc          ;; mating accelerator duration of accelerator relationship (3-6 months) (1 to ...18 weeks)
  accelerated-period  ;; duration of time with accelerated effect
  tie-vc
  accelerated         ;; (true false) true: state = 1 or 1.5 false: 0 or 0.5
  want-acc
  want-vc
  selection1?         ;; True o False  is startup selected for the accelerator program or not
  selection2?         ;; True o False  is selected to be funded

  ;; Social network attributes, auxiliary variable successful neighbors in the environment
  my-alters_m         ;; set of male neighbors (k=m (0))
  my-alters_f         ;; set of female neighbors (k=f (1))
  my-alters_x         ;; set of male neighbors (k=x (2))
  social-net          ;; number of successful neighbors by gender.

  ;; Interaction probabilities
  meet_prob
  mat_prob

  ;; Initial state tracking
  initial-state

]

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; SETUP PROCEDURES
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;-------------------------------------------------------------
;; Procedure: setup
;; Purpose: Initialize the model by clearing environment,
;;          creating turtles, setting global variables, and
;;          resetting simulation time.
;;-------------------------------------------------------------

to setup
  clear-all
  setup-turtles
  setup-globals
  reset-ticks
end 


;;-------------------------------------------------------------
;; Procedure: setup-turtles
;; Purpose: Create initial startups distributed by gender and
;;          initial state (non-accelerated, accelerated, funded).
;;-------------------------------------------------------------

to setup-turtles
 ask patch 0 0 [
   sprout startups0 [ new-startup0 ]
   sprout startups1 [ new-startup1 ]
   sprout startups2 [ new-startup2 ]
 ]
 trigger ;; triggers one initial success case per gender
end 

;;-------------------------------------------------------------
;; Procedure: setup-globals
;; Purpose: Initialize global counters, lists, and color state.
;;-------------------------------------------------------------

to setup-globals

  set deadline 35  ;; months

  set m0 [] set m1 [] set m2 []
  set f0 [] set f1 [] set f2 []
  set x0 [] set x1 [] set x2 []
  set g0 [] set g1 [] set g2 []

  set rf0 [] set rm0 [] set rx0 []
  set rf1 [] set rm1 [] set rx1 []
  set rf2 [] set rm2 [] set rx2 []

  set #f [] set #m [] set #g []
  set dm [] set df [] set dxx[]
  set mn [] set fn [] set xn []

  set acc-selected nobody

  set #male2   count turtles with [gender = 0 and color = green]
  set #female2 count turtles with [gender = 1 and color = green]
  set #mix2    count turtles with [gender = 2 and color = green]

  ask patches [set pcolor white]

  set #total count turtles with [color = green]

  ;; Accelerator capacity, empirical value
  set cap_acc 0.2
end 

to setup-patches2
  ask patches [
    if pxcor < 0 [
      set pcolor  brown + 4  ; Set color to white for patches in the west
    ]
    if pxcor > 0 [
      set pcolor cyan + 4    ; Set color to pink for patches in the east
    ]
    if pxcor = 0 [set pcolor white]

  ]
end 

;;-------------------------------------------------------------
;; Procedure: new-startup0
;; Purpose: Create and initialize a male-led startup.
;;-------------------------------------------------------------

to new-startup0
  set heading random 120
  fd 40
  set color (black)
  set shape "circle"
  set size 1
  set gender 0
  set funds random 280
  set want-vc False
  set initial-state 0
  set d random-poisson skills
  set accelerated False
  set tie-vc False
  set #male0 #male0 + 1
end 

;;-------------------------------------------------------------
;; Procedure: new-startup1
;; Purpose: Create and initialize a female-led startup.
;;          Human capital is lower due to gender-based disparity δ.
;;-------------------------------------------------------------

to new-startup1
  set heading random 120 + 120
  fd 40
  set color (red)
  set size 2
  set gender 1
  set funds random 280
  set want-acc False
  set want-vc False
  set initial-state 0

  ;; Human Capital is drawn from a Poisson distribution with a mean value D.
  ;; The mean D is defined as D=(1-δ)100, where δ represents the gender-based disparity across startups.
  ;; The disparity coefficient (δ) was set to 0 for male-founded startups (resulting in D=100),
  ;; 0.35 for mixed-founded startups (D=65), and 0.7 for female-founded startups (D=30).
  set d random-poisson ((1 - delta) * skills)
  set accelerated False
  set tie-vc False
  set #female0 #female0 + 1
end 

;;-------------------------------------------------------------
;; Procedure: new-startup2
;; Purpose: Create and initialize a mixed-gender startup.
;;          Receives intermediate human capital levels.
;;-------------------------------------------------------------

to new-startup2
  set heading random 120 + 240
  fd 40
  set shape "x"
  set color yellow
  set size 2
  set gender 2
  set funds random 280
  set want-acc False
  set want-vc False
  set initial-state 0
  set d random-poisson ((1 - (delta / 2) ) * skills)
  set accelerated False
  set tie-vc False
  set #mix0 #mix0 + 1
end 

;;-------------------------------------------------------------
;; Procedure: trigger
;; Purpose: Randomly selects one startup per gender and promotes
;;          it directly to a funded state (tie with VC).
;;          Serves as an initial trigger for system dynamics.
;;-------------------------------------------------------------

to trigger

  ask up-to-n-of 1 turtles with [gender = 0]
  [
    set color green
    set tie-vc True
    set selection1? 1
    set selection2? 1
    set funds funds + 140
    set initial-state 0
    fd -30
  ]

   ask up-to-n-of 1 turtles with [gender = 1]
  [
    set color green
    set tie-vc True
    set selection1? 1
    set selection2? 1
    set funds funds + 140
    set initial-state 0
    fd -30
  ]

  ask up-to-n-of 1 turtles with [gender = 2]
  [
    set color green
    set tie-vc True
    set selection1? 1
    set selection2? 1
    set funds funds + 140
    set initial-state 0
    fd -30
  ]
end 


;;-------------------------------------------------------------
;; Procedure: go
;; Purpose: Main simulation loop controlling all major processes:
;;          - updating global outcomes and indicators
;;          - social interactions (meeting, mating, brokerage)
;;          - dynamic mechanisms and lifecycle updates
;;-------------------------------------------------------------

to go
  global-outcomes
  global-indicators
  meeting-and-mating-startup
  meeting-mating-startups-brokerage
  dynamic
  life-time
  tick
  if ticks = 420 [stop]
end 


;;-------------------------------------------------------------
;; Procedure: meeting-and-mating-startup
;; Purpose: Models probabilistic meetings between startups,
;;          with interaction probabilities modulated by gender bias δ.
;;          Successful encounters create network links.
;;-------------------------------------------------------------

to meeting-and-mating-startup

  ask turtles [
    let partner one-of other turtles
    let g-self gender
    let g-partner [gender] of partner

    if g-self = 0 [
       if g-partner = 0 [; M–M
           set meet_prob meeting_chances
           set mat_prob mating_chances
          ]
       if g-partner = 1 [ ; M–F
           set meet_prob (meeting_chances * (1 - delta)) ; possibility of connecting with a woman's prob
           set mat_prob (mating_chances * (1 - delta))
          ]

       if g-partner = 2 [ ; M–Mix
           set meet_prob (meeting_chances * (1 - (delta / 2))); with probability of mix
           set mat_prob (mating_chances * (1 - (delta / 2)))
          ]
      ]

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    if g-self = 1 [
      if g-partner = 0 [ ; F–M
           set meet_prob (meeting_chances * (1 - delta ))
           set mat_prob (mating_chances * (1 - delta ))
          ]
      if g-partner = 1 [ ; F–F
           set meet_prob (meeting_chances * (1 - delta ))
           set mat_prob (mating_chances * (1 - delta ))
          ]

      if g-partner = 2 [ ; F–Mix
           set meet_prob (meeting_chances * (1 - delta ))
           set mat_prob  (mating_chances * (1 - delta ))
          ]
     ]

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    if g-self = 2 [

      if g-partner = 0 [ ; Mix–M
           set meet_prob (meeting_chances * (1 - (delta / 2)))
           set mat_prob  (mating_chances * (1 - (delta / 2) ))
          ]
      if g-partner = 1 [ ; Mix–F
           set meet_prob (meeting_chances * (1 - delta ))
           set mat_prob  (mating_chances * (1 - delta ))
          ]

      if g-partner = 2 [ ; Mix–Mix
           set meet_prob (meeting_chances * (1 - (delta / 2)))
           set mat_prob  (mating_chances * (1 - (delta / 2) ))
          ]
        ]
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    if random-float 1 < meet_prob [
          if random-float 1 < mat_prob [
               create-link-with partner [ set color gray + 2  set hidden? false ]
             ]
        ]
  ]
end 

;;-------------------------------------------------------------
;; Procedure: meeting-mating-startups-brokerage
;; Purpose: Creates indirect (brokered) connections between startups
;;          sharing common neighbors, reflecting network brokerage.
;;-------------------------------------------------------------

to meeting-mating-startups-brokerage

  ask turtles with [count link-neighbors >= 2] [

    let partners n-of 2 link-neighbors
    let partner1 one-of partners
    let partner2 one-of other partners with [self != partner1]

    ask partner1 [
      let gr1 gender
      let gr2 [gender] of partner2

      ;; gender-modulated interaction probabilities
      if gr1 = 0 [ ; Male
        if gr2 = 0 [ set mat_prob mating_chances ] ;; M–M
        if gr2 = 1 [ set mat_prob (mating_chances * (1 - delta)) ] ;; M–F
        if gr2 = 2 [ set mat_prob (mating_chances * (1 - (delta / 2))) ] ;; M–Mix
      ]

      if gr1 = 1 [ ; Female
        if gr2 = 1 [ set mat_prob (mating_chances * (1 - delta)) ] ;; F–F
        if gr2 = 0 [ set mat_prob (mating_chances * (1 - delta)) ] ;; F–M
        if gr2 = 2 [ set mat_prob (mating_chances * (1 - delta)) ] ;; F–Mix
      ]

      if gr1 = 2 [ ; Mix
        if gr2 = 0 [ set mat_prob (mating_chances * (1 - (delta / 2))) ] ;; Mix–M
        if gr2 = 1 [ set mat_prob (mating_chances * (1 - delta)) ]       ;; Mix–F
        if gr2 = 2 [ set mat_prob (mating_chances * (1 - (delta / 2))) ] ;; Mix–Mix
      ]

      if random-float 1 < mat_prob [
        create-links-with other partners [ set hidden? false  set color gray + 2 ]
      ]
    ]
  ]
end 


;;-------------------------------------------------------------
;; Procedure: business-learning
;; Purpose: Models human capital growth within accelerators,
;;          conditioned by gender disparity δ.
;;-------------------------------------------------------------

to business-learning
   if acc-selected != nobody [
    ask acc-selected [
      if mating-acc = 1 [
        if gender = 1 [ set d d + (1 - delta) * skills / 2 ]
        if gender = 0 [ set d d + skills / 2]
        if gender = 2 [ set d d + (1 - delta) * skills / 4]
      ]
    ]
  ]
end 


;;-------------------------------------------------------------
;; Procedure: comunity-building
;; Purpose: Models peer networking among startups inside
;;          accelerators, with gender-dependent link probabilities.
;;-------------------------------------------------------------

to comunity-building
  if acc-selected != nobody [
                   ;if ticks mod 1 = 0 [
     let partner one-of acc-selected
     ask partner [
      if count acc-selected > 2 [
            if gender = 0 [ if random-float 1 <= 1                [ create-links-with n-of 1 other acc-selected [set color black  ]]]
            if gender = 1 [ if random-float 1 < (1 - delta)       [ create-links-with n-of 1 other acc-selected [set color red    ]]]
            if gender = 2 [ if random-float 1 < (1 - (delta / 2)) [ create-links-with n-of 1 other acc-selected [set color yellow ]]]
        ]
    ]
  ]
end 


;;-------------------------------------------------------------
;; Procedure: field-building
;; Purpose: Models external link formation between accelerated
;;          startups and others in the ecosystem, moderated by gender bias.
;;-------------------------------------------------------------

to field-building

  if acc-selected != nobody [

    let focal one-of acc-selected

    let startups-0 turtles with [color = black or color = red or color = yellow]

    if startups-0 != nobody [
      ask focal [
        if gender = 0 [
          if random-float 1 <= 1 [
            create-links-with n-of 1 other startups-0 [ set color black + 3] ; more probability to form a link
          ]
        ]

        if gender = 1 [
          if random-float 1 < ( 1 - delta) [
            create-links-with n-of 1 other startups-0 [set color red + 3 ] ; less probability to form a link
          ]
        ]

        if gender = 2 [
          if random-float 1 < ( 1 - (delta / 2)) [
            create-links-with n-of 1 other startups-0 [set color yellow + 3] ; average probability of forming a link           ]
        ]
      ]
    ]
  ]
 ]
end 

;;-------------------------------------------------------------
;; Procedure: capital&workspace
;; Purpose: Adds funding bonuses for startups during acceleration.
;;-------------------------------------------------------------

to capital&workspace
  if acc-selected != nobody [
    ask acc-selected [
      if mating-acc = 35 [ set funds funds + 18]
    ]
  ]
end 

;;-------------------------------------------------------------
;; Procedure: vc-networking
;; Purpose: Allows accelerated startups to directly apply to VCs
;;          after initial incubation.
;;-------------------------------------------------------------

to vc-networking
  if acc-selected != nobody [
    ask acc-selected [
      if (mating-acc = 1 and meeting = 0 and mating = 0) [
        set meeting 9 ;; The fact that meeting is 9 means that it applies via VC without needing to go through a third-party agent
        set want-vc True
      ]
    ]
  ]
end 

;;-------------------------------------------------------------
;; Procedure: deal-making
;; Purpose: Simplified placeholder for deal negotiation phase
;;          during acceleration.
;;-------------------------------------------------------------

to deal-making
  if acc-selected != nobody [
    ask acc-selected [
      if mating-acc = 1 [ set meeting 9]
    ]
  ]
end 



;;-------------------------------------------------------------
;; Procedure: mechanism-influence
;; Purpose: Central orchestrator calling all mechanisms of
;;          ecosystem influence (VC networking, learning,
;;          community and field building).
;;-------------------------------------------------------------

to mechanism-influence
  vc-networking business-learning
  field-building
  comunity-building
  deal-making
  capital&workspace
end 


;;-------------------------------------------------------------
;; Procedure: dynamic
;; Purpose: Controls the behavioral loop of startups per tick:
;;          desire for acceleration, applications, mechanisms,
;;          and VC interactions.
;;-------------------------------------------------------------

to dynamic

    ask turtles with [ color = black or color = red or color = yellow ] [
      set want-acc True
    ]

    ask turtles with [tie-vc = False] [
      set want-vc True
    ] ; they can be no or yes accelerated apply-vc


    applying-to-accelerator

    mechanism-influence

    meeting-vc-by-brokerage

    mating-vc ; mechanism for connecting to vc
end 


;-------------------------------------------------------------
;; Procedure: applying-to-accelerator
;; Purpose: Simulates the application and selection process for
;;          accelerators. The acceptance rate is constrained by
;;          capacity and gender inclusion parameters.
;;          Selected startups gain accelerated status (blue color).
;;-------------------------------------------------------------

to applying-to-accelerator
;;On the deadline date, it is decided which startups enter the program, which lasts 6 months (24 ticks or weeks).
  if (deadline = 1)[

        let male-0 turtles with   [want-acc = True and gender = 0 and color = black] ;only those that are state 0
        let female-0 turtles with [want-acc = True and gender = 1 and color = red] ; they can only enter state 0
        let mix-0 turtles with    [want-acc = True and gender = 2 and color = yellow] ;only those that are state 0

        let capacity cap_acc * (startups0 + startups1 + startups2) ;Percentage of the total population that can enter the acceleration program

        let want_acc_set (turtle-set male-0 female-0  mix-0) ;Startups that want to apply

        ;; Startups that did not enter in the previous period are taken into account, to prevent them from always entering consecutively.

        let female-00 female-0 with [selection1? = -1] ;female startups
        let male-00 male-0 with [selection1? = -1] ;male startups
        let mix-00 mix-0 with [selection1? = -1] ;mix startups


        ifelse ticks < 36 [ ; Initially, there are no people who are rejected; this only applies to first-time admissions to the accelerator program
         if ((count female-0) >= (capacity * female%) and (count mix-0) >= (capacity * mix%) and (count male-0) >= capacity * (1 - female% - mix%)  ) [
        ;; is maintainded 1=female% + mix% + male%  (female and mix is input variable)

               let acc-selected0 max-n-of (capacity * (1 - female% - mix%))  male-0 [d] ;Selection of male teams that want to be accelerated
               let acc-selected1 max-n-of (capacity * female%) female-0 [d] ;Selection of female teams that want to be accelerated
               let acc-selected2 max-n-of (capacity * mix%) mix-0 [d] ;Selection of mixed teams that want to be accelerated


               set acc-selected (turtle-set acc-selected0 acc-selected1 acc-selected2)


               ask acc-selected [
                         set mating-acc 35 ;time during the accelerator
                         set color blue
                         set accelerated True ;it connects to an accelerator for 24 ticks
                         set initial-state 1
                         set selection1? 1 ;it is set to 1 to calculate the positive effect of the subjective norm
                         fd -10
                         set accelerated True
                         ;set want-acc False
                         if gender = 0 [set #male1 #male1 + 1]
                         if gender = 1 [set #female1 #female1 + 1]
                         if gender = 2 [set #mix1 #mix1 + 1]

                         ]
               ]


       ask want_acc_set with [not member? self acc-selected] [ set want-acc  False    set selection1? -1 ]

    ][

        if (  (count male-0) >= capacity * (1 - female% - mix%)   and  (count female-0) >= capacity * female%    and    (count mix-0) >= capacity * mix%   ) [

               let acc-selected0 max-n-of (capacity * (1 - female% - mix%))  male-0 [d]
               let acc-selected1 max-n-of (capacity * female%) female-0 [d]
               let acc-selected2 max-n-of (capacity * mix%) mix-0 [d]

               set acc-selected (turtle-set acc-selected0 acc-selected1 acc-selected2 )

               ask acc-selected [
                         set mating-acc 35 ;;time during the accelerator
                         set color blue
                         set accelerated True ;; It connects to an accelerator for 24 ticks
                         set initial-state 1
                         set selection1? 1    ;; It is set to 1 to calculate the positive effect of the subjective norm
                         fd -10
                         set accelerated True
                         set want-acc False
                         if gender = 0 [set #male1 #male1 + 1]
                         if gender = 1 [set #female1 #female1 + 1]
                         if gender = 2 [set #mix1 #mix1 + 1]
                        ]
             ]


        ask want_acc_set with [not member? self acc-selected] [ set selection1? -1 ] ;set want-acc  False
    ]
  ]
end 

;;-------------------------------------------------------------
;; Procedure: meeting-vc-by-brokerage
;; Purpose: Models VC meetings that occur via indirect ties,
;;          startups linked to others already
;;          connected with a VC may gain meeting opportunities.
;;-------------------------------------------------------------

to meeting-vc-by-brokerage ; mecanismo para conocer a traves de otra empresa al vc

  ask turtles with [want-vc = True ] [; and accelerated = False
          let vc-neighbors link-neighbors with [tie-vc = True] ;; neighbors who know a vc, are or were linked to a vc.

          if (any? vc-neighbors) [ if (meeting = 0 and mating = 0)[ set meeting 15 ]]
                                  ; delay time in the evaluation to decide whether or not to grant the capital.
   ]
end 


;;-------------------------------------------------------------
;; Procedure: mating-vc
;; Purpose: Selects VC allocation mechanism according to interface
;;          setting ("traditional" or "prefered").
;;-------------------------------------------------------------

to mating-vc
  if vc-selection = "traditional" [traditional-vc-selection]
  if vc-selection = "prefered" [prefered-vc-selection]
end 

;;-------------------------------------------------------------
;; Procedure: traditional-vc-selection
;; Purpose: VC funding mechanism without gender bias.
;;          Selects the top-ranked startup based on combined
;;          human capital (d) and social network (social-net).
;;-------------------------------------------------------------

to traditional-vc-selection
;; The investor chooses the best startup from a final ranking. This final ranking is derived from two previous rankings (human capital and successful role models).
;; The rankings from these two lists are averaged to create a final ranking. The startup with the highest ranking in the final ranking receives funding for each tick.
;if ticks mod 1 = 0 [

  let awaiting-VC-set turtles with [want-vc = True and meeting = 1 and mating = 0 and d > 0 ]
  let rank-d sort-by [[a b] -> [d] of a > [d] of b] awaiting-VC-set
  let rank-social sort-by [[a b] -> [social-net] of a > [social-net] of b] awaiting-VC-set

  if  any? awaiting-VC-set [


     ask awaiting-VC-set [

          ;; Successful neighbors separated by gender.

          set my-alters_m count  link-neighbors with [gender = 0 and selection2? =  1] ;; successful male-led startup
          set my-alters_f count  link-neighbors with [gender = 1 and selection2? =  1] ;; successful female-led startup
          set my-alters_x count  link-neighbors with [gender = 2 and selection2? =  1] ;; successful mix-led startup

          set social-net    my-alters_m +   my-alters_f +     my-alters_x   ;; successful social network of each startup in awaiting-VC-set


          ;; Organization in the human capital and social network rankings, in addition to the final ranking based on averaging the previous ones.

          let pos-d position self rank-d
          let pos-s position self rank-social
          set rank-final ((pos-d + pos-s ) / 2)  ;; +2 to convert from index (0).
        ]


      set selected-by-vc min-one-of awaiting-VC-set [rank-final]

      ask selected-by-vc [
                              set mating 140
                              set color green
                              set tie-vc True
                              set funds funds + 140
                              set selection2? 1
                              ifelse initial-state = 0 [;; It receives funding but is not from an accelerator program. Gender segregation.
                                                        fd -30
                                                        if gender = 0 [set not-come-acc0 not-come-acc0 + 1]
                                                        if gender = 1 [set not-come-acc1 not-come-acc1 + 1]
                                                        if gender = 2 [set not-come-acc2 not-come-acc2 + 1]
                                                      ]
                                                       [;; It receives funding and comes from an accelerator program. Gender separation.

                                                        fd -20

                                                        if gender = 0 [set come-acc0 come-acc0 + 1]
                                                        if gender = 1 [set come-acc1 come-acc1 + 1]
                                                        if gender = 2 [set come-acc2 come-acc2 + 1]
                                                      ]



                              if gender = 0 [set #male2 #male2 + 1]
                              if gender = 1 [set #female2 #female2 + 1]
                              if gender = 2 [set #mix2 #mix2 + 1]
                              set #total #total + 1
                              set want-vc False


                           ]

         ask awaiting-VC-set with [self != selected-by-vc] [ set want-vc  False    set selection2? -1 ] ; not selected startups

      ]
 ;]
end 

;;-------------------------------------------------------------
;; Procedure: prefered-vc-selection
;; Purpose: VC mechanism with positive discrimination.
;;          Prioritizes female-led startups, then mixed, then male.
;;-------------------------------------------------------------

to prefered-vc-selection

; The investor chooses the best startup from a final ranking. This final ranking is derived from two previous rankings (human capital and successful role models).
; The rankings from these two lists are averaged to create a final ranking. The startup with the highest ranking in the final ranking receives funding for each tick.

  let awaiting-VC-set turtles with [want-vc = True and meeting = 1 and mating = 0 and d > 0  ]
  let rank-d sort-by [[a b] -> [d] of a > [d] of b] awaiting-VC-set
  let rank-social sort-by [[a b] -> [social-net] of a > [social-net] of b] awaiting-VC-set

  if any? awaiting-VC-set [

    ask awaiting-VC-set [
      ;; Vecinos exitosos separados por genero.
      set my-alters_m count  link-neighbors with [gender = 0 and tie-vc =  True] ; successful male-led startup
      set my-alters_f count  link-neighbors with [gender = 1 and tie-vc =  True] ; successful female-led startup
      set my-alters_x count  link-neighbors with [gender = 2 and tie-vc =  True] ; successful mix-led startup

      ; successful social network of each startup in awaiting-VC-set
      set social-net  my-alters_m +  my-alters_f + my-alters_x

      ; Organization in the human capital and social network rankings, in addition to the final ranking based on averaging the previous ones.
      let pos-d position self rank-d
      let pos-s position self rank-social
      set rank-final ((pos-d + pos-s ) / 2)
    ]

    ; Preferential selection according to gender
    let males     awaiting-VC-set with [gender = 0]
    let females   awaiting-VC-set with [gender = 1]
    let mixes     awaiting-VC-set with [gender = 2]

    ifelse any? females [
      set selected-by-vc min-one-of females [rank-final]
    ] [
      ifelse any? mixes [
        set selected-by-vc min-one-of mixes [rank-final]
      ] [
        if any? males [
          set selected-by-vc min-one-of males [rank-final]
        ]
      ]
    ]

     ; let selected-by-vc min-one-of awaiting-VC-set [rank-final]

     ask selected-by-vc [
      set mating 140
      set color green
      set tie-vc True
      set funds funds + 140
      set selection2? 1

      ifelse initial-state = 0 [ ;;It receives funding but is not from an accelerator program. Gender segregation.
        fd -30
        if gender = 0 [set not-come-acc0 not-come-acc0 + 1]
        if gender = 1 [set not-come-acc1 not-come-acc1 + 1]
        if gender = 2 [set not-come-acc2 not-come-acc2 + 1]
      ]
      [; It receives funding and comes from an accelerator program. Gender separation.
        fd -20
        if gender = 0 [set come-acc0 come-acc0 + 1]
        if gender = 1 [set come-acc1 come-acc1 + 1]
        if gender = 2 [set come-acc2 come-acc2 + 1]
      ]

      if gender = 0 [set #male2 #male2 + 1]
      if gender = 1 [set #female2 #female2 + 1]
      if gender = 2 [set #mix2 #mix2 + 1]
      set #total #total + 1
      set want-vc False
    ]

    ask awaiting-VC-set with [self != selected-by-vc] [
      set want-vc  False
      set selection2? -1  ;; not selected startups
    ]
  ]
end 


;;-------------------------------------------------------------
;; Procedure: life-time
;; Purpose: Handles time decay, fund depletion, exit and replacement
;;          of startups, maintaining population stability.
;;-------------------------------------------------------------

to life-time
  if (deadline > 0) [ set deadline deadline - 1 ]
  if (deadline = 0) [ set deadline 35 ]

  ask turtles [
    ; Subtract one for each tick (iteration) in all periods
    if (funds > 0)              [set funds funds - 1]
    if (mating-acc > 0 )        [set mating-acc mating-acc - 1]
    if (accelerated-period > 0) [set accelerated-period accelerated-period  - 1]
    if (meeting > 0 )           [set meeting meeting - 1]
    if (mating > 0)             [set mating mating - 1]

    ;; End of VC cycle
    if mating = 1 [
        ;; The link with the VC is removed, if the startup was accelerated, it remains accelerated for a specified period. If it is not accelerated, it returns to state zero (want-vc=false want_acc=false).
        set tie-vc False
        ifelse initial-state = 1 [
          set accelerated True
          set want-vc False
          set color blue
          set accelerated-period 1
          set initial-state 1
          fd  20
        ]
        [
          set accelerated False
          set want-vc False
          ;set want-acc False
          if gender = 0 [set color black fd 30]
          if gender = 1 [set color red fd 30]
          if gender = 2 [set color yellow fd 30]
          set initial-state  0
        ]


    ];; end of mating state 1


    if mating-acc = 1 [ set accelerated-period 10 ] ;It gives him 10 more ticks of life

    ;; Return to pre-acceleration state
    if (accelerated-period = 1 and color = blue)
    [ ;The period of accelerated growth is ending. It returns to an initial state: not accelerated, not financed
      if gender = 0 [set color black ]
      if gender = 1 [set color red]
      if gender = 2 [set color yellow]
      set accelerated False
      set initial-state 0
      set want-vc False
      ;set want-acc False
      ;set  accelerated-period 0
      fd 10
    ]

    if funds = 0 [die]; If funds are 0, the company leaves the system

    ; New turtles are created in the same way as at the beginning, to maintain the initial number of the system (whether male, female or mix)
    while [count turtles with [gender = 0] < startups0 ] [
      ask patch 0 0 [
        let born-st0 startups0 - (count turtles with [gender = 0])
        sprout (born-st0) [ new-startup0 ]
      ]
    ]

    while [count turtles with [gender = 1] < startups1 ] [
      ask patch 0 0 [
        let born-st1 startups1 - (count turtles with [gender = 1])
        sprout (born-st1) [new-startup1]
      ]
    ]

     while [count turtles with [gender = 2] < startups2 ] [
      ask patch 0 0 [
        let born-st2 startups2 - (count turtles with [gender = 2])
        sprout (born-st2) [ new-startup2 ]
      ]
    ]
  ]
end 

;;-------------------------------------------------------------
;; Procedure: global-outcomes
;; Purpose: Computes global state counts, averages, and ratios
;;          by gender and funding status at each tick.
;;-------------------------------------------------------------

to global-outcomes

  ;; Each tick counts the startups by gender under different conditions
  set male0 count turtles with [color = black] ;male teams non-accelerated and not-funded
  set male1 count turtles with [color = blue and gender = 0] ;male teams non-funded and accelerated
  set male2 count turtles with [color = green and gender = 0] ;male teams funded.

  set female0 count turtles with [color = red]
  set female1 count turtles with [color = blue and gender = 1]
  set female2 count turtles with [color = green and gender = 1]

  set mix0 count turtles with [color = yellow]
  set mix1 count turtles with [color = blue and gender = 2]
  set mix2 count turtles with [color = green and gender = 2]

  ;; Average human capital in the Network (average of all startups by gender)
  set dmale   mean [d] of turtles with [gender = 0]
  set dfemale mean [d] of turtles with [gender = 1]
  set dmix    mean [d] of turtles with [gender = 2]

  ;; Average of successful social capital in the network (average of all startups by gender)
  set male_net   mean [social-net]  of turtles with [gender = 0]
  set female_net mean [social-net]  of turtles with [gender = 1]
  set mix_net    mean [social-net]  of turtles with [gender = 2]

  ;; Gaps in the network at every tick
  if female2 > 0 [set gap-m/f male2 / female2]
  if mix2 > 0    [set gap-m/x male2 / mix2]
  if female2 > 0 [set gap-x/f mix2 / female2]

  ;; Proportion of non-accelerated and non-funded startups
  let all0 #male0 + #female0 + #mix0

  if all0 > 0 [
     set ratef0   #female0 / all0
     set ratem0   #male0   / all0
     set ratemix0 #mix0  / all0
  ]


  ;; Proportion of startups accepted for acceleration
  let all1 #male1 + #female1 + #mix1

  if all1 > 0 [
    set ratef1 #female1 / all1
    set ratem1 #male1   / all1
    set ratemix1 #mix1  / all1
  ]

  ;; Proportion of startups accepted for funding
  let all2 #male2 + #female2 + #mix2

  if all2 > 0 [
    set ratef2 #female2 / all2
    set ratem2 #male2   / all2
    set ratemix2 #mix2  / all2
  ]

  ;; Population gaps (values are taken accumulated over time)
  ;; Startups without acceleration or funding
  if #female0 > 0 [set gap_fm0 #male0 / #female0]
  if #female0 > 0 [set gap_fmix0 #mix0 / #female0]
  if #mix0 > 0    [set gap_mixm0 #male0 / #mix0]


  ;; Startups accepted for acceleration
  if #female1 > 0 [set gap_fm1 #male1 / #female1]
  if #female1 > 0 [set gap_fmix1 #mix1 / #female1]
  if #mix1 > 0    [set gap_mixm1 #male1 / #mix1]

  ;; Funded Startups
  if #female2 > 0 [set gap_fm2 #male2 / #female2]
  if #female2 > 0 [set gap_fmix2 #mix2 / #female2]
  if #mix2 > 0    [set gap_mixm2 #male2 / #mix2]
end 


;;-------------------------------------------------------------
;; Procedure: global-indicators
;; Purpose: Stores time series of indicators (counts, ratios, means)
;;          for plotting and later analysis of emergent trends.
;;-------------------------------------------------------------

to global-indicators

  set m0 lput male0 m0
  set m1 lput male1 m1
  set m2 lput male2 m2

  set f0 lput female0 f0
  set f1 lput female1 f1
  set f2 lput female2 f2

  set x0 lput mix0 x0
  set x1 lput mix1 x1
  set x2 lput mix2 x2

  set rf0 lput ratef0 rf0
  set rm0 lput ratem0 rm0
  set rx0 lput ratemix0 rx0

  set rf1 lput ratef1 rf1
  set rm1 lput ratem1 rm1
  set rx1 lput ratemix1 rx1

  set rf2 lput ratef2 rf2
  set rm2 lput ratem2 rm2
  set rx2 lput ratemix2 rx2

  set g0 lput gap-m/f g0
  set g1 lput gap-m/x g1
  set g2 lput gap-x/f g2

  set mn lput male_net mn
  set fn lput female_net fn
  set xn lput mix_net xn

  set dm  lput dmale dm
  set df  lput dfemale df
  set dxx lput dmix dxx

  set mumale_net   mean mn
  set mufemale_net mean fn
  set mumix_net    mean xn

  set mudmale   mean dm
  set mudfemale mean df
  set mudmix    mean dxx

  set mumale0 mean m0
  set mumale1 mean m1
  set mumale2 mean m2

  set mufemale0 mean f0
  set mufemale1 mean f1
  set mufemale2 mean f2

  set mumix0 mean x0
  set mumix1 mean x1
  set mumix2 mean x2

  set murf0 mean rf0
  set murm0 mean rm0
  set murx0 mean rx0

  set murf1 mean rf1
  set murm1 mean rm1
  set murx0 mean rx1

  set murf2 mean rf2
  set murm2 mean rm2
  set murx0 mean rx2

  set mugap-m/f mean g0
  set mugap-m/x mean g1
  set mugap-x/f mean g2
end 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;    END
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

There is only one version of this model, created about 8 hours ago by GUSTAVO CARREON.

Attached files

File Type Description Last updated
The paradox of inclusion: modeling systemic dynamics of the gender finance gap in entrepreneurial ecosystems.png preview Preview for 'The paradox of inclusion: modeling systemic dynamics of the gender finance gap in entrepreneurial ecosystems' about 8 hours ago, by GUSTAVO CARREON Download

This model does not have any ancestors.

This model does not have any descendants.