Дано: DataFrame `df` с колонками user_id, source (органика/реклама), reg_date, visit_date. Посчитай D7 retention отдельно по каждому source: доля пользователей, вернувшихся ровно на 7-й день, от всех зарегистрированных в этом source. Колонки: `segment`, `D7_retention`. Сохрани в `result`.
retention segmentation source