Student Conscription Model
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
Student Military Motivation Model
WHAT IS IT?
This model simulates the decision-making process of students at Kyiv higher education institutions regarding whether to join the defense forces during Russia's full-scale invasion of Ukraine. Based on research by Stratiienko and Prokhorova (2024), the model explores the various factors that motivate students to volunteer for military service, despite being legally exempt from mobilization during their studies.
The model visually represents different universities across Ukraine's regions (visible as blue clusters), along with various organizations (yellow for youth organizations, blue for political organizations, green for volunteer organizations). Students are represented as persons (green if not joined, red if they've joined the military).
The model incorporates four key motivation types identified in the research:
- Social motivation (finding belonging, peer influence)
- Moral and psychological motivation (overcoming guilt, showing solidarity)
- Political motivation (civic duty, historical participation)
- Economic motivation (financial stability, support for family)
Additionally, the model accounts for background factors that shape these motivations, including family influence, educational environment, and activism involvement.
HOW IT WORKS
The model represents students as agents with individual attributes (age, gender, study year, region of origin) who are situated within university environments. These students interact with peers and organizations, and their motivations evolve over time based on:
Background factors:
- Family influence (varies by region, with Western regions typically having higher Ukrainian-centric values)
- Educational influence (varies by university quality and region)
- Activism involvement (participation in youth, political, or volunteer organizations)
Environmental conditions:
- War progression (weeks since invasion)
- Media coverage of military
- Economic hardship
- Military, economic, and political events
- Recruitment campaign intensity
- Contract duration options
- Study-service compatibility
Social interactions:
- Peer influence (percentage of peers who have joined)
- Organizational membership
Each student has unique motivation thresholds and values for each motivation type. When their weighted overall motivation exceeds their individual threshold, they decide to join the military.
HOW TO USE IT
Setup Parameters
- Population Size: Number of students in the simulation (default: 500)
- Percent Female: Percentage of female students (default: 50)
- Simulation Length: Maximum number of weeks to run the simulation (default: 200)
Environmental Controls
- War Intensity: Overall intensity of the conflict (default: 70)
- Media Coverage: Level of positive media representation of military service (default: 50)
- Recruitment Campaign Intensity: How aggressively the military is recruiting students (default: 30)
- Study-Service Compatibility: How easy it is to combine studies with service (default: 30)
- Contract Duration: "1-year" (shorter) or "3-years" (longer) military contracts (default: 1-year)
Motivation Weight Sliders
- Social Weight: Importance of social factors in decision-making (default: 8)
- Moral Weight: Importance of moral and psychological factors (default: 8)
- Political Weight: Importance of civic and political factors (default: 5)
- Economic Weight: Importance of economic factors (default: 3)
Interaction Controls
- Interaction Radius: How far students can interact with peers (default: 8)
Buttons
- Setup: Initialize the model with the current parameter settings
- Go: Run the simulation continuously
- Go Once: Advance the simulation by one time step (week)
Monitors and Plots
- Students Joined (%): Overall percentage of students who have joined the military
- Male, % and Female, %: Breakdown of joining rates by gender
- Western, Central, Eastern, Southern: Breakdown of joining rates by region of origin
- Regional Comparison Over Time: Graph showing joining rates by region over time
- Average Motivation Level: Graph showing the trends of the four motivation types
- Events: Graph tracking the frequency of military, economic, and political events
- Overall Motivation: Graph showing motivation levels compared to thresholds
- Peers Joined: Distribution of peer influence on students
THINGS TO NOTICE
How does social influence spread through student networks? Notice how clusters of students tend to join together, visible as red agents concentrated in specific universities.
Compare the joining rates among students from different regions in the "Regional Comparison Over Time" plot. According to the sample run shown in the interface, Western Ukraine students (blue line) join at higher rates (33.3%) compared to Southern Ukraine (23.1%), aligning with the research findings about higher family influence and Ukrainian-centric values in western regions.
Observe the differential impact of the four motivation types in the "Average Motivation Level" plot. Social and moral motivations (red and green lines) appear to increase most rapidly and reach the highest levels (100), while political and economic motivations grow more slowly.
Notice how events (military, economic, political) create sudden shifts in motivation levels, tracked in the "Events" plot.
Observe the different joining patterns between male and female students (43.4% vs 24.7% in the sample run). Despite higher barriers, female students who do join often have stronger moral motivations.
Watch how organizational membership (yellow, blue, and green patches) affects motivation. Students in volunteer organizations (green patches) typically develop stronger moral motivations.
THINGS TO TRY
Adjust the motivation weights (currently set to Social: 8, Moral: 8, Political: 5, Economic: 3) to see which types of motivation have the strongest effect on joining decisions. Try reversing the weights to see if economic factors could become more influential under different conditions.
Compare short (1-year, currently selected) versus long (3-year) contract durations to see how commitment length affects volunteering rates. The research indicated that shorter contracts could make joining more appealing to students.
Vary the study-service compatibility (currently set to 30) to see how making it easier to combine studies with service affects joining rates. Try setting it to values above 50 to model policy changes that better accommodate student-soldiers.
Change the recruitment campaign intensity (currently 30) and media coverage (currently 50) to see the impact of different outreach strategies. According to the research, targeted campaigns through youth organizations might be particularly effective.
Modify the interaction radius (currently 8) to explore how social network density affects the spread of joining behavior. Does increasing this value lead to faster social contagion?
Create scenarios with different war intensity levels (currently 70) to model how escalation or de-escalation of the conflict might influence motivation.
Run multiple simulations with different percent-female settings (currently 50%) to explore gender dynamics in military volunteerism.
EXTENDING THE MODEL
Add a mechanism for students to leave military service and return to studies.
Implement more detailed university characteristics, including specific academic programs that might influence motivation (e.g., military studies, medicine, engineering).
Include a representation of family networks, so students can be influenced by relatives in addition to peers.
Add traumatic events that could significantly affect moral motivation.
Incorporate international influence factors such as NATO support or geopolitical events.
Implement a more sophisticated economic model that includes changing military salaries, inflation, and civilian job opportunities.
Add faculty members as influencers within university environments.
Include a more detailed representation of different military roles and branches that appeal to different student profiles.
Create a counterpart to model the decision-making process of students who choose alternative forms of contributing to the war effort (e.g., volunteering, civil defense).
NETLOGO FEATURES
The model uses breeds to represent students with complex attributes.
It uses patches with different properties to represent universities and organizations.
The model employs agent networks through the "peers" variable to represent social connections.
It uses scale-color to visually represent university quality on the patches.
The simulation incorporates probabilistic decisions based on weighted factors.
RELATED MODELS
- Community models: Rebellion, Ethnocentrism, Segregation
- Social Science models: Paths, Team Assembly, Diffusion on a Directed Network
- Networks models: Preferential Attachment, Virus on a Network, Small Worlds
CREDITS AND REFERENCES
This model is based on research by Iryna Stratiienko and Anna Prokhorova (2024) titled "The Motives of Students of Kyiv Higher Education Institutions to Serve in Defense Forces After the Full-Scale Invasion of Russia into Ukraine" published in NaUKMA Research Papers Sociology.
The research identified four key categories of motivations among students who volunteered for military service:
- Social motivations (finding belonging, peer influence)
- Moral and psychological motivations (overcoming guilt, showing solidarity)
- Political motivations (civic duty, historical participation)
- Economic motivations (financial stability, support for family)
The model also incorporates findings on background factors (family upbringing, education, activism) that shape these motivations, as well as regional differences and gender-specific patterns identified in the research.
Additional references from the paper that informed this model include:
- Jonsson et al. (2024) on conscription systems in European countries
- Girsh (2019) on youth attitudes toward military service in Israel
- Klymchuk (2015) on motivational discourse of personality
- Klymeniuk & Vakhovska (2018) on gender aspects of military service motivation
Comments and Questions
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; STUDENT MILITARY SERVICE MOTIVATION MODEL ;; Based on research on motivations of students in Kyiv universities ;; to join military service after Russia's full-scale invasion of Ukraine ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; GLOBAL VARIABLES globals [ war-week ; Current week count since full-scale invasion media-influence ; Level of positive media coverage of military (0-100) economic-hardship ; Level of economic difficulty in the country (0-100) ;; Regional distribution percentages percent-west ; Percentage of students from Western Ukraine percent-central ; Percentage of students from Central Ukraine percent-east ; Percentage of students from Eastern Ukraine percent-south ; Percentage of students from Southern Ukraine ;; Event counters for tracking simulation events military-events ; Count of significant military events economic-events ; Count of significant economic events political-events ; Count of significant political events ] ;; AGENT DEFINITIONS breed [students student] students-own [ ;; Demographic attributes age ; Student age (17-26) gender ; Student gender ("male" or "female") study-year ; Year of study (1-4) region ; Home region ("West", "Central", "East", "South") ;; Background factors (0-100 scale) family-influence ; Level of patriotic/military influence from family educational-influence ; Level of patriotic/educational influence from school/university activism-involvement ; Level of involvement in civic/political organizations ;; Motivation types (0-100 scale) social-motivation ; Motivation from social environment and peers moral-motivation ; Moral and psychological motivation political-motivation ; Civic and political motivation economic-motivation ; Economic/financial motivation ;; Decision variables motivation-threshold ; Individual threshold required to join (varies by person) joined? ; Whether student has joined military service ;; Network variables my-organization ; Type of organization the student belongs to (if any) my-university ; University the student attends peers ; List of connected peers my-peers-joined ; Percentage of peers who have joined military ] patches-own [ university ; University identifier (name) is-organization? ; Whether patch represents an organization organization-type ; Type of organization if applicable ("youth", "political", "volunteer") ] ;; MODEL SETUP PROCEDURES to setup clear-all ;; Initialize regional distribution set percent-west 30 ; 30% of students from Western region set percent-central 40 ; 40% from Central region set percent-east 20 ; 20% from Eastern region set percent-south 10 ; 10% from Southern region set economic-hardship 80 ; Start with high economic hardship (wartime conditions) ;; Initialize event counters set military-events 0 set economic-events 0 set political-events 0 ;; Set up the model environment and agents setup-environment setup-students setup-organizations reset-ticks end ;; Sets up the physical environment (universities and spaces) to setup-environment ;; Initialize all patches to default state ask patches [ set university "none" set is-organization? false set organization-type "none" set pcolor brown - 2 ; Default background color ] ;; Create university areas on the map setup-universities end ;; Creates student agents with appropriate attributes to setup-students create-students population-size [ set shape "person" set size 1 ; Set visible size for students ;; Initialize student attributes (demographics, motivations, etc.) setup-student-attributes ;; Place student at an appropriate university let target-university one-of patches with [university != "none"] ;; Fallback if no universities exist if target-university = nobody [ move-to one-of patches ] ;; Place student at their assigned university if target-university != nobody [ set my-university [university] of target-university ;; Try to find an unoccupied patch in the university let target-patch one-of patches with [(university = [my-university] of myself) and not any? students-here] ;; If all university patches are occupied, try nearby patches if target-patch = nobody [ set target-patch one-of patches with [university = [my-university] of myself] ;; Last resort fallback if target-patch = nobody [ set target-patch one-of patches ] ] ;; Move to the selected patch move-to target-patch ;; Add small random movement to avoid perfect alignment fd random-float 2 ] ] end ;; Initialize individual student attributes based on research data to setup-student-attributes ;; Set demographic attributes set age 17 + random 10 ; Ages 17-26 (typical university age range) set gender ifelse-value (random 100 < percent-female) ["female"] ["male"] set study-year 1 + random 4 ; Years 1-4 of university ;; Set regional background with appropriate probabilities let random-num random 100 if random-num < percent-west [set region "West"] if random-num >= percent-west and random-num < (percent-west + percent-central) [set region "Central"] if random-num >= (percent-west + percent-central) and random-num < (percent-west + percent-central + percent-east) [set region "East"] if random-num >= (percent-west + percent-central + percent-east) [set region "South"] ;; Initialize influence factors based partly on region set family-influence setup-family-influence set educational-influence setup-educational-influence set activism-involvement 0 ; Will be updated when organizations form ;; Initialize motivation factors with gender differences based on research ifelse gender = "female" [ ;; Female students - research shows higher moral components set social-motivation random 30 + 5 set moral-motivation random 30 + 10 set political-motivation random 30 set economic-motivation random 30 - 5 ] [ ;; Male students set social-motivation random 30 set moral-motivation random 30 set political-motivation random 30 + 5 set economic-motivation random 30 ] ;; Set individual threshold (varies by person and gender) ifelse gender = "female" [ ;; Women typically require higher motivation due to gender barriers in military set motivation-threshold 60 + random 40 ] [ ;; Men's threshold set motivation-threshold 50 + random 50 ] ;; Initialize decision and network variables set joined? false set peers [] end ;; Calculate family influence based on regional background to-report setup-family-influence let base-influence random 60 ;; Regional effects on family influence based on research if region = "West" [set base-influence base-influence + 20] ; Western regions more patriotic if region = "South" or region = "East" [set base-influence max list 0 (base-influence - 10)] ; Less patriotic influence report min list 100 base-influence ; Cap at 100 end ;; Calculate educational influence based on university quality and region to-report setup-educational-influence let base-influence random 50 let uni my-university ;; Higher quality education in prestigious universities if uni = "NaUKMA" [set base-influence base-influence + 20] ; Kyiv-Mohyla Academy if uni = "KNU" [set base-influence base-influence + 15] ; Kyiv National University if uni = "LNU" [set base-influence base-influence + 10] ; Lviv National University ;; Regional effects on educational influence if region = "West" [set base-influence base-influence + 5] ; Western universities more nationally oriented report min list 100 base-influence ; Cap at 100 end ;; Create organizations (youth, political, volunteer) on the map to setup-organizations ;; Number of each organization type let num-youth-orgs 3 + random 2 ; 3-4 youth organizations let num-political-orgs 2 + random 3 ; 2-4 political organizations let num-volunteer-orgs 4 + random 3 ; 4-6 volunteer organizations ;; Create youth organizations ask n-of num-youth-orgs patches with [not is-organization? and university != "none"] [ set is-organization? true set organization-type "youth" set pcolor yellow ] ;; Create political organizations ask n-of num-political-orgs patches with [not is-organization? and university != "none"] [ set is-organization? true set organization-type "political" set pcolor blue ] ;; Create volunteer organizations ask n-of num-volunteer-orgs patches with [not is-organization? and university != "none"] [ set is-organization? true set organization-type "volunteer" set pcolor green ] ;; Students join organizations based on their attributes and proximity ask students [ ;; Find nearby organizations (within radius of 5 patches) let nearby-orgs patches in-radius 5 with [is-organization?] ;; If there are nearby organizations, possibly join one based on student characteristics if any? nearby-orgs [ let chosen-org one-of nearby-orgs let join-probability 0 ;; Calculate join probability based on organization type and student characteristics if [organization-type] of chosen-org = "youth" [ ;; Younger students more likely to join youth orgs set join-probability 70 - ((age - 17) * 10) ] if [organization-type] of chosen-org = "political" [ ;; Political orgs appeal to students with political motivation set join-probability political-motivation / 2 ] if [organization-type] of chosen-org = "volunteer" [ ;; Volunteer orgs appeal more to students with moral motivation set join-probability moral-motivation / 2 ] ;; Regional effects on organization joining if region = "West" and [organization-type] of chosen-org = "volunteer" [ set join-probability join-probability + 20 ; Western regions more volunteer-oriented ] if region = "East" and [organization-type] of chosen-org = "political" [ set join-probability join-probability + 15 ; Eastern regions more politically active ] ;; Join organization if probability threshold met if random 100 < join-probability [ set my-organization [organization-type] of chosen-org ;; Being in an organization increases activism involvement set activism-involvement 20 + random 40 ;; Different organization types affect different motivations if my-organization = "youth" [ set social-motivation social-motivation + 10 ] if my-organization = "political" [ set political-motivation political-motivation + 15 ] if my-organization = "volunteer" [ set moral-motivation moral-motivation + 15 ] ] ] ] end ;; Create university areas on the map based on real geography to setup-universities ;; Define number of universities let num-universities 6 ; All 6 universities to match research data ;; List of university names let university-names ["NaUKMA" "KNU" "LNU" "KhNU" "ONPU" "ChNU"] ;; Regions associated with each university let university-regions ["Central" "Central" "West" "East" "South" "Central"] ;; University quality factors (0-100) - affects educational influence let university-quality [85 75 70 65 60 65] ;; Coordinates for each university based on approximate real geography let university-coordinates [ [0 0] ; NaUKMA - Kyiv (Central) [5 -2] ; KNU - Kyiv (Central) [-15 5] ; LNU - Lviv (West) [18 -5] ; KhNU - Kharkiv (East) [5 -15] ; ONPU - Odesa (South) [-5 -10] ; ChNU - Chernivtsi (Central-West) ] ;; University size (radius) to create appropriate areas let university-sizes [3 6 6 6 6 5] ;; Create each university in its geographic location let university-counter 0 repeat num-universities [ ;; Skip if we've run out of university names if university-counter >= length university-names [stop] ;; Get the current university coordinates and radius let center-x item 0 (item university-counter university-coordinates) let center-y item 1 (item university-counter university-coordinates) let radius item university-counter university-sizes ;; Get the current university name and associated data let current-name item university-counter university-names let current-region item university-counter university-regions let current-quality item university-counter university-quality ;; Create a cluster of patches for this university ask patches with [(pxcor - center-x) ^ 2 + (pycor - center-y) ^ 2 < radius ^ 2] [ set university current-name ;; Set colors based on university quality (unique shade for each university) set pcolor scale-color blue current-quality 0 100 set plabel-color white ;; Occasionally label a patch with university name for visualization if random 100 < 10 and (pxcor - center-x) ^ 2 + (pycor - center-y) ^ 2 < (radius - 1) ^ 2 [ set plabel current-name ] ] ;; Increment counter set university-counter university-counter + 1 ] end ;; MAIN SIMULATION PROCEDURES to go if ticks >= simulation-length [stop] ; End simulation after specified time ;; Advance war timeline set war-week ticks ;; Update environmental conditions (media, economy, events) update-environment ;; Students interact and update motivations ask students [ interact-with-peers update-motivations decide-to-join ] ;; Update visualization update-display tick end ;; Update environmental conditions affecting all students to update-environment ;; Initialize media influence on first tick if ticks = 0 [ set media-influence 50 ; Start at neutral value ] ;; Update media influence based on slider and random fluctuations set media-influence (media-coverage + random-float 5 - 2.5) set media-influence max list 0 min list 100 media-influence ; Keep within 0-100 range ;; Economy gradually fluctuates with war duration set economic-hardship max list 0 (economic-hardship + random-float 2 - 1) ;; Apply environmental effects to students based on their characteristics ask students [ ;; Recruitment campaigns affect social motivation set social-motivation social-motivation + (recuitment-campaign-intensity / 100) * social-weight ;; Recruitment campaigns also affect economic motivation but less strongly set economic-motivation economic-motivation + (recuitment-campaign-intensity / 200) * economic-weight ;; Eastern and Southern regions face more economic impact during war if region = "East" or region = "South" [ set economic-motivation economic-motivation + (economic-hardship / 200) ] ;; Media influence affects political motivation differently based on education level set political-motivation political-motivation + (media-influence / 100) * (educational-influence / 100) * political-weight ] ;; Occasional major events that affect motivations (roughly every 10 weeks) if war-week mod 10 = 0 and war-week > 0 [ let event-type random 3 ;; Major military event (increases moral motivation) if event-type = 0 [ set military-events military-events + 1 ask students [ set moral-motivation moral-motivation + random-float 10 ] ] ;; Economic support package (increases economic motivation) if event-type = 1 [ set economic-events economic-events + 1 ask students [ set economic-motivation economic-motivation + random-float 15 ] ] ;; Political development (increases political motivation) if event-type = 2 [ set political-events political-events + 1 ask students [ set political-motivation political-motivation + random-float 12 ] ] ] end ;; Students interact with peers and update their social network to interact-with-peers ;; Find nearby peers within interaction radius let nearby-peers other students in-radius interaction-radius ;; Store nearby peers list set peers nearby-peers ;; Calculate the percentage of peers who have joined military ifelse any? nearby-peers [ set my-peers-joined (count nearby-peers with [joined?] / count nearby-peers) * 100 ] [ set my-peers-joined 0 ; No peers, so set to 0 ] end ;; Update student motivation levels based on various factors to update-motivations ;; Calculate peer influence let joined-peers 0 let total-peers count peers if total-peers > 0 [ set joined-peers count peers with [joined?] ] ;; Social motivation increases when peers join set social-motivation social-motivation + (joined-peers / max list 1 total-peers) * social-weight ;; Moral motivation increases with war duration set moral-motivation moral-motivation + (war-week / 50) * moral-weight ;; Political motivation affected by activism involvement set political-motivation political-motivation + (activism-involvement / 100) * political-weight ;; Economic motivation affected by economic conditions set economic-motivation economic-motivation + (economic-hardship / 100) * economic-weight ;; Gender-specific motivation updates based on research if gender = "female" [ ;; Research shows women have higher responsibility for state welfare set moral-motivation moral-motivation + (war-week / 40) * moral-weight ;; Women more motivated to prove themselves against stereotypes set social-motivation social-motivation + (war-week / 200) * social-weight ] ;; Apply natural decay to motivations over time (prevents unlimited growth) set social-motivation min list 100 (social-motivation * 0.97) set moral-motivation min list 100 (moral-motivation * 0.99) set political-motivation min list 100 (political-motivation * 0.98) set economic-motivation min list 100 (economic-motivation * 0.96) end ;; Make decision about joining military based on motivations and barriers to decide-to-join if joined? [stop] ; Skip if already joined ;; Calculate overall motivation (weighted sum of motivation types) let overall-motivation ( (social-motivation * social-weight) + (moral-motivation * moral-weight) + (political-motivation * political-weight) + (economic-motivation * economic-weight) ) / (social-weight + moral-weight + political-weight + economic-weight) ;; Apply barriers based on research findings if contract-duration = "3-years" [ ;; Longer contracts reduce likelihood (significant barrier identified in research) set overall-motivation overall-motivation * 0.8 ] if study-service-compatibility < 50 [ ;; Lower compatibility between studies and service is a barrier set overall-motivation overall-motivation * (0.5 + (study-service-compatibility / 100)) ] ;; Make decision to join if motivation exceeds threshold if overall-motivation > motivation-threshold [ set joined? true set color red ] end ;; Update display elements for visualization to update-display ;; Update student colors based on joined status ask students [ ifelse joined? [ set color red ] ; Joined military (red) [ set color green ] ; Not joined (green) ] end
There is only one version of this model, created 6 months ago by Artem Serdyuk.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
Student Conscription Model.png | preview | Preview for 'Student Conscription Model' | 6 months ago, by Artem Serdyuk | Download |
This model does not have any ancestors.
This model does not have any descendants.