select
round(count(m.date)/count(m.d),3) 
from
(SELECT 
x.user_id,
x.d, 
l2.date
from
(SELECT
l.user_id,
min(l.date)   as d
FROM login l
GROUP BY l.user_id)x
LEFT JOIN login l2 on x.user_id= l2.user_id and x.d+1= l2.date)m