SELECT t0.date
      ,ROUND(IFNULL(COUNT(t2.user_id)/COUNT(t1.user_id),0),3) AS p
FROM
(SELECT DATE
FROM login
GROUP BY DATE) AS t0 LEFT JOIN (SELECT user_id,MIN(DATE) AS DATE
FROM login
GROUP BY user_id) AS t1
ON t0.date = t1.date
LEFT JOIN login AS t2
ON t1.user_id = t2.user_id
AND DATE_ADD(t1.date,INTERVAL 1 DAY) = t2.date
GROUP BY t0.date
ORDER BY t0.date