select date, round(IFNULL(sum(case when 
                (user_id, date) in (select user_id, min(date) from login group by user_id) and 
                (user_id, date+1) in (select user_id, date from login) 
                then 1 else 0 end)/
            sum(case when 
               (user_id, date) in (select user_id, min(date) from login group by user_id) 
               then 1 else 0 end),0),3)
             from login 
             group by date 
             order by date