[B2B edition]{class="badge informative"} [B2P版本]{class="badge informative"}

帐户配置文件分析

帐户配置文件用于合并来自各种来源(包括多个营销渠道和组织系统)的帐户信息。 此统一视图允许全面了解客户帐户,从而增强B2B营销活动。 通过分析数据模型得出的洞察信息使Adobe Real-Time CDP B2B数据更易于访问、理解并具有更大的决策影响力。

通过访问提供见解的SQL,您可以更好地了解您的B2B数据并生成您自己的高度自定义的可重用见解,以进一步探索您的客户帐户信息。 通过使用现有的Real-Time CDP数据模型SQL作为灵感,根据独特的业务需求创建查询,将原始数据转换为新的可操作洞察。

以下分析均可用作帐户配置文件仪表板自定义仪表板的一部分。 有关如何自定义仪表板或🔗在构件库和用户定义的仪表板中创建和编辑新构件的说明,请参阅自定义概述

已添加帐户轮廓 account-profiles-added

通过此洞察回答的问题:

  • 在给定时间段内添加了多少帐户配置文件?
选择以显示生成此分析的SQL
code language-sql
WITH accounts_by_mm_dd AS
(
          SELECT    d.date_key,
                    COALESCE(Sum(a.counts), 0) AS account_counts
          FROM      adwh_b2b_date d
          LEFT JOIN adwh_fact_account a
          ON        d.date_key = a.accounts_created_date
          WHERE     d.date_key BETWEEN Upper(COALESCE('$START_DATE', '')) AND       Upper(COALESCE('$END_DATE', ''))
          GROUP BY  d.date_key)
SELECT   date_key,
         account_counts
FROM     accounts_by_mm_dd
ORDER BY date_key limit 5000;

按行业划分的新客户 accounts-by-industry

通过此洞察回答的问题:

  • 帐户配置文件所属的前五个行业是什么?
选择以显示生成此分析的SQL
code language-sql
WITH rankedindustries AS
(
           SELECT     i.industry,
                      Sum(f.counts)                                   AS total_accounts,
                      Row_number() OVER (ORDER BY Sum(f.counts) DESC) AS industry_rank
           FROM       adwh_fact_account f
           INNER JOIN adwh_dim_industry i
           ON         f.industry_id = i.industry_id
           WHERE      f.accounts_created_date BETWEEN Upper(COALESCE('$START_DATE', '')) AND        Upper(COALESCE('$END_DATE', ''))
           GROUP BY   i.industry )
SELECT
         CASE
                  WHEN industry_rank <= 5 THEN industry
                  ELSE 'Others'
         END                 AS industry_group,
         Sum(total_accounts) AS total_accounts
FROM     rankedindustries
GROUP BY
         CASE
                  WHEN industry_rank <= 5 THEN industry
                  ELSE 'Others'
         END
ORDER BY total_accounts DESC limit 5000;

按类型的新帐户 accounts-by-type

通过此洞察回答的问题:

  • 按帐户类型划分的帐户数是多少?
选择以显示生成此分析的SQL
code language-sql
SELECT t.account_type,
       Sum(f.counts) AS account_count
FROM   adwh_fact_account f
       JOIN adwh_dim_account_type t
         ON f.account_type_id = t.account_type_id
WHERE  accounts_created_date BETWEEN Upper(Coalesce('$START_DATE', '')) AND
                                     Upper(
                                     Coalesce('$END_DATE', ''))
GROUP  BY t.account_type
LIMIT  5000;

新增机会 opportunities-added

通过此洞察回答的问题:

  • 在给定时间段内添加了多少个机会?
选择以显示生成此分析的SQL
code language-sql
SELECT d.date_key,
       Coalesce(Sum(o.counts), 0) AS opportunity_counts
FROM   adwh_b2b_date d
       LEFT JOIN adwh_fact_opportunity o
              ON d.date_key = o.opportunities_created_date
WHERE  d.date_key BETWEEN Upper(Coalesce('$START_DATE', '')) AND
                          Upper(Coalesce('$END_DATE', ''))
GROUP  BY d.date_key
ORDER  BY d.date_key
LIMIT  5000;

按人员角色显示的新机会 opportunities-by-person-role

通过此洞察回答的问题:

  • 机会中各种角色的相对规模和数量是多少?
选择以显示生成此分析的SQL
code language-sql
SELECT p.person_role,
       Sum(f.counts) AS opportunity_counts
FROM   adwh_fact_opportunity_person f
       JOIN adwh_dim_person_role p
         ON f.person_role_id = p.person_role_id
