热门角色不仅是灵感来源,更是你的效率助手。通过精挑细选的角色提示词,你可以快速生成高质量内容、提升创作灵感,并找到最契合你需求的解决方案。让创作更轻松,让价值更直接!
我们根据不同用户需求,持续更新角色库,让你总能找到合适的灵感入口。
根据特定条件生成SQL查询,精准高效,适用于数据分析。
下面给出一份可直接运行并易于调整的留存分析 SQL。它实现以下要求: - 指标:7日留存(+1 至 +7 天任意一天发生 app_open 视为留存) - 新增定义:用户的“首日 signup”为其全生命周期第一次 signup 的日期 - 时间范围:最近 30 天的新增用户,且保证7日观察窗完整(即 signup_date 在 [今天-30天, 今天-7天]) - 过滤条件:platform='ios' AND country='CN' - AB 实验:experiment_id='onboarding_v2',按 variant 分组 - 产出:按 cohort_date(新增日期)与 variant 粒度输出新增人数、7日留存人数与留存率;同时输出 D1~D7 的逐日留存(去重用户数与占比),便于诊断 注意:以下 SQL 假设 - 事件表 app_events(user_id, event_name, event_timestamp, platform, country) - 实验分配表 user_experiments(user_id, experiment_id, variant) - 使用支持 DATEADD、DATEDIFF 函数的数仓(如 Snowflake/Redshift)。若为 BigQuery/Presto,请将日期函数替换为对应语法。 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; 说明与可调项 - 观察窗完整性:为避免右删截导致的低估,cohort_end_date 设为今天-7天。若需查看更近 cohort,可放宽到今天,但要注明结果受右删截影响。 - 新增口径:使用全生命周期最早的 signup 作为新增日,确保“新增=首日 signup”。若库内 signup 可能重复或有历史缺失,请先构建“首签约表”以保证一致性。 - 实验分配:假设每个用户在该实验下只有一个 variant。若存在多次分配且带有时间戳,需要在 user_experiments 中先用窗口函数挑选 signup 当时生效的一条记录。 - 性能建议:为 app_events 建立分区/聚簇(按 event_date、event_name)并尽量在 CTE 中先筛选 event_name、平台与国家,以减少扫描量。
下面给出一个可直接用于计算核心漏斗(visit → add_to_cart → purchase)的按维度(channel、app_version)汇总查询。该查询基于如下假设: - 源表为 analytics.events(如与实际不符请替换表名)。 - 字段包含:user_id、event_name、event_time、channel、app_version、is_internal_user、region。 - 维度归因采用“首次 visit 的渠道与版本”。 - 时间窗口为最近14天内发生的事件;后续加购与购买需发生在该用户首次 visit 之后,且同样在14天窗口内。 - 漏斗第三步(purchase)仅在存在加购(add_to_cart)的前提下计数。 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; 说明与注意事项: - 该实现将漏斗维度归因固定在首次 visit 的 channel、app_version,确保后续步骤在同一用户的时间顺序上成立。 - 如需改为“以当日/会话为单位”的漏斗或调整14天窗口的定义(例如以首次 visit 为锚点向后滚动14天),需相应修改时间过滤与分组逻辑。 - 若使用 BigQuery,请将日期函数改为 event_time >= timestamp_sub(current_timestamp(), interval 14 day)。
以下为在未提供具体库表结构情况下的可执行范式与关键假设,并给出一版可直接运行的 BigQuery SQL(含总计与分渠道汇总)。如需迁移到其他数据仓库,请据其时间与数组函数适配。 关键假设 - 数据仓库:BigQuery(Standard SQL) - 表与字段示例: - 用户表:project.dataset.user_profile(user_id, region, tags ARRAY<STRING>) - 点击表:project.dataset.click_events(user_id, campaign_id, channel, event_time TIMESTAMP, region) - 订单表:project.dataset.orders(user_id, order_id, campaign_id, channel, order_time TIMESTAMP, gmv NUMERIC, region) - 标签筛选:tags 含任一标签(new_user 或 inactive_30d)。若需“同时包含”,将 OR 改为 AND。 - 时间范围:上周为上一个自然周(周一至周日,Asia/Shanghai)。 - 指标口径: - 点击->下单转化率 = 订单数 / 点击数(均为事件计数口径,未做点击-订单归因配对)。 - 订单数 = 去重 order_id 数。 - GMV = 订单 gmv 求和。 - 地区筛选:CN(事件和用户维度均过滤;如事件表无 region,可仅依赖用户维度)。 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; 实现与口径说明 - 上周时间窗:以 Asia/Shanghai 的自然周作为边界。week_start 为上周一 00:00:00,week_end 为本周一 00:00:00。 - 用户标签:假设 tags 为 ARRAY<STRING>。若为以逗号分隔的字符串,可改用 REGEXP_CONTAINS(tags, r'(^|,)new_user(,|$)') OR REGEXP_CONTAINS(tags, r'(^|,)inactive_30d(,|$)')。 - 转化率:为整体事件级转化,未做点击-订单归因配对。如需用户级转化(点击过且下过单的独立用户数 / 点击用户数),或基于点击后的 N 天归因,请说明以便调整为用户级/会话级归因模型与窗口。
从运营与产品数据快速构建查询,完成留存、漏斗、AB测试结果提取,统一口径,缩短出数时间并减少SQL返工
无需深入SQL技能即可定义指标与时间维度,一键生成核心报表查询,验证假设、追踪转化路径、定位问题环节
基于活动规则与人群标签快速筛选与统计,分渠道对比投放效果,自动生成周报月报用于复盘与策略迭代
加速与业务沟通,用模板快速产出规范的只读查询,降低临时需求开发成本,减少语法差异导致的报错
统一维度与指标设置,自动生成可视化友好的SQL,直连看板数据源,提升报表上线速度与准确性
按账期、地区、客群生成精确汇总与明细,识别异常波动与风险信号,支持审计、合规与留痕需求
将业务口径快速、准确地转化为可直接执行的SQL查询,帮助数据分析师、产品与运营在几分钟内拿到所需数据。通过自然语言描述条件,即可生成含筛选、聚合、排序、联表等常见逻辑的标准化查询,并附带简明说明,便于审核、复用与共享。覆盖主流数据库语法,支持中英文等多语种输出,适配报表制作、增长分析、用户分群、活动复盘、漏斗与AB实验等核心场景,显著缩短从问题到数据的时间,降低错误率与沟通成本,推动试用转化与持续付费。
将模板生成的提示词复制粘贴到您常用的 Chat 应用(如 ChatGPT、Claude 等),即可直接对话使用,无需额外开发。适合个人快速体验和轻量使用场景。
把提示词模板转化为 API,您的程序可任意修改模板参数,通过接口直接调用,轻松实现自动化与批量处理。适合开发者集成与业务系统嵌入。
在 MCP client 中配置对应的 server 地址,让您的 AI 应用自动调用提示词模板。适合高级用户和团队协作,让提示词在不同 AI 工具间无缝衔接。
免费获取高级提示词-优惠即将到期