After a good few hours working on the simulation yesterday — and by ‘a few’ I mean ’15 hours’ — I have things working in a more stable configuration now. The original simulation I’m working from was structured around a stable population, but in this simulation I’m using a dynamic population — a very dynamic one, in fact, as postdocs shuffle in and out constantly.
This has meant that I’ve been working a lot on re-writing some of the code to facilitate the addition of postdocs to the virtual research community. Yesterday I ended up learning some new skills when I found that I needed lists of agents that retained the order of the elements within, so that was an interesting opportunity to learn more about ordered dictionaries in Python. Presumably I might be able to make use of those in future models too, so that’s very helpful.
So, at the moment we have a nicely dynamic population of simulated academic agents in which postdocs enter the population every semester as grants are disbursed to tenured academics. Tenured academics spend their time doing research and applying for research grants; they learn from experience and change their time allocation strategies regularly to try to maximise their success in these arenas. The simulation starts with 100 tenured academics, and after 50 years in a typical run we end up with about ~1200 academics in total, with about a third to a half of those being postdocs, depending on the parameter settings.
These results are based on a generous virtual society though, at least compared to reality: 25% of postdocs get promoted to tenured posts at the end of their contracts; research funding is available to about 30% of academics even as the population grows massively over the years; and tenured academics holding grants get a 50% boost to their research output. Initially I had included a ‘management penalty’ to research quality for grant-holders, to account for the time spent line-managing postdocs and administering projects rather than actually doing research, but in this generous situation I left that penalty out completely.
So, in this relatively happy situation compared to the real world, do we see any productivity gain from the mass introduction of non-tenured, research-only staff?
Well… no, not quite:
As you can see above, once postdocs are introduced we see a relatively precipitous drop in research productivity. Grant-holders in particular suffer a great deal on this front, despite having that 50% research output bonus. Tenured academics not holding grants (in purple) and failed grant applicants (yellow) also dip significantly, but then rebound slightly as they adjust their time allocation strategies between grant-writing and pure research. Postdocs enter at a lower point and then settle at a middling level of productivity, necessitated by the lowered research productivity they experience at the beginning/end of their contracts. Their output tends to be more ‘spikey’ in general, as they shuffle in and out of the population very frequently. Toward the end of the simulation everyone begins to converge between the 0.3 – 0.5 range or so — and in this run we can see the postdocs just overtaking the grant-holders in productivity.
Another interesting aspect here is that in a no-postdoc situation there’s a reasonable positive correlation between research quality and grant disbursement — better researchers tend to get the money, in other words. When postdocs are introduced that breaks down completely, and there’s little to no correlation between the two; in fact on more than a few runs I’ve seen slight *negative* correlations, this in spite of the fact that in the simulation research quality is used in the ranking of applications.
So — at this stage it seems like introducing a highly volatile, insecure population of researchers into the mix creates a large amount of uncertainty, reduces overall research output, and in general disrupts things significantly. Even in a ‘generous’ research environment we see these problems clearly.
What about in a more challenging funding environment? Let’s imagine we’re working in biology or something, one of those fields were grant applications only succeed 10-15% of the time, and money is scarce so permanent positions are even more difficult for postdocs to achieve:
The population is much smaller, sustaining 605 academics in this particular run and just 96 postdocs — but the research output stats look extremely similar. Grant-holders suffer a huge drop in overall productivity, punctuated by periods of high output when they’re holding that grant, and dipping again when they dump research time into grant-writing to try to get the next one. Failed applicants and non-grant-holders still hover around the bottom edges, de-emphasizing research as they’re trying desperately to get research money through writing bids. Postdocs, meanwhile, wobble around the 0.4 mark most of the time, never quite in post long enough to settle in — and given that they’re not able to apply for grants, they never can benefit from that 50% bonus to output like the senior academics can.
Again these are early results and a very cursory analysis, but it seems like what’s happening here is pretty stable even with fairly significant changes to parameter settings (I’ve done many more runs on my own to check this). This suggests that in order to escape these problems, future versions of the simulation will need to look at more drastic changes to the research career/funding structures in order to try to address these problems.
Next time, I’ll be adding some more analytical tools to the simulation, and developing some experiments to test alternative funding disbursement methods and career structures. As ever please do get in touch with me if you have ideas or suggestions — I’m very keen to have more people to speak to about this kind of work!