WHERE  f.opportunity_person_created_date BETWEEN
       Upper(Coalesce('$START_DATE', '')) AND Upper(Coalesce('$END_DATE', ''))
GROUP  BY p.person_role
LIMIT  5000;

按收入显示的新机会 opportunities-by-revenue

通过此洞察回答的问题:

  • 按收入排名的前20个机会是什么(以美元计)?
选择以显示生成此分析的SQL
code language-sql
WITH ranked_opportunities AS
(
           SELECT     n.opportunity_name,
                      a.expected_revenue,
                      t.source_type,
                      Row_number() OVER (ORDER BY a.expected_revenue DESC) AS rank
           FROM       adwh_opportunity_amount a
           INNER JOIN adwh_dim_opportunity_name n
           ON         a.name_id = n.name_id
           INNER JOIN adwh_dim_opportunity_source_type t
           ON         n.source_type_id = t.source_type_id
           WHERE      a.opportunity_created_date BETWEEN Upper(COALESCE('$START_DATE', '')) AND        Upper(COALESCE('$END_DATE', ''))
           AND        a.isclosed='false' )
SELECT
         CASE
                  WHEN rank <= 20 THEN opportunity_name
                  ELSE 'Others'
         END                   AS opportunity_name,
         Sum(expected_revenue) AS total_expected_revenue
FROM     ranked_opportunities
GROUP BY
         CASE
                  WHEN rank <= 20 THEN opportunity_name
                  ELSE 'Others'
         END,
         source_type
ORDER BY total_expected_revenue DESC limit 5000;

按状态和阶段显示的新机会 opportunities-by-status-and-stage

通过此洞察回答的问题:

  • 存在哪些潜在机会?这些机会位于销售或营销漏斗的哪个阶段?
  • 存在哪些已结束的销售机会?它们在销售或营销漏斗的哪个阶段完成?
选择以显示生成此分析的SQL
code language-sql
WITH opportunities_by_isclosed AS
(
         SELECT   f.isclosed,
                  Sum(f.counts)             AS opportunity_counts,
                  COALESCE(s.stage, 'null') AS stage
         FROM     adwh_fact_opportunity f
         JOIN     adwh_dim_opportunity_stage s
         ON       f.stage_id = s.stage_id
         WHERE    opportunities_created_date BETWEEN Upper(COALESCE('$START_DATE', '')) AND      Upper(COALESCE('$END_DATE', ''))
         GROUP BY f.isclosed,
                  s.stage)
SELECT
       CASE
              WHEN isclosed='true' THEN 'Closed'
              ELSE 'Open'
       END AS opportunity_closed,
       stage,
       opportunity_counts
FROM   opportunities_by_isclosed limit 5000;

赢得新机会 opportunities-won

通过此洞察回答的问题:

  • 已成功关闭或最终完成的机会数量是多少?
选择以显示生成此分析的SQL
code language-sql
WITH opportunities_by_iswon AS
(
         SELECT   iswon,
                  Sum(counts) AS opportunity_counts
         FROM     adwh_fact_opportunity
         WHERE    opportunities_created_date BETWEEN Upper(COALESCE('$START_DATE', '')) AND      Upper(COALESCE('$END_DATE', ''))
         GROUP BY iswon)
SELECT
       CASE
              WHEN iswon ='true' THEN 'True'
              ELSE 'False'
       END AS opportunity_won,
       opportunity_counts
FROM   opportunities_by_iswon limit 5000;

赢得的机会(折线图) opportunities-won-line-graph

通过此洞察回答的问题:

  • 在给定时间段内成功关闭或完成(赢得)多少机会?
选择以显示生成此分析的SQL
code language-sql
WITH opportunities_won_counts AS
(
         SELECT   opportunities_created_date,
                  Sum(counts) AS opportunities_counts
         FROM     adwh_fact_opportunity
         WHERE    iswon='true'
         AND      opportunities_created_date BETWEEN Upper(COALESCE('$START_DATE', '')) AND      Upper(COALESCE('$END_DATE', ''))
         GROUP BY opportunities_created_date)
SELECT    d.date_key,
          COALESCE(o.opportunities_counts, 0) AS opportunity_won_counts
FROM      adwh_b2b_date d
LEFT JOIN opportunities_won_counts o
ON        d.date_key = o.opportunities_created_date
WHERE     d.date_key BETWEEN Upper(COALESCE('$START_DATE', '')) AND       Upper(COALESCE('$END_DATE', ''))
ORDER BY  d.date_key limit 5000;

每个帐户的客户概述 customers-per-account-overview

