|
Donation algorithm
GoodTree has a policy of financial transparency. We publish our financial details including revenues and the amount donated to each charity. This page describes the algorithm we use to calculate the amount of money donated to each charity.
Simple description
For every user, we take the number of searches the user did in the month and divide it by the number of charities the user chose to support (at the time the distribution is calculated). We add this value to the total search tally for each of the charities the user selected.
For each charity, we determine how much they should get by dividing their search count tally by the total number of searches done in the month, and multiplying that value by the total donation amount.
Mathematical description
Here is a more mathematical description of the algorithm:
- A = total search revenue for the month
- B = (A / 2) = (total search revenue / 2) = total target donation for the month rounded up to the nearest cent
- C = total number of searches done by all users in the month
- Dx = number of searches by user "x" in the month
- Ex = the set of charities selected by user "x" (at the time the distribution is calculated)
- Fx = number of charities selected by user "x" (the number of charities in Ex)
- Gx = (Dx / Fx) = number of searches allocated to each of the user's charities (each charity in Ex) for the month
- Hy = total search count for charity "y" for the month, which is the sum of Gx for all users that selected the charity (charity "y" is in Ex)
- Iy = (Hy / C) * B = total amount donated to charity "y" for the month, rounded up to the nearest cent
If a user has not selected any charities, then Ex is taken to be all charities that were available on the site during the month.