Lista randômica usando estatistica (idéias?)

Pessoal, boa noite!
Eu estou desenvolvendo um projeto na faculdade e eu vou precisar simular compras em um supermercado. Para ser mais claro o que eu preciso fazer é gerar uma lista de compra (e concretizá-la) com base no perfil de consumo.

Por exemplo:

A lista de compras de uma família de classe média seria composta da seguinte forma: 35% composta por mercearias, 10% carnes e frios, 5% bebidas (leite, suco e etc) e por ai vai.

Então eu tenho um inventory com todos os produtos separados por segmentos e eu gostaria de saber como eu posso gerar uma lista usando as porcentagem aproximadas que citei, ou seja, na lista de compras que vou simular 35% dos produtos na lista tem que ser de mercearia (arroz, feijão…).

Desde já eu agradeço as pessoas que derem ideias!

Um abraço a todos!

Eu faria assim: primeira coisa iria gerar um número randomico que seria o tamanho da lista (número de itens), depois, com o tamanho da lista é facíl calcular as porcentagens, ou seja, o número de itens de cada categoria.

Digamos que você tenha uma lista de compras contendo 20 itens. Você disse que a probabilidade de um item ser de mercearia é de 0,35, a de um item ser carne é de 0,1 e assim por diante. Você pode sortear um número de 0 a 1 (Math.random() já faz isso para você). Então, se o número for 0 <= n < 0.35, ele é de mercearia, se for 0.35 <= n < 0.35 + 0.1 é carne, se for 0.35 + 0.1 <= n < 0.35 + 0.1 + 0.05 é suco, e assim por diante. Obviamente, as probabilidades devem somar 1 (ou seja, 100%).