NOTE
每个帐户的客户概述图表包括三个穿透钻取见解:每个帐户的客户详细信息、每个帐户的机会和每个帐户的机会。 这些深入分析可提供更细粒度的洞察,按类别(如直接和间接客户)和范围(如客户和机会计数范围)划分客户和机会计数。 这些图表不受您可能已设置的任何全局日期过滤器的影响。

通过此洞察回答的问题:

  • 根据客户是否有直接或间接客户,客户分配情况如何?
选择以显示生成此分析的SQL
code language-sql
WITH LatestDate AS (SELECT MAX(inserted_date) AS max_inserted_date FROM adwh_b2b_account_person_association),
     CategorizedData AS (
         SELECT CASE
                    WHEN is_direct = 'true' AND person_count = 0 THEN 'Accounts without Direct Customers'
                    WHEN is_direct = 'false' AND person_count = 0 THEN 'Accounts without Indirect Customers'
                    WHEN is_direct = 'true' AND person_count > 0 THEN 'Accounts with Direct Customers'
                    WHEN is_direct = 'false' AND person_count > 0 THEN 'Accounts with Indirect Customers'
                END AS Account_Category,
                account_count
         FROM adwh_b2b_account_person_association
         WHERE inserted_date = (SELECT max_inserted_date FROM LatestDate)
     ),
     AggregatedData AS (
         SELECT Account_Category, SUM(account_count) AS Accounts
         FROM CategorizedData
         GROUP BY Account_Category
     ),
     AllCategories AS (
         SELECT 'Accounts without Direct Customers' AS Account_Category
         UNION ALL SELECT 'Accounts without Indirect Customers'
         UNION ALL SELECT 'Accounts with Direct Customers'
         UNION ALL SELECT 'Accounts with Indirect Customers'
     )
SELECT ac.Account_Category AS Account_Category, COALESCE(ad.Accounts, 0) AS Accounts
FROM AllCategories ac
LEFT JOIN AggregatedData ad ON ac.Account_Category = ad.Account_Category
ORDER BY ac.Account_Category;

每个帐户的客户详细信息 customers-per-account-detail

NOTE
此洞察不受全局日期过滤器的影响。

通过此洞察回答的问题:

  • 有多少客户拥有不同范围的直接或间接客户?
选择以显示生成此分析的SQL
code language-sql
WITH customer_ranges AS (
    SELECT 'Direct Customer' AS customer_type, '1-10 Customers' AS person_range
    UNION ALL
    SELECT 'Direct Customer', '11-100 Customers'
    UNION ALL
    SELECT 'Direct Customer', '101-1000 Customers'
    UNION ALL
    SELECT 'Direct Customer', '1000+ Customers'
    UNION ALL
    SELECT 'Indirect Customer', '1-10 Customers'
    UNION ALL
    SELECT 'Indirect Customer', '11-100 Customers'
    UNION ALL
    SELECT 'Indirect Customer', '101-1000 Customers'
    UNION ALL
    SELECT 'Indirect Customer', '1000+ Customers'
)
SELECT
    cr.customer_type,
    cr.person_range,
    COALESCE(SUM(ap.account_count), 0) AS Accounts
FROM customer_ranges cr
LEFT JOIN (
    SELECT
        CASE
            WHEN is_direct = 'true' THEN 'Direct Customer'
            ELSE 'Indirect Customer'
        END AS customer_type,
        CASE
            WHEN person_count BETWEEN 1 AND 10 THEN '1-10 Customers'
            WHEN person_count BETWEEN 11 AND 100 THEN '11-100 Customers'
            WHEN person_count BETWEEN 101 AND 1000 THEN '101-1000 Customers'
            WHEN person_count > 1000 THEN '1000+ Customers'
        END AS person_range,
        SUM(account_count) AS account_count
    FROM adwh_b2b_account_person_association
    WHERE inserted_date = (SELECT MAX(inserted_date) FROM adwh_b2b_account_person_association)
    GROUP BY
        CASE
            WHEN is_direct = 'true' THEN 'Direct Customer'
            ELSE 'Indirect Customer'
        END,
        CASE
            WHEN person_count BETWEEN 1 AND 10 THEN '1-10 Customers'
            WHEN person_count BETWEEN 11 AND 100 THEN '11-100 Customers'
            WHEN person_count BETWEEN 101 AND 1000 THEN '101-1000 Customers'
            WHEN person_count > 1000 THEN '1000+ Customers'
        END
) ap ON cr.customer_type = ap.customer_type AND cr.person_range = ap.person_range
GROUP BY cr.customer_type, cr.person_range
ORDER BY cr.customer_type,
    CASE cr.person_range
        WHEN '1-10 Customers' THEN 1
        WHEN '11-100 Customers' THEN 2
        WHEN '101-1000 Customers' THEN 3
        WHEN '1000+ Customers' THEN 4
    END;

