Prize distribution system based on quantity/priority per day

750 Views Asked by At

I'm trying to figure out a way to "fairly" distribute a pool of prizes on a daily basis depending on the time the contest will run, the priority and max items per day/week.

For a better explanation, this is an example of an online ticket system for a 30 day period:

Contest days: 30 days
Prizes poll:
Prize Gold (Total: 10, Priority: 4, Máx. per week: 3)
Prize Silver (Total: 15, Priority: 3, Máx. per week: 4)
Prize Copper (Total: 30, Priority: 2, Máx. per day: 1)
Prize Paper (Total: 50, Priority: 1, Máx. per day: 2)

Everyone can get a ticket, but not all tickets have a prize. Prizes must be given throughout the day, and not in one hour or half a day. For example: if there are only 2 prizes available for the day, then one must be awarded in the first 12 hours of the day and the second in the last 12 hours (I think this part is a bit difficult since there is no limit for tickets given in a day).

The priority means that, if I have 2 prizes that can be used for that particular ticket, the one with higher priority will be used.

The máx items day/week are related to all requests (total), and not for an individual.

Hope I made myself clear. I can give more examples or try to explain better is necessary! Anyone got an ideia where I might start?

1

There are 1 best solutions below

2
On

You don't make clear whether it is like a lottery, where each ticket has numbers that are drawn after the tickets are bought, or like a scratcher game where the winning tickets are designated when the tickets are printed. For a lottery, you can just divide the week into as many segments as you want. If you want one gold and two silver prizes per 12 hours (a slight change to your numbers) just draw sets of numbers until you have distributed that many prizes. Scratchers are much more difficult in this regard. You have no control over when the winning tickets are sold or claimed.