It is an interesting thought experiment that can be dissected in several ways depending on how it is addressed.
So, I figured why not just create github.com Shiny R application that builds estimates depending on the input. The current formula is a crude estimation that assumes there in an N population of positions that become available based on an independent probabiltiy p and there is a competing number of w applicants which are chosen at random. For CS and CE jobs in US and Canada based on CRA's survey data is around 50%.
The Shiny R application for playing around wtih the input can be found here: https://tsikerdekis.shinyapps.io/AcademicJobProbability/
The source can be found: https://github.com/tsikerdekis/AcademicJobProbability (Pull requests more than welcome)