select t1.date ,round(ifnull(ifnull(count(t3.date),0)/count(t2.min_date),0),3)
from login t1
left join
(select user_id,min(date) min_date from login
group by user_id) t2
on t1.user_id=t2.user_id and t1.date=t2.min_date
left join login t3
on t1.user_id=t3.user_id
and t3.date=date_add(t1.date,interval 1 day)
group by t1.date order by t1.date;