I am in the beginning stages of creating a website that will be highly dependant upon referral. All I want to do, given the global reach of this site, is implement a way to track referrals through an unlimited amount of levels. If customer A referred ten people (let's call them customers 1-10) and then customer 9 referred two people (1a and 2a) I would like to know that customer A has a total of 12 referrals (1-10, 1a and 2a) and customer 9 has two referrals (1a and 2a). Basically I want to be able to track as if customer A is at the top of a pyramid and see how far down the line his referrals lead. There are no payment systems involved or anything like that. We will probably be getting users to register with minimal information, name, email and a few other fields. I have a feeling that this type of script is already out there but I just don't know what to search for.
Because there will be a competition for referrals, I am also wondering if the following idea is possible. Can each level of referral (well, not each but maybe the first five levels) be assigned a weight value. In other words, customer A would get 5 points for each of the first level referrals for a total of 50 points. Once customer 9 referred two people, customer A would get 4 points for those. If customer 1a and 2a each referred ten people (we are on level 3 now) then customer A would get 3 points for each of those, customer 9 would get 4 points for each and customers 2a and 2b would get 5 points for each. After about level five, I would say that all future referrals, no matter how far down the line or how many levels down, the original referrer only get a minimal value for each person (say 1 point). The point values are irrelevant, all I am trying to determine right now is if something like this is possible. I know I rambled, but I think you get the idea. Essentially, customer A would continue to receive points for referrals 300 levels down the road but it is better in terms of gathering points to get direct referrals. Let me know your thoughts.