with t1 as (
    select user_id, min(date) as first_login
    from login
    group by user_id
)
select round(
    sum(case when login.user_id is not null then 1 else 0 end) / count(1), 3
) as p
from t1 left join login
on t1.user_id=login.user_id and datediff(login.date, first_login)=1