- account_id | string | |
- industry | string | |
- region | string | |
- employee_band | string | |
- estimated_revenue_band | string | |
- process_maturity_band | string | |
- contact_id | string | |
- role_function | string | |
- seniority | string | |
- buyer_role | string | |
- lead_id | string | |
- lead_created_at | string | |
- lead_source | string | |
- touch_count | number | |
- inbound_touch_count | number | |
- outbound_touch_count | number | |
- session_count | number | |
- pricing_page_views | number | |
- demo_page_views | number | |
- total_session_duration_seconds | number | |
- touches_days_0_7 | number | |
- touches_last_7_days | number | |
- days_since_first_touch | number | |
- activity_count | number | |
- days_since_last_touch | number | |
- opportunity_created | boolean | |
- has_open_opportunity | boolean | |
- opportunity_estimated_acv | number | |
- expected_acv | number | |
- total_touches_all | integer | |
- converted_within_90_days | boolean | |
+ account_id | string | Opaque account identifier. |
+ industry | string | Industry vertical of the buying organization. |
+ region | string | Geographic region of the account's headquarters. |
+ employee_band | string | Banded employee headcount of the account. |
+ estimated_revenue_band | string | Banded estimated annual revenue of the account. |
+ process_maturity_band | string | Banded internal process maturity score (latent). |
+ contact_id | string | Opaque contact identifier. |
+ role_function | string | Functional area of the primary contact (e.g. finance, ops). |
+ seniority | string | Seniority band of the primary contact. |
+ buyer_role | string | Buyer role classification (economic_buyer, champion, etc.). |
+ lead_id | string | Opaque lead identifier. |
+ lead_created_at | string | ISO-8601 timestamp when the lead was created. |
+ lead_source | string | Origination source of the lead (e.g. inbound_form, sdr_outbound). |
+ touch_count | number | Total number of marketing/sales touches recorded before snapshot. |
+ inbound_touch_count | number | Number of inbound touches before snapshot. |
+ outbound_touch_count | number | Number of outbound touches before snapshot. |
+ session_count | number | Number of web/trial sessions recorded before snapshot. |
+ pricing_page_views | number | Cumulative pricing page views across all sessions before snapshot. |
+ demo_page_views | number | Cumulative demo page views across all sessions before snapshot. |
+ total_session_duration_seconds | number | Sum of session durations (seconds) before snapshot. |
+ touches_days_0_7 | number | Number of touches in days 0–7 (inclusive) after lead creation. Renamed from touches_week_1 for precision: the window covers 8 days (0, 1, …, 7), not 7. |
+ touches_last_7_days | number | Number of touches in the last 7 days before snapshot cutoff. |
+ days_since_first_touch | number | Days between first touch and snapshot cutoff (NaN if no touches). |
+ activity_count | number | Number of sales activities logged before snapshot. |
+ days_since_last_touch | number | Days elapsed between most recent touch and snapshot cutoff. |
+ opportunity_created | boolean | Whether any opportunity was created by snapshot date (open or closed). |
+ has_open_opportunity | boolean | Whether an open opportunity existed at snapshot date. |
+ opportunity_estimated_acv | number | Estimated ACV of the most recent open opportunity (NaN if none). |
+ expected_acv | number | Expected ACV: opportunity ACV if available by snapshot, else revenue band midpoint heuristic (NaN if neither available). |
+ total_touches_all | integer | Total touches over full 90-day window. LEAKAGE TRAP: uses post-snapshot data. Included for pedagogical purposes only. |
+ converted_within_90_days | boolean | Label: True if a closed_won event occurred within 90 days of the snapshot anchor date. Derived from simulated events. |