-- 验证假设：异常期推给用户的视频，是否有更高比例是"用户过去 7 天已经看过"的？
-- 跑法：python fetch_daily.py tasks/00_尾号实验/探查_重复推荐率.sql --start 20260408 --end 20260415 --force
--
-- 字段：
--   apptype: 0 / 4
--   total_exp: 当天该 apptype 的总曝光数（推荐页）
--   repeat_exp: 其中 (mid, vid) 在过去 7 天该 mid 已看过的曝光数
--   repeat_pct: repeat_exp / total_exp
--   unique_users / unique_vids: 触达用户/视频数

SELECT  c.apptype
        ,COUNT(1) AS total_exp
        ,SUM(CASE WHEN h.mid IS NOT NULL THEN 1 ELSE 0 END) AS repeat_exp
        ,COUNT(DISTINCT c.mid) AS unique_users
        ,COUNT(DISTINCT c.vid) AS unique_vids
FROM    (
            -- 当天推给用户的曝光（推荐页）
            SELECT apptype, mid, vid
            FROM   loghubods.dwd_recsys_alg_exposure_base_20250108
            WHERE  dt = '${dt}'
            AND    apptype IN ('0', '4')
            AND    page IN ("回流后沉浸页&内页feed","详情后沉浸页","首页feed","详情页")
        ) c
LEFT JOIN (
            -- 过去 7 天该用户看过的所有 (mid, vid)（不限页面）
            SELECT DISTINCT mid, vid
            FROM   loghubods.dwd_recsys_alg_exposure_base_20250108
            WHERE  dt < '${dt}'
            AND    dt >= TO_CHAR(DATEADD(TO_DATE('${dt}', 'yyyymmdd'), -7, 'dd'), 'yyyymmdd')
            AND    apptype IN ('0', '4')
        ) h
ON      c.mid = h.mid
AND     c.vid = h.vid
GROUP BY c.apptype
;
