Chinh (lelouvincx) / Lead Funnel by Sales Motion

Created Mon, 25 May 2026 00:00:00 +0000 Modified Mon, 25 May 2026 06:02:25 +0000
776 Words
  • Goal

  • Sales Motion Classification

    • Leads are classified based on timestamp ordering of first demo call vs first trial submission:
      • call-first: first_call_at < submitted_at
      • trial-first: submitted_at <= first_call_at
      • trial-only: trial submitted, but first_call_at is NULL
      • call-only: call booked, but trial_submission_skey is NULL
    • For same-day events, uses exact UTC timestamps to determine sequence.
  • Data Model

    • Main working dataset: DTS106

    • Primary table: fct_sales_leads (enriched with sales_motion dimension)

    • Key tables:

      • fct_sales_leads — primary lead data
      • fct_demo_call_bookings — Calendly call data
      • dim_customers — identify won customers (status = 'active' AND subscription_tier = 'paid')
    • Infrastructure: BigQuery project skilled-fulcrum-90207, dataset mart_holistics

    • POC branch: chinh/lead-funnel-by-sales-motion

    • Draft: https://bi.holistics.io/studio/projects/7/explore/reporting/4.%20Growth/Team%20Folder/Quinn/sales_dashboards_v1.page.aml?branch=chinh/lead-funnel-by-sales-motion

    • Shared AQL explore earlier:

      • explore {
          dimensions {
            rows {
              rollup((// label="Month Created Date"
              dm_fsl_cd_5d20bc: fct_sales_leads.created_date | month()))
            }
            columns {
              rollup((// label="Custom Deal Stage"
              fsl_ds_2a3cff: fct_sales_leads.deal_stage))
            }
          }
          measures {
            // label="Count Leads"
            count_leads: count_leads
          }
          options {
            isolate_error_in_metric
          }
          sorts {
            dm_fsl_cd_5d20bc desc nulls last,
            fsl_ds_2a3cff asc nulls last
          }
        }
        
  • Revenue Planning Baseline

  • Data Quality Audit

    • Because the number of deals/leads is small, even a few mis-categorized leads magnify the conversion rate. Hence conversion rate may not be a good metric to break down here.
    • Suggest: average deal value (or something else).
    • But their intuition is correct based on recent won deals: sales-first performs better.
    • Assessment from growth team:
    • Root causes:
      • event_uuid was NULL in Calendly sources since Dec 2024 → join failures → wrong rep assignment.
      • Domain mismatches (e.g., iceye.com vs iceye.us).
      • Missing call sources: some leads had calls via non-Calendly channels.
  • Override Mechanism

    • Vincent proposed a HubSpot “DataOps Override” property (Deal Classification: call-first / trial-first / trial-only) as manual fallback.
    • Quinn created it in HubSpot.
    • My position: treat override as last resort — fix data bugs first, re-audit, then use override for remaining edge cases.
    • Vincent agreed but noted value for unknown unknowns, ROI, speed, and exception handling.
    • Agreed balance: systematic fix + override for exceptions (threshold ~10%).
  • Sub-issues

    • DONE DAT-561: Enrich with additional call sources beyond Calendly demo calls

    • DONE DAT-562: Add sales_motion dimension to fct_sales_leads

    • DONE DAT-563: Fix rep assignment bug in fct_sales_leads

    • DONE DAT-564: Re-audit sales motion classification with BizOps

    • TODO Wrap up the project

  • Progress

    • DONE Initialize a document

    • DONE Share a small POC and data for Vincent and Sriram to decide first, before start doing. The main problem is data does not capture other leads out of demo calls, which not only 1-1 calls but also calls outside of Calendly (in person call). MrDIY is an example of mis-categorized into trial-only.

    • DONE Understand the data flow and logic https://holistics.slack.com/archives/C79QB3FEV/p1773811610748979?thread_ts=1769485903.515759&cid=C79QB3FEV

    • ((69a2a1cc-fc1f-4802-ba56-48183fa9e9a5))

    • Question: Now I know the revenue planning logic is produced from our data on 2 primary datasets: DTS100 and DTS106. Is it adequate to reproduce these entirely sheets inside holistics? => Yes. But we will temporarily ignore this for now and focus on adding sales motion dimension.

      • First, get started with ingesting all Calendly data into warehouse.
      • Let bizops team updated weekly.
    • Calendly data is already ingested and transformed. The sales motion dimension is also added in dbt and Holistics BI.

  • My Questions

    • What is the relation between doing new year revenue forecasting and drilling down trial-first/call-first?
    • How do they define a (won) deal is trial-first or call-first?
  • References