How to create a fair distribution algorithm?

  • Context: Undergrad 
  • Thread starter Thread starter riay00
  • Start date Start date
  • Tags Tags
    Algorithm Distribution
Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
1 reply · 1K views
riay00
Messages
1
Reaction score
0
Hi,
I am a math noob and need to understand what is the best mathematical formula for fair distribution. The problem statement is as follows:

We choose 2 numbers at a given time to distribute donations at a particular instance in time (The numbers from 1-6500 represent community members ID). The maximum % of the total resource we need to distribute between them is 10% from the overall resource pool. For fair distribution, we are counting the number of days they have served the community continuously. The longest one has served in days gets the appropriate amount of the distribution. I (Being very bad at mathematics come up with the following formula and hope no one will grill me for that :) ). Was looking for some expert to teach me how to come up with an algorithm for that:

- Fd = T * (Rn) * (P) /100
T = Number of days (Variable number)
Rn = Total Random number (Static 2)
P = Total % of resource from the pool (Static 10)
 
Physics news on Phys.org
If I understand correctly, you want to distribute funds from a pool to members in a community so that the distribution to each member is in proportion to that member's continuous days service.

The first task is to figure out how many total member continuous-days you have to distribute over.##D = \sum_\text{members} D_\text{member}##. Just add them up.

Now the distribution for each member-day is the total pool divided by the total member-days in the distribution. Each day earns ##\frac{P}{D}##.

So each member gets his number of continuous days multiplied by the above per-day figure.

If one is doing this by computer and needs for the distribution to be fair, for each member to receive an even number of pennies and for the total distribution to come to the right number of pennies then there is an approach that I have used in the past...

Take the members one at a time. Sort from shortest tenure to longest if you wish. Give the first member their distribution and roll a random number for the last fractional penny that they may be entitled to. So if a member is owed ##10 \frac{1}{3}## cents then they get ten cents with a random chance of one in three of getting eleven cents instead.

Subtract that member from the pool of member-days remaining to distribute over and from the pool of funds remaining to distribute.

Proceed to the next member and repeat until the final member gets whatever is left in the pool.
 
Reply
  • Like
Likes   Reactions: Vanadium 50