每个客户的机会概述 opportunities-per-account-overview

NOTE
此洞察不受全局日期过滤器的影响。

通过此洞察回答的问题:

  • 根据客户是否具有相关业务机会,客户分配情况如何?
选择以显示生成此分析的SQL
code language-sql
WITH LatestDate AS (
    SELECT MAX(inserted_date) AS max_inserted_date
    FROM adwh_b2b_account_opportunity_association
),
CategorizedData AS (
    SELECT
        CASE
            WHEN opportunity_count = 0 THEN 'Accounts without Opportunities'
            WHEN opportunity_count > 0 THEN 'Accounts with Opportunities'
        END AS Opportunity_Category,
        account_count
    FROM adwh_b2b_account_opportunity_association
    WHERE inserted_date = (SELECT max_inserted_date FROM LatestDate)
),
AggregatedData AS (
    SELECT
        Opportunity_Category,
        SUM(account_count) AS Accounts
    FROM CategorizedData
    GROUP BY Opportunity_Category
),
AllCategories AS (
    SELECT 'Accounts without Opportunities' AS Opportunity_Category
    UNION ALL
    SELECT 'Accounts with Opportunities'
)
SELECT
    ac.Opportunity_Category AS Opportunity_Category,
    COALESCE(ad.Accounts, 0) AS Accounts
FROM AllCategories ac
LEFT JOIN AggregatedData ad
    ON ac.Opportunity_Category = ad.Opportunity_Category
ORDER BY ac.Opportunity_Category;

每个客户的业务机会详细信息 opportunities-per-account-detail

NOTE
此洞察不受全局日期过滤器的影响。

通过此洞察回答的问题:

  • 有多少客户拥有不同范围的关联机会?
选择以显示生成此分析的SQL
code language-sql
WITH opportunity_ranges AS (
    SELECT '1-10 Opportunities' AS opportunity_range
    UNION ALL
    SELECT '11-50 Opportunities'
    UNION ALL
    SELECT '51-100 Opportunities'
    UNION ALL
    SELECT '100+ Opportunities'
)
SELECT opportunity_ranges.opportunity_range AS OPPORTUNITIES,
       COALESCE(SUM(accounts.total_accounts), 0) AS ACCOUNTS
FROM opportunity_ranges
LEFT JOIN (
    SELECT
        CASE
            WHEN opportunity_count BETWEEN 1 AND 10 THEN '1-10 Opportunities'
            WHEN opportunity_count BETWEEN 11 AND 50 THEN '11-50 Opportunities'
            WHEN opportunity_count BETWEEN 51 AND 100 THEN '51-100 Opportunities'
            WHEN opportunity_count > 100 THEN '100+ Opportunities'
        END AS opportunity_range,
        SUM(account_count) AS total_accounts
    FROM adwh_b2b_account_opportunity_association
    WHERE inserted_date = (SELECT MAX(inserted_date) FROM adwh_b2b_account_opportunity_association)
      AND opportunity_count > 0
    GROUP BY
        CASE
            WHEN opportunity_count BETWEEN 1 AND 10 THEN '1-10 Opportunities'
            WHEN opportunity_count BETWEEN 11 AND 50 THEN '11-50 Opportunities'
            WHEN opportunity_count BETWEEN 51 AND 100 THEN '51-100 Opportunities'
            WHEN opportunity_count > 100 THEN '100+ Opportunities'
        END
) AS accounts ON opportunity_ranges.opportunity_range = accounts.opportunity_range
GROUP BY opportunity_ranges.opportunity_range
ORDER BY CASE opportunity_ranges.opportunity_range
            WHEN '1-10 Opportunities' THEN 1
            WHEN '11-50 Opportunities' THEN 2
            WHEN '51-100 Opportunities' THEN 3
            WHEN '100+ Opportunities' THEN 4
        END;

后续步骤

通过阅读本文档,您现在了解了生成帐户个人资料仪表板分析的SQL以及此分析可解决哪些常见问题。 您现在可以对SQL进行编辑和迭代,以生成您自己的见解。 请参阅Query Pro模式概述,了解如何使用SQL生成自定义分析。

您还可以阅读并了解为配置文件受众目标仪表板生成分析的SQL。

recommendation-more-help
ececc77d-ff44-4382-85ee-a087c8834323