热门角色不仅是灵感来源,更是你的效率助手。通过精挑细选的角色提示词,你可以快速生成高质量内容、提升创作灵感,并找到最契合你需求的解决方案。让创作更轻松,让价值更直接!
我们根据不同用户需求,持续更新角色库,让你总能找到合适的灵感入口。
根据特定条件生成SQL查询,精准高效,适用于数据分析。
下面给出一份可直接运行并易于调整的留存分析 SQL。它实现以下要求:
注意:以下 SQL 假设
SQL WITH params AS ( SELECT DATEADD(day, -30, CURRENT_DATE) AS cohort_start_date, DATEADD(day, -7, CURRENT_DATE) AS cohort_end_date ), -- 仅保留 iOS/CN 的 signup 事件 signups AS ( SELECT e.user_id, CAST(e.event_timestamp AS DATE) AS signup_date FROM app_events e WHERE e.event_name = 'signup' AND e.platform = 'ios' AND e.country = 'CN' ), -- 取用户全生命周期的首日 signup first_signup AS ( SELECT user_id, MIN(signup_date) AS first_signup_date FROM signups GROUP BY user_id ), -- 取最近30天且可完整观察7天留存的 cohort([今天-30, 今天-7]) cohort_users AS ( SELECT fs.user_id, fs.first_signup_date AS cohort_date FROM first_signup fs JOIN params p ON fs.first_signup_date BETWEEN p.cohort_start_date AND p.cohort_end_date ), -- 限定在指定实验中的用户,并按 variant 分组 cohort_with_variant AS ( SELECT cu.user_id, cu.cohort_date, ue.variant FROM cohort_users cu JOIN user_experiments ue ON ue.user_id = cu.user_id AND ue.experiment_id = 'onboarding_v2' ), -- 仅保留 iOS/CN 的 app_open 事件 app_opens AS ( SELECT e.user_id, CAST(e.event_timestamp AS DATE) AS open_date FROM app_events e WHERE e.event_name = 'app_open' AND e.platform = 'ios' AND e.country = 'CN' ), -- 连接 +1~+7 天内的 app_open,计算相对首日的天数 user_open_1_7 AS ( SELECT cv.cohort_date, cv.variant, cv.user_id, DATEDIFF(day, cv.cohort_date, ao.open_date) AS days_since_signup FROM cohort_with_variant cv LEFT JOIN app_opens ao ON ao.user_id = cv.user_id AND ao.open_date BETWEEN DATEADD(day, 1, cv.cohort_date) AND DATEADD(day, 7, cv.cohort_date) ), -- 汇总:新增、7日留存,以及 D1~D7 逐日留存(均为去重用户数) cohort_agg AS ( SELECT cohort_date, variant, COUNT(DISTINCT user_id) AS new_users, COUNT(DISTINCT CASE WHEN days_since_signup BETWEEN 1 AND 7 THEN user_id END) AS retained_7d_users, COUNT(DISTINCT CASE WHEN days_since_signup = 1 THEN user_id END) AS d1_users, COUNT(DISTINCT CASE WHEN days_since_signup = 2 THEN user_id END) AS d2_users, COUNT(DISTINCT CASE WHEN days_since_signup = 3 THEN user_id END) AS d3_users, COUNT(DISTINCT CASE WHEN days_since_signup = 4 THEN user_id END) AS d4_users, COUNT(DISTINCT CASE WHEN days_since_signup = 5 THEN user_id END) AS d5_users, COUNT(DISTINCT CASE WHEN days_since_signup = 6 THEN user_id END) AS d6_users, COUNT(DISTINCT CASE WHEN days_since_signup = 7 THEN user_id END) AS d7_users FROM user_open_1_7 GROUP BY cohort_date, variant ) SELECT cohort_date, variant, new_users, retained_7d_users, CASE WHEN new_users > 0 THEN retained_7d_users::float / new_users ELSE 0 END AS retained_7d_rate, -- 逐日留存占比(用于诊断,可选) d1_users, CASE WHEN new_users > 0 THEN d1_users::float / new_users ELSE 0 END AS d1_rate, d2_users, CASE WHEN new_users > 0 THEN d2_users::float / new_users ELSE 0 END AS d2_rate, d3_users, CASE WHEN new_users > 0 THEN d3_users::float / new_users ELSE 0 END AS d3_rate, d4_users, CASE WHEN new_users > 0 THEN d4_users::float / new_users ELSE 0 END AS d4_rate, d5_users, CASE WHEN new_users > 0 THEN d5_users::float / new_users ELSE 0 END AS d5_rate, d6_users, CASE WHEN new_users > 0 THEN d6_users::float / new_users ELSE 0 END AS d6_rate, d7_users, CASE WHEN new_users > 0 THEN d7_users::float / new_users ELSE 0 END AS d7_rate FROM cohort_agg ORDER BY cohort_date, variant;
说明与可调项
下面给出一个可直接用于计算核心漏斗(visit → add_to_cart → purchase)的按维度(channel、app_version)汇总查询。该查询基于如下假设:
SQL(Snowflake/ANSI 风格): with base as ( select user_id, event_name, event_time, channel, app_version from analytics.events where is_internal_user = 0 and region = 'CN' and event_time >= dateadd('day', -14, current_timestamp()) and event_name in ('visit', 'add_to_cart', 'purchase') ), first_visit as ( select user_id, channel, app_version, event_time as visit_time from ( select user_id, channel, app_version, event_time, row_number() over (partition by user_id order by event_time) as rn from base where event_name = 'visit' ) where rn = 1 ), first_atc as ( select fv.user_id, min(b.event_time) as atc_time from first_visit fv left join base b on b.user_id = fv.user_id and b.event_name = 'add_to_cart' and b.event_time >= fv.visit_time group by fv.user_id ), first_purchase as ( select fv.user_id, min(b.event_time) as purchase_time from first_visit fv left join first_atc fa on fa.user_id = fv.user_id left join base b on b.user_id = fv.user_id and b.event_name = 'purchase' and fa.atc_time is not null and b.event_time >= fa.atc_time group by fv.user_id ) select fv.channel, fv.app_version, count(distinct fv.user_id) as visit_users, count(distinct case when fa.atc_time is not null then fv.user_id end) as add_to_cart_users, count(distinct case when fp.purchase_time is not null then fv.user_id end) as purchase_users, round( count(distinct case when fa.atc_time is not null then fv.user_id end) / nullif(count(distinct fv.user_id), 0), 4 ) as visit_to_add_to_cart_rate, round( count(distinct case when fp.purchase_time is not null then fv.user_id end) / nullif(count(distinct case when fa.atc_time is not null then fv.user_id end), 0), 4 ) as add_to_cart_to_purchase_rate, round( count(distinct case when fp.purchase_time is not null then fv.user_id end) / nullif(count(distinct fv.user_id), 0), 4 ) as visit_to_purchase_rate from first_visit fv left join first_atc fa on fa.user_id = fv.user_id left join first_purchase fp on fp.user_id = fv.user_id group by 1, 2 order by 1, 2;
说明与注意事项:
以下为在未提供具体库表结构情况下的可执行范式与关键假设,并给出一版可直接运行的 BigQuery SQL(含总计与分渠道汇总)。如需迁移到其他数据仓库,请据其时间与数组函数适配。
关键假设
SQL(BigQuery)
WITH
params AS (
SELECT
DATE_TRUNC(DATE_SUB(CURRENT_DATE('Asia/Shanghai'), INTERVAL 1 WEEK), WEEK(MONDAY)) AS week_start,
DATE_TRUNC(CURRENT_DATE('Asia/Shanghai'), WEEK(MONDAY)) AS week_end
),
eligible_users AS (
SELECT u.user_id
FROM project.dataset.user_profile u
WHERE u.region = 'CN'
AND (
'new_user' IN UNNEST(u.tags)
OR
'inactive_30d' IN UNNEST(u.tags)
)
-- 若需同时包含两标签,改为:
-- AND 'new_user' IN UNNEST(u.tags) AND 'inactive_30d' IN UNNEST(u.tags)
),
clicks AS (
SELECT
c.channel,
COUNT(*) AS clicks
FROM project.dataset.click_events c
CROSS JOIN params p
JOIN eligible_users u USING (user_id)
WHERE c.campaign_id = 'Q4_LAUNCH'
AND c.channel IN ('ch_1', 'ch_2')
AND c.region = 'CN'
AND c.event_time >= TIMESTAMP(p.week_start, 'Asia/Shanghai')
AND c.event_time < TIMESTAMP(p.week_end, 'Asia/Shanghai')
GROUP BY c.channel
),
orders AS (
SELECT
o.channel,
COUNT(DISTINCT o.order_id) AS orders,
SUM(o.gmv) AS gmv
FROM project.dataset.orders o
CROSS JOIN params p
JOIN eligible_users u USING (user_id)
WHERE o.campaign_id = 'Q4_LAUNCH'
AND o.channel IN ('ch_1', 'ch_2')
AND o.region = 'CN'
AND o.order_time >= TIMESTAMP(p.week_start, 'Asia/Shanghai')
AND o.order_time < TIMESTAMP(p.week_end, 'Asia/Shanghai')
GROUP BY o.channel
),
merged AS (
SELECT
ch AS channel,
COALESCE(c.clicks, 0) AS clicks,
COALESCE(o.orders, 0) AS orders,
COALESCE(o.gmv, 0) AS gmv
FROM (
SELECT channel AS ch FROM clicks
UNION DISTINCT
SELECT channel AS ch FROM orders
) channels
LEFT JOIN clicks c USING (channel)
LEFT JOIN orders o USING (channel)
)
SELECT
channel,
clicks,
orders,
SAFE_DIVIDE(orders, clicks) AS click_to_order_conv_rate,
gmv
FROM merged
UNION ALL
SELECT
'ALL' AS channel,
SUM(clicks),
SUM(orders),
SAFE_DIVIDE(SUM(orders), SUM(clicks)),
SUM(gmv)
FROM merged
ORDER BY channel;
实现与口径说明
将业务口径快速、准确地转化为可直接执行的SQL查询,帮助数据分析师、产品与运营在几分钟内拿到所需数据。通过自然语言描述条件,即可生成含筛选、聚合、排序、联表等常见逻辑的标准化查询,并附带简明说明,便于审核、复用与共享。覆盖主流数据库语法,支持中英文等多语种输出,适配报表制作、增长分析、用户分群、活动复盘、漏斗与AB实验等核心场景,显著缩短从问题到数据的时间,降低错误率与沟通成本,推动试用转化与持续付费。
从运营与产品数据快速构建查询,完成留存、漏斗、AB测试结果提取,统一口径,缩短出数时间并减少SQL返工
无需深入SQL技能即可定义指标与时间维度,一键生成核心报表查询,验证假设、追踪转化路径、定位问题环节
基于活动规则与人群标签快速筛选与统计,分渠道对比投放效果,自动生成周报月报用于复盘与策略迭代
将模板生成的提示词复制粘贴到您常用的 Chat 应用(如 ChatGPT、Claude 等),即可直接对话使用,无需额外开发。适合个人快速体验和轻量使用场景。
把提示词模板转化为 API,您的程序可任意修改模板参数,通过接口直接调用,轻松实现自动化与批量处理。适合开发者集成与业务系统嵌入。
在 MCP client 中配置对应的 server 地址,让您的 AI 应用自动调用提示词模板。适合高级用户和团队协作,让提示词在不同 AI 工具间无缝衔接。
免费获取高级提示词-优惠即将到期