user based rank algorithm