select t1.video_id, round(avg(if(timestampdiff(second,start_time,end_time)>=t2.duration,1,0)),3) as vg_comp_play_rate from tb_user_video_log as t1 join tb_video_info as t2 on t1.video_id=t2.video_id where year(start_time)=2021 group by t1.video_id order by vg_comp_play_rate desc;