Impact of Positive Discrimination in Accelerators on the Financial Gender Gap: An Agent-Based Simulation
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
This model explores how targeted inclusion interventions (positive discrimination) in startup accelerators affect gender-based disparities in venture capital (VC) financing. It represents an entrepreneurial ecosystem as a dynamic network of startups that interact, learn, and compete for funding.
The model investigates how increasing the participation of female- and mixed-led startups in accelerator programs influences the emergence of systemic inequalities in financial outcomes. It captures how local decisions and social connections aggregate to produce macro-level patterns of inequality and ecosystem performance.
HOW IT WORKS
The model consists of startups (agents) differentiated by gender composition:
Male-led startups (black)
Female-led startups (red)
Mixed-gender startups (yellow)
Each startup possesses human capital (d), funds, and social connections. The simulation proceeds through several interdependent processes:
Networking: Startups meet and form links with others based on gender-dependent probabilities, reflecting social homophily and implicit bias (parameter δ).
Accelerator selection: Periodically, startups apply to accelerator programs. A proportion of the capacity is reserved for female and mixed startups, representing positive discrimination (female%, mix%).
Learning and community building: Accelerated startups improve their human capital and form new intra-cohort and external links, increasing their social capital.
VC funding: Startups can apply for venture capital through two selection mechanisms:
Traditional: the best startup (highest combined human and social capital) is funded.
Preferred: the VC prioritizes female and mixed startups.
Lifecycle: Startups lose funds over time; when funds reach zero, they exit and are replaced by new entrants to maintain a steady population.
Through these iterative local interactions, aggregate outcomes such as gender funding gaps, overall network density, and average human capital emerge.
HOW TO USE IT
Set parameters in the Interface tab:
startups0, startups1, startups2: initial number of male, female, and mixed startups.
skills: mean human capital (Poisson distribution mean).
delta: gender bias coefficient (0 = no bias, 1 = maximum inequality).
cap_acc: proportion of startups admitted to accelerators per cycle.
female%, mix%: share of accelerator capacity reserved for each gender.
vc-selection: choose "traditional" or "prefered" for the VC funding rule.
Click setup to initialize the model. Startups will appear color-coded by gender.
Click go to run the simulation. Watch the evolution of colors:
Black/red/yellow = active but unfunded startups.
Blue = startups in acceleration.
Green = funded startups.
Monitor plots and monitors:
Funding gap indicators (gap-m/f, gap-m/x, gap-x/f)
Average human and social capital by gender.
Counts of accelerated and funded startups.
THINGS TO NOTICE
Non-linear effects: The reduction of the gender funding gap does not increase linearly with the inclusion rate. Beyond a threshold, the system exhibits saturation effects.
Trade-offs: Increasing gender equity may reduce total funding events, as interventions alter competitive dynamics.
Network effects: Observe how link density and clustering evolve as bias (δ) changes. More inclusive networks often exhibit higher connectivity and slower segregation.
Path dependence: Early successes (the “trigger” startups) can influence long-term outcomes, showing sensitivity to initial conditions.
Emergent dynamics: Run multiple simulations with different random seeds to see how stochastic variations shape ecosystem diversity and performance.
THINGS TO TRY
Compare traditional vs. prefered VC selection.
Increase female% and observe how quickly the gender gap decreases.
Vary δ (bias) to test the resilience of inclusion policies under stronger structural inequality.
Reduce cap_acc to simulate limited accelerator capacity and observe how bottlenecks affect gender outcomes.
Track cumulative funding and network metrics to detect tipping points in systemic inclusion.
CREDITS AND REFERENCES
Fuentes, N., Carreón G., & Jana Schmutzler (2025). “Impact of Positive Discrimination in Accelerators on the Financial Gender Gap: An Agent-Based Simulation.” NetLogo model. Available at: https://modelingcommons.org/
Comments and Questions
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; EntrepreneurialEcosystem_GenderGap_ABM.nlogo ;; ;; Title: Impact of Positive Discrimination in Accelerators on the Financial Gender Gap: An Agent-Based Simulation ;; Authors: Nicolas Fuentes (Uninorte, Colombia), Gustavo Carreón (UNAM, México), Jana Schmutzler (Uninorte, Colombia) ;; Date: 2025 ;; ;; Purpose: ;; This model investigates how targeted inclusion interventions within entrepreneurial ;; accelerators influence gender-based disparities in venture capital financing. ;; It represents an entrepreneurial ecosystem as an adaptive social-financial network ;; in which startups interact, learn, and compete for resources. ;; ;; The simulation explores how positive discrimination (increasing the participation ;; of female-led startups in accelerator programs) affects emergent funding patterns, ;; human and social capital accumulation, and overall ecosystem dynamics. ;; ;; Methodology: ;; - Agent-based modeling (ABM) ;; - Network formation and gender-biased interactions ;; - Policy interventions via accelerator capacity and inclusion rates ;; ;; Keywords: ;; Entrepreneurial ecosystem, gender inequality, positive discrimination, ;; accelerators, venture capital, ABM, complex systems, social networks ;; ;; License: ;; This model is distributed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. ;; https://creativecommons.org/licenses/by-nc-sa/4.0/ ;; ;; Recommended citation: ;; Fuentes, N., Carreón G., & Schmutzler. J. (2025). “Impact of Positive Discrimination in Accelerators ;; on the Financial Gender Gap: An Agent-Based Simulation.” NetLogo model. ;; Available at: https://modelingcommons.org/browse/one_model/7760 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; 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 are 4 versions of this model.
Attached files
| File | Type | Description | Last updated | |
|---|---|---|---|---|
| Impact of Positive Discrimination in Accelerators on the Financial Gender Gap: An Agent-Based Simulation.png | preview | Preview for 'Impact of Positive Discrimination in Accelerators on the Financial Gender Gap: An Agent-Based Simulation' | about 17 hours ago, by GUSTAVO CARREON | Download |
This model does not have any ancestors.
This model does not have any descendants.
Download this model