Defina a tabela de referência da seguinte forma:
referrals:
id (primary key)
referrer_id (user who is referring someone else)
referred_email (email of person being referred)
status (referred[default], registered)
created_on
updated_at
Seguindo a política "não confie em ninguém" você não deve usar nome como campo nas referências. Por exemplo. Eu envio uma referência:email=>seu_email, name=>abuso . Isso te rebaixa.
Para contar não. de referências:
select count(*) as referral_count from referrals where referrer_id = 'user_id'