Simulates how many times you have to go to the shop to get a particular armor+slot combination. Select only a subset and click run simulation.
Section ID and difficulty impact the slot probabilities. Player level impacts the armor type probabilities (as well as the number of items in the shop).
The mechanics of the shop disallows "duplicates," which it takes to mean items with the same type AND slot. E.g., you could have 2 Psy Armors, but they would have different slots. Statistically, this could be thought of as sampling without replacement where the elements are (armor+slot) combinations. Keep in mind that not each combination has equal probability. The hypergeometric distribution describes the probability when all elements are equal; however, the shop dynamics don't obey the equal probability assumption. There are extensions such as the noncentral hypergeometric distribution, but that deals with a binary case with bias, while we have more than 2 categories. Thus, we can instead estimate the value numerically using Monte Carlo simulations to get the probability of getting it in a given shop. From there, the outcome is a simple success or failure; thus, we can then model the distribution of number of shop visits needed as being a geometric distribution with p being the probability of success.
Note that this is a Monte Carlo simulation, so results may vary slightly each time you run it. In practice, the default number of trials should give a good approximation of the actual probabilities. You can reduce the number for faster results at the cost of accuracy, or increase it for more accuracy at the cost of speed.
Parsing data and file help done in collaboration with AKDylie.
Data and formula taken from Newserv