Jello_Raptor
(Confirmed Jelly)
- Location
- Left of Center
Assumptions:
- Renewal rate: 300 Genin/year in Leaf, about 3000/year globally
- Age 12-16 inclusive are Genin
- Age 17-22 inclusive are Chunin
- Age above 23 inclusive are Jonin
- Wanted ~ 1000 Genin in Leaf
- Wanted ~367 Chunin in Leaf
- Wanted ~133 Jonin in Leaf
- Wanted ~4 Jonin above the age of 70 globally
Total Ninja: 1500.0912188460543
Genin: 1000.3752
Chunin: 370.58109064704
Jonin: 129.13492819901376
Jonin by age
Jonin less than 30: 79.5233679741225
Jonin 30-40: 31.555263724950777
Jonin 40-50: 11.522930027940896
Jonin 50-60: 4.48721468082732
Jonin 60-70: 1.6907622314310868
Jonin over 70: 0.355389559741166
cohort =
[300, 210.0, 178.5, 162.4, # 12-15
149.4, 107.6, 80.7, 62.9, 49.7, # 16-20
39.8, 29.8, 20.9, 15.7, 12.2, # 21-25
9.7, 8.2, 7.0, 5.9, 5.1, #26-30
4.5, 3.9, 3.5, 3.1, 2.8, #31-35
2.5, 2.3, 2.1, 1.9, 1.7, #36-40
1.5, 1.4, 1.3, 1.2, 1.1, # 41-45
1.0, 0.9, 0.8, 0.73, 0.66 # 46-50
0.60, 0.55, 0.50, 0.45, 0.41, # 51-55
0.38, 0.34, 0.31, 0.28, 0.26, # 56-60
0.23, 0.21, 0.19, 0.173, 0.155, # 61-65
0.138, 0.123, 0.108, 0.095, 0.083, # 66-70
0.071, 0.060, 0.049, 0.037, 0.027, # 71-75
0.018, 0.010] # 76, 77
fJo = 0.09 # flat jonin mortality
deathRate =
[ .3, .15, .09, .08, .28, # 13 14 15 16 17
.25, .22, .21, .20, .25, # 18 19 20 21 22
.3, .25, .22, .21, .15, # 23 24 25 26 27
.15, .15, .14, .12, .12, # 28 29 30 31 32
.12, .11, .1, .1 , .1 , # 33 34 35 36 37
fJo, fJo, fJo, fJo, fJo, # 38 39 40 41 42
fJo, fJo, fJo, fJo, fJo, # 43 44 45 46 47
fJo, fJo, fJo, fJo, fJo, # 48 49 50 51 52
fJo, fJo, fJo, fJo, fJo, # 53 54 55 56 57
fJo, fJo, fJo, fJo, fJo, # 58 59 60 61 62
.10, .10, .10, .11, .11, # 63 64 65 66 67
.12, .12, .13, .14, .16, # 68 69 70 71 72
.19, .23, .28, .34, .41] # 73 74 75 76 77
import numpy as np
from matplotlib import pyplot as pp
fJo = 0.09 # flat jonin mortality
deathRate = [ .3, .15, .09, .08, .28, # 13 14 15 16 17
.25, .22, .21, .20, .25, # 18 19 20 21 22
.3, .25, .22, .21, .15, # 23 24 25 26 27
.15, .15, .14, .12, .12, # 28 29 30 31 32
.12, .11, .1, .1 , .1 , # 33 34 35 36 37
fJo, fJo, fJo, fJo, fJo, # 38 39 40 41 42
fJo, fJo, fJo, fJo, fJo, # 43 44 45 46 47
fJo, fJo, fJo, fJo, fJo, # 48 49 50 51 52
fJo, fJo, fJo, fJo, fJo, # 53 54 55 56 57
fJo, fJo, fJo, fJo, fJo, # 58 59 60 61 62
.10, .10, .10, .11, .11, # 63 64 65 66 67
.12, .12, .13, .14, .16, # 68 69 70 71 72
.19, .23, .28, .34, .41] # 73 74 75 76 77
cohort = [300]
#cohort = [3000]
age = [12]
for r in deathRate:
age.append(age[-1]+1)
cohort.append(cohort[-1]*(1-r))
pp.figure()
pp.plot(age, cohort)
print('Total Ninja: ', sum(cohort))
print('Genin: ', sum(cohort[0:5]))
print('Chunin: ',sum(cohort[5:11]))
print('Jonin: ', sum(cohort[11:]))
print('Jonin less than 30: ', sum(cohort[11:18]))
print('Jonin 30-40: ', sum(cohort[18:28]))
print('Jonin 40-50: ', sum(cohort[28:38]))
print('Jonin 50-60: ', sum(cohort[38:48]))
print('Jonin 60-70: ', sum(cohort[48:58]))
print('Jonin over 70: ', sum(cohort[58:]))
pp.figure()
pp.plot(age[1:], deathRate)
The handy thing about looking at the leaf statistics is that it is about a 10th of the global ninja population (1500 of 10000-20000) - so get the global statistics by multiplying by 10.
Possible limitations
- 300 new Genin every year might be high - I needed a large value to get enough Genin to live through the death world.
- I went with 500 combined Chunin/Jonin to ensure every Genin has a team leader. This leaves ~170 total Chunin and Jonin to run S/A/B rank missions without a Genin team (pretty sure it is canon that there are high ranking ninja without teams)
- Mortality is spikey - Genin death rate starts high and plummets, but as soon as they are assigned as Chunin (and take dangerous missions) the death rate skyrockets again. When they approach Jonin, the death rate once again reaches a peak, because of more dangerous missions and bounties.
Can you put together a few plots of this with matplotlib or something?
It's just really hard to read arrays of data.
Last edited: