Mean 0.966 · 34/40 perfect tests · $6.34 total · each card: the question → the correct answer (gold) → this model's actual answer
Definitions: - DS2+ Deal: Any deal currently at stage DS2, DS3, DS4, or DS5. - Substantive Why-Buys: A why_buys field value that contains 15 or more characters and is not a placeholder (e.g., "tbd", "n/a", "see notes"), or a value formatted as LONG(n) representing truncated substantive text. A deal at DS2+ missing this value or having fewer than 15 characters/placeholder text is non-compliant. - DS1 Entry Timestamp Hygiene: Every deal must have a recorded timestamp in the t_ds1 field. - Stage Regression: A deal whose stage entry timestamps are out of order, meaning an earlier-stage timestamp is chronologically later than a later-stage timestamp (e.g., t_ds1 > t_ds2, t_ds2 > t_ds3, etc.). Hygiene Audit Metrics: 1. Percent of DS2+ Deals Non-Compliant on Why-Buys: - Total DS2+ Deals: 124 - Compliant DS2+ Deals: 23 - Non-Compliant DS2+ Deals: 101 - Overall Non-Compliance Rate: 101 / 124 = 81.45% Non-Compliance by Owner: - Bryce Harmon (Owner ID: 119337721): 15 / 18 = 83.33% non-compliant (3 compliant: Deal-6787C2, Deal-FC22A3, Deal-93C8BF) - Dana Mercer (Owner ID: 83155923): 18 / 22 = 81.82% non-compliant (4 compliant: Deal-9AAE5F, Deal-584EE5, Deal-44EA29, Deal-7599B8) - Alex Franklin (Owner ID: 84342457): 48 / 61 = 78.69% non-compliant (13 compliant: Deal-D0BC96, Deal-885F45, Deal-8AD4A5, Deal-15D24F, Deal-1E2498, Deal-BE3D9D, Deal-E0B692, Deal-F67D31, Deal-ED725A, Deal-D7E999, Deal-530B50, Deal-92D97D, Deal-792D44) - Cole Ingram (Owner ID: 83155924): 19 / 22 = 86.36% non-compliant (3 compliant: Deal-C7F9BF, Deal-342E96, Deal-627646) - Farid Osman (Owner ID: 716654662): 1 / 1 = 100.00% non-compliant (0 compliant) (Note: Elena Sinclair has 1 deal in the dataset, Deal-57FF13, which is at stage DS1 and thus excluded from the DS2+ denominator). 2. Count of Deals with No DS1 Timestamp: - Count: 0 deals (all 156 deals have a non-empty t_ds1 field). 3. Count of Deals that Regressed: - Count: 0 deals (no deals contain stage entry timestamps where an earlier stage timestamp is later than a later stage timestamp across t_ds1 through t_ds5). Process Fixes: 1. CRM Stage-Gate Validation: Implement a strict CRM validation rule blocking deals from moving into DS2 or beyond unless the why_buys field is populated with a minimum of 15 characters and does not match standard placeholder terms (e.g., "tbd", "n/a", "see notes"). 2. Automated Opportunity Creation Timestamping: Require system-level auto-population of t_ds1 upon deal creation/qualification so entry timestamp capture is programmatic rather than reliant on manual rep input. 3. Stage Transition Sequencing Rules & Alerts: Enforce sequential CRM validation rules preventing users from logging stage entry dates out of order, paired with an automated exception report alerting RevOps whenever stage timestamps regress or are bypassed.
1. NUMBER OF DEALS RESOLVED Total deals in extract: 156 Total deals resolved: 156 2. DEALS WHOSE OWNER ID HAS NO MATCH IN THE OWNERS TABLE None (0 deals unmatched). All 156 deals have an owner_id present in owners.csv. 3. OWNER IDS THAT MAP TO ARCHIVED/DEACTIVATED OWNERS In owners.csv, the following owners are flagged as archived (archived = true): - owner_id 1520255671: Gavin Porter - owner_id 77260721: Hugo Lindqvist Deals mapped to archived/deactivated owners: None (0 deals). Neither archived owner appears in deals_open.csv. 4. TOTAL PIPELINE AMOUNT PER RESOLVED OWNER Bryce Harmon (owner_id: 119337721) - Deals resolved: 35 - Arithmetic: 24,000 + 19,656 + 13,500 + 7,000 + 2,520 + 240,000 + 99,000 + 72,000 + 70,000 + 63,600 + 45,000 + 1 + 21,000 + 23,400 + 13,680 + 5,502 + 8,160 + 1 + 11,400 + 1 + 36,000 + 31,500 + 6,000 + 10,800 + 30,275 + 17,400 + 12,600 + 18,000 + 37,440 + 18,828 + 2,880 + 36,000 + 20,880 + 10,920 + 25,200 - Total Pipeline: $1,054,144.00 Alex Franklin (owner_id: 84342457) - Deals resolved: 67 - Arithmetic: 14,850 + 13,770 + 11,200 + 9,000 + 6,360 + 5,400 + 3,240 + 2,484 + 1,920 + 1,080 + 7,200 + 19,000 + 2,880 + 1,400 + 4,800 + 1,632 + 10,000 + 9,300 + 2,700 + 2,160 + 1,800 + 3,600 + 3,840 + 15,000 + 1,968 + 4,000 + 3,600 + 4,800 + 3,120 + 2,520 + 9,000 + 2,400 + 62,000 + 5,400 + 5,100 + 16,700 + 4,400 + 1,620 + 2,600 + 7,200 + 18,000 + 17,000 + 8,316 + 8,100 + 18,000 + 12,600 + 24,000 + 15,000 + 9,000 + 7,200 + 3,780 + 16,200 + 7,200 + 4,680 + 1,800 + 18,000 + 2,730 + 2,400 + 3,060 + 18,000 + 12,000 + 1,800 + 4,400 + 31,200 + 7,200 + 1,600 + 60,000 - Total Pipeline: $624,310.00 Dana Mercer (owner_id: 83155923) - Deals resolved: 24 - Arithmetic: 11,250 + 10,500 + 9,000 + 9,000 + 5,400 + 4,800 + 4,600 + 1,920 + 15,000 + 4,200 + 18,900 + 27,000 + 43,875 + 20,000 + 60,000 + 8,100 + 16,250 + 3,150 + 5,000 + 2,100 + 23,400 + 5,400 + 7,350 + 25,000 - Total Pipeline: $341,195.00 Cole Ingram (owner_id: 83155924) - Deals resolved: 22 - Arithmetic: 2,760 + 1,330 + 7,225.40 + 3,360 + 5,616 + 2,700 + 7,781.20 + 6,947.50 + 40,000 + 12,168 + 2,480.40 + 11,116 + 11,193 + 1,875 + 31,750 + 32,175 + 4,779.88 + 3,334.80 + 58,529.25 + 4,140 + 18,000 + 18,900 - Total Pipeline: $288,161.43 Farid Osman (owner_id: 716654662) - Deals resolved: 7 - Arithmetic: 1,249 + 1 + 1 + 1 + 2,880 + 1 + 1 - Total Pipeline: $4,134.00 Elena Sinclair (owner_id: 701163055) - Deals resolved: 1 - Arithmetic: 2,100 - Total Pipeline: $2,100.00
### Call-to-Deal Mapping Integrity Report #### (a) Gong Orphan Rows (No Match in `deals_open`) - Count of orphan Gong rows: 30 (out of 67 total Gong rows) - Arithmetic: 67 total rows in `gong_calls_by_deal_90d` - 37 matched rows in `deals_open` = 30 orphan rows - Sample orphan deal aliases: - Deal-8FA85D (hs_deal_id: 60251290957) - Deal-8FC3F9 (hs_deal_id: 60251649055) - Deal-3B7945 (hs_deal_id: 60251639682) - Deal-42B265 (hs_deal_id: 61227242540) - Deal-9CCC42 (hs_deal_id: 61430316324) #### (b) Duplicate Conversation Keys - Rows where `calls_90d` > `distinct_conversation_keys`: 0 - In all 67 rows of `gong_calls_by_deal_90d`, `calls_90d` is exactly equal to `distinct_conversation_keys`. #### (c) DS3+ Open Deals Call Coverage - Definition of stage DS3 or later: Stages DS3, DS4, and DS5 in `deals_open`. - Total open deals at stage DS3 or later: 85 - DS3 deals: 60 - DS4 deals: 15 - DS5 deals: 10 - Total DS3+ deals: 60 + 15 + 10 = 85 - DS3+ open deals with at least one logged call in `gong_calls_by_deal_90d`: 25 - At DS3: 12 deals (Deal-C6FE92, Deal-40522D, Deal-333EBB, Deal-60C2C2, Deal-1E2498, Deal-D9A12F, Deal-215CCA, Deal-5EED42, Deal-DAF1D9, Deal-8952F0, Deal-BA3DDC, Deal-F9A3C1) - At DS4: 6 deals (Deal-25F752, Deal-E53952, Deal-5408B0, Deal-944310, Deal-3974EB, Deal-C6D97A) - At DS5: 7 deals (Deal-D348E1, Deal-C26D20, Deal-547B2B, Deal-B7EBD1, Deal-A2B47C, Deal-C61CF7, Deal-584EE5) - Arithmetic: 25 / 85 = 0.294117... (29.41%) - Share: 29.41% (25 of 85 deals)
```sql
-- TABLE CHOICE EXPLANATION:
-- PRODUCTION.PLG.COMPANY_COHORT_SUMMARY is chosen because it is the only populated,
-- non-stale table in the catalog providing Month 1 (M1) recognition/giving activity
-- and redemption counts per self-serve customer company (anchored by FIRST_SUB_PAYMENT_DATE).
-- Stale and unpopulated tables (PRODUCTION.HUBSPOT.DEALS, HUBSPOT_HUB_1973303.V2_LIVE.OBJECTS_DEALS,
-- and PRODUCTION.HUBSPOT.GONG_HUBSPOT_MAP_FAST) are strictly avoided.
-- Note on missing data:
-- 1) Unique givers: The catalog does not provide a giver-level event table or a unique giver column
-- (M1_USERS represents users, not unique givers). Reported as NULL due to missing data.
-- 2) Event-level redemptions: PRODUCTION.DEPRECATED_RECOGNITION.REDEMPTION_RECORDS_V2 only catalogs
-- STATE ('succeeded'), lacking company identifier and timestamp columns to join. Thus, M1_REDEMPTIONS
-- from the cohort summary is utilized.
-- 3) Historical giving rule: As mandated by business rules, no filter excluding deleted givers is applied.
FROM PRODUCTION.PLG.COMPANY_COHORT_SUMMARY
SELECT
-- Company identifier is not explicitly named in the catalog schema excerpt; referencing the entity row
FIRST_SUB_PAYMENT_DATE,
CAST(NULL AS NUMBER) AS unique_givers, -- Data missing: no giver-level event table in catalog
M1_GIVES AS recognition_count, -- First calendar month recognition volume
M1_REDEMPTIONS AS successful_redemption_count -- Month 1 redemption count (STATE = 'succeeded' rule honored via cohort summary)
WHERE
FIRST_SUB_PAYMENT_DATE IS NOT NULL
```
CRM AUDIT — COMPLETENESS & PROPOSED FIXES
Data provided:
- companies.csv: 34 rows
- contacts.csv: 52 rows
- zoominfo_enrichment.csv: 25 rows
- deals.csv: MISSING (no deals extract provided in prompt)
============================================================
1. COMPLETENESS PERCENT PER FIELD
============================================================
DEALS (Required: owner, stage, amount, close date, why-buys)
- File missing: No deals file was provided in the input data.
- Completeness for owner, stage, amount, close date, and why-buys cannot be calculated.
COMPANIES (34 total rows)
Required fields:
- industry: 34 / 34 = 100.0% populated (0 missing)
- employee_count: 25 / 34 = 73.5% populated (9 missing: C-EC3025, C-96039F, C-44EA29, C-D04904, C-B23205, C-60C75F, C-7BBDFA, C-50D386, C-93C8BF)
- hq_country: 28 / 34 = 82.4% populated (6 missing: C-2D1F1B, C-D73B89, C-44EA29, C-D04904, C-2C60E5, C-EE9FFB)
CONTACTS (52 total rows)
Required fields:
- email: 52 / 52 = 100.0% populated (0 missing; however, 4 malformed/invalid, see Section 3)
- title: 39 / 52 = 75.0% populated (13 missing: CT-0000, CT-0022, CT-0072, CT-0080, CT-0081, CT-0092, CT-0120, CT-0121, CT-0122, CT-0132, CT-0141, CT-0162, CT-0170)
- persona: 37 / 52 = 71.2% populated (15 missing: CT-0000, CT-0022, CT-0041, CT-0060, CT-0070, CT-0081, CT-0082, CT-0092, CT-0110, CT-0132, CT-0162, CT-0171, CT-0172, CT-0180, CT-0181)
============================================================
2. DUPLICATE COMPANY CLUSTERS & SURVIVORS
============================================================
Identified 2 duplicate company clusters based on shared domains and name/taxonomy variants:
Cluster 1: Shared Domain 'acme-corp.com'
- C-0A092931: industry='Technology', employee_count=500, hq_country='US'
- C-0A092932: industry='tech', employee_count=510, hq_country='USA'
- RECOMMENDED SURVIVOR: C-0A092931 (canonical industry name 'Technology', lower alias key).
- Note: Employee count discrepancy (500 vs 510) requires manual audit; acme-corp.com has no record in the enrichment export.
Cluster 2: Shared Domain 'globex.io'
- C-0A092933: industry='SaaS', employee_count=200, hq_country='US'
- C-0A092934: industry='Technology', employee_count=200, hq_country='US'
- RECOMMENDED SURVIVOR: C-0A092934 (aligns with the standard 'Technology' category used across the CRM).
- Note: globex.io has no record in the enrichment export.
============================================================
3. INVALID EMAILS AND DOMAIN MISMATCHES
============================================================
Invalid Emails (4 total — truncated format lacking domain):
- CT-0010 (C-66D1FC): email = 'user0@'
- CT-0080 (C-92D97D): email = 'user0@'
- CT-0081 (C-92D97D): email = 'user1@'
- CT-0192 (C-425E2A): email = 'user2@'
Domain Mismatches (1 total — contact email domain differs from company domain):
- CT-0011 (C-66D1FC): email = 'user1@other-domain.com', expected company domain = '66d1fc.com'
============================================================
4. FILL MISSING COMPANY FIELDS VIA ENRICHMENT
============================================================
Fill Missing Fields (8 company fields can be filled where enrichment export has a matching row and non-empty data):
- C-EC3025 (ec3025.com): employee_count = 400 (from zi_employee_count)
- C-96039F (96039f.com): employee_count = 400 (from zi_employee_count)
- C-44EA29 (44ea29.com): employee_count = 400 (from zi_employee_count)
- C-D04904 (d04904.com): employee_count = 400 (from zi_employee_count)
- C-B23205 (b23205.com): employee_count = 400 (from zi_employee_count)
- C-60C75F (60c75f.com): employee_count = 400 (from zi_employee_count)
- C-7BBDFA (7bbdfa.com): employee_count = 400 (from zi_employee_count)
- C-50D386 (50d386.com): employee_count = 400 (from zi_employee_count)
Missing Fields That CANNOT Be Filled (Never invent a value):
a) Enrichment row exists, but value is also blank:
- C-2D1F1B (2d1f1b.com): hq_country blank in zi_hq_country
- C-D73B89 (d73b89.com): hq_country blank in zi_hq_country
- C-44EA29 (44ea29.com): hq_country blank in zi_hq_country
- C-D04904 (d04904.com): hq_country blank in zi_hq_country
- C-2C60E5 (2c60e5.com): hq_country blank in zi_hq_country
b) No matching row in enrichment export:
- C-93C8BF (93c8bf.com): employee_count missing; not in enrichment export
- C-EE9FFB (ee9ffb.com): hq_country missing; not in enrichment export
============================================================
5. CRM vs ENRICHMENT DISAGREEMENTS & RECOMMENDATIONS
============================================================
Where CRM and enrichment export disagree:
1. Industry Disagreements (10 companies):
- C-66D1FC (66d1fc.com): CRM = 'tech' vs Enrichment = 'Computer Software'
- C-EC3025 (ec3025.com): CRM = 'Technology' vs Enrichment = 'Computer Software'
- C-44EA29 (44ea29.com): CRM = 'tech' vs Enrichment = 'Computer Software'
- C-92D97D (92d97d.com): CRM = 'Technology' vs Enrichment = 'Computer Software'
- C-D04904 (d04904.com): CRM = 'Technology' vs Enrichment = 'Computer Software'
- C-77A95A (77a95a.com): CRM = 'Technology' vs Enrichment = 'Computer Software'
- C-AA8DDA (aa8dda.com): CRM = 'Technology' vs Enrichment = 'Computer Software'
- C-B25F40 (b25f40.com): CRM = 'Technology' vs Enrichment = 'Computer Software'
- C-60C75F (60c75f.com): CRM = 'tech' vs Enrichment = 'Computer Software'
- C-425E2A (425e2a.com): CRM = 'Tech ' vs Enrichment = 'Computer Software'
- RECOMMENDATION: Keep CRM as system of record for taxonomy, standardizing on 'Technology'. Map external vendor taxonomy ('Computer Software') to internal picklist values on ingestion.
2. HQ Country Formatting Disagreements (10 companies):
- C-66D1FC (66d1fc.com): CRM = 'US' vs Enrichment = 'United States'
- C-950043 (950043.com): CRM = 'US' vs Enrichment = 'United States'
- C-EC3025 (ec3025.com): CRM = 'USA' vs Enrichment = 'United States'
- C-96039F (96039f.com): CRM = 'USA' vs Enrichment = 'United States'
- C-77A95A (77a95a.com): CRM = 'US' vs Enrichment = 'United States'
- C-B23205 (b23205.com): CRM = 'US' vs Enrichment = 'United States'
- C-E51FB7 (e51fb7.com): CRM = 'USA' vs Enrichment = 'United States'
- C-D0662E (d0662e.com): CRM = 'US' vs Enrichment = 'United States'
- C-425E2A (425e2a.com): CRM = 'USA' vs Enrichment = 'United States'
- C-2D7423 (2d7423.com): CRM = 'USA' vs Enrichment = 'United States'
- RECOMMENDATION: Standardize both CRM and enrichment integration on ISO-2 standard country codes (e.g., 'US') to resolve formatting drift.
3. Employee Count Disagreements:
- 0 disagreements across non-blank records (both sources match exactly for 50, 120, 340, 900, 1500).
============================================================
6. TOP 10 FIXES (PIPELINE AMOUNT AT STAKE AUDIT)
============================================================
Note on Pipeline Arithmetic: Because no deals file was provided in the extract, pipeline dollar amounts cannot be calculated ($0 identifiable from input data). Ranking is prioritized by data integrity risk and downstream operational impact:
1. Ingest missing deals data extract:
- Impact: 100% of pipeline amount is currently unquantifiable because deals.csv is missing. Required fields (owner, stage, amount, close date, why-buys) cannot be audited until provided.
2. Deduplicate Cluster 1 (acme-corp.com) by merging into survivor C-0A092931:
- Eliminates duplicate accounts, merges records, and reconciles employee count (500 vs 510).
3. Deduplicate Cluster 2 (globex.io) by merging into survivor C-0A092934:
- Consolidates duplicate company accounts and standardizes industry classification.
4. Correct 4 malformed contact emails (CT-0010, CT-0080, CT-0081, CT-0192):
- Contacts have invalid 'user@' syntax without domain, blocking outreach to key personas.
5. Resolve domain mismatch on CT-0011 (user1@other-domain.com under C-66D1FC):
- Re-verify employment or reassign contact to proper company entity to avoid misrouted communications.
6. Populate 8 missing employee_count fields using enrichment export:
- Backfill 400 employees for C-EC3025, C-96039F, C-44EA29, C-D04904, C-B23205, C-60C75F, C-7BBDFA, C-50D386 to restore account tiering and routing.
7. Fill 15 missing contact persona classifications:
- Backfill missing personas (e.g., economic buyer, champion, HR admin) to support multithreading.
8. Fill 13 missing contact titles:
- Acquire missing title data across key accounts (CT-0000, CT-0022, CT-0072, etc.).
9. Normalize industry and country picklist fields:
- Clean up variations ('tech', 'Tech ', 'Technology', 'health care', 'Healthcare', 'US', 'USA', 'United States').
10. Trigger secondary data enrichment for unfillable company records:
- Source missing hq_country (C-2D1F1B, C-D73B89, C-44EA29, C-D04904, C-2C60E5, C-EE9FFB) and employee_count (C-93C8BF) not covered by ZoomInfo.
``` PER-DEAL CLASSIFICATION (90 DEALS) Format: deal_alias | primary_category | side Deal-DB0AAC | timing | buyer Deal-F7F635 | competitor | buyer Deal-AC944F | no decision | unknown Deal-214060 | no decision | unknown Deal-91A056 | timing | buyer Deal-29326C | timing | buyer Deal-5DB9B0 | other | unknown Deal-831B7B | timing | buyer Deal-F97C37 | competitor | Bonusly Deal-13E9CF | no decision | buyer Deal-39E25C | timing | buyer Deal-7ED004 | pricing | buyer Deal-21B045 | no decision | unknown Deal-B3ABED | timing | buyer Deal-422BA6 | competitor | Bonusly Deal-ED9AE7 | no decision | buyer Deal-988493 | no decision | unknown Deal-381C8C | competitor | unknown Deal-F308CA | no decision | unknown Deal-F1E8A6 | competitor | unknown Deal-B6AC09 | timing | buyer Deal-70F704 | other | buyer Deal-E6E80A | timing | buyer Deal-B038F0 | timing | buyer Deal-4664E1 | no decision | unknown Deal-175756 | timing | buyer Deal-E74A73 | no decision | buyer Deal-DDAB52 | competitor | Bonusly Deal-ACE061 | competitor | buyer Deal-BB78F3 | timing | buyer Deal-D48E0B | no decision | unknown Deal-15DA99 | timing | buyer Deal-F4AF5D | timing | buyer Deal-79B7A1 | timing | buyer Deal-583ADB | no decision | unknown Deal-8E27DA | competitor | buyer Deal-2D2F8D | competitor | buyer Deal-E0441F | no decision | unknown Deal-7CB44D | no decision | unknown Deal-0F96AA | competitor | buyer Deal-1BCA50 | competitor | buyer Deal-7CC678 | competitor | unknown Deal-FAC17C | no decision | buyer Deal-242273 | competitor | Bonusly Deal-50E5D8 | no decision | buyer Deal-A2C349 | competitor | buyer Deal-9F176A | timing | buyer Deal-7B2236 | pricing | buyer Deal-AFA56C | no decision | unknown Deal-C7156E | competitor | buyer Deal-C33D91 | pricing | buyer Deal-9048EB | product gap | Bonusly Deal-5E64CE | competitor | buyer Deal-8A0992 | competitor | buyer Deal-D0C698 | competitor | buyer Deal-69CF3D | timing | buyer Deal-ECBF89 | timing | buyer Deal-3618CC | product gap | Bonusly Deal-EECC02 | competitor | buyer Deal-5AD03E | product gap | Bonusly Deal-D1A623 | timing | buyer Deal-413C56 | timing | buyer Deal-47F1A1 | competitor | buyer Deal-BF2A98 | competitor | buyer Deal-2A292B | competitor | buyer Deal-D1AABF | no decision | unknown Deal-FEDBCB | timing | buyer Deal-1E7DA9 | competitor | buyer Deal-2BBA21 | no decision | unknown Deal-286F9C | competitor | Bonusly Deal-7FBAC6 | no decision | buyer Deal-369281 | competitor | buyer Deal-386F6E | no decision | unknown Deal-9FCD0D | competitor | buyer Deal-55867E | no decision | buyer Deal-DAFB82 | timing | buyer Deal-2FEDDB | timing | buyer Deal-64B19A | competitor | buyer Deal-3F86A0 | no decision | unknown Deal-096750 | no decision | unknown Deal-F325A5 | champion left | buyer Deal-ABD14C | no decision | buyer Deal-79E61A | no decision | unknown Deal-8A119B | pricing | buyer Deal-AE7C4E | no decision | unknown Deal-DAB4F1 | no decision | unknown Deal-B4B50F | no decision | unknown Deal-981AD4 | product gap | Bonusly Deal-DC77FE | competitor | Bonusly Deal-5885B9 | no decision | unknown ``` ``` SUMMARY ═══════════════════════════════════════════════════════════════════ 1. Category Counts (Total Deals = 90) ------------------------------------------------------------------- - competitor: 27 deals - no decision: 27 deals - timing: 22 deals - pricing: 5 deals - product gap: 4 deals - other: 4 deals - champion left: 1 deal Arithmetic: 27 + 27 + 22 + 5 + 4 + 4 + 1 = 90 deals. 2. Side Split (Total Deals = 90) ------------------------------------------------------------------- - buyer: 57 deals - unknown: 23 deals - Bonusly: 10 deals Arithmetic: 57 + 23 + 10 = 90 deals. 3. Structured Tag vs. Free-Text Disagreements (13 Deals) ------------------------------------------------------------------- There are 13 deals where the structured closed_lost_tag clearly disagrees with the primary loss reason stated in the free text: 1. Deal-13E9CF: Tag is "Doing nothing/Not a priority/Cost", but text explicitly clarifies: "Not a budget issue - R&R program has been deprioritized by the org." (Primary: no decision) 2. Deal-ED9AE7: Tag is "Lost DM", but text cites: "Timing, budget, authroity." with no lost champion or decision maker indicated. (Primary: no decision) 3. Deal-70F704: Tag is "Lost DM", but text notes: "They were only looking to automate anniversary awards and have been MIA" (scope mismatch / ghosted, not a lost decision maker). (Primary: other) 4. Deal-E74A73: Tag is "Doing nothing/Not a priority/Cost", but text states buyer decided to test points calculation manually before buying an external platform (process experiment, not cost). (Primary: no decision) 5. Deal-8E27DA: Tag is "Feature Request", but text states: "They moved forward with just a swag provider and didn't want R&R, currently." (Primary: competitor) 6. Deal-FAC17C: Tag is "Lost DM", but text indicates: "Contract has been out two months but they couldn't get final approval from the Executive IT Director" (stalled internal approval, not a departed DM). (Primary: no decision) 7. Deal-9048EB: Tag is "MIA", but text notes: "bad fit based on their desired setup and multiple feature gaps" alongside being stale. (Primary: product gap) 8. Deal-5E64CE: Tag is "Doing nothing/Not a priority/Cost", but text reveals they are locked into an existing contract with Nectar through October 2027. (Primary: competitor) 9. Deal-3618CC: Tag is "Lost DM", but text states: "Wanted Surveys" (a missing capability/feature). (Primary: product gap) 10. Deal-5AD03E: Tag is "Competitor", but text cites: "Wanted more defined budget access" (a missing platform functionality/control, no competitor named). (Primary: product gap) 11. Deal-2A292B: Tag is "Doing nothing/Not a priority/Cost", but text states: "going to build something simple internally" (build-vs-buy decision). (Primary: competitor) 12. Deal-55867E: Tag is "Lost- Timing (1 year or more)", but text is an outright soft rejection without any timeline or follow-up: "After careful consideration, I don't think we'll be moving forward with Bonusly at this time." (Primary: no decision) 13. Deal-DAFB82: Tag is "Lost- Budget/Price", but text highlights that while budget is constrained until 2028, the contact explicitly "loves Bonusly and is going to loop back" then. (Primary: timing) 4. Two Patterns Most Worth Acting On ------------------------------------------------------------------- 1. High Prevalence of Unresponsive Deals (MIA Ghosting) in "No Decision": - 20 of the 27 "no decision" deals carry the structured tag "MIA" with free text such as "unresponsive", "MIA", or "ignored outreach" following intro calls or demos. - These represent significant lost pipeline (e.g., Deal-7CB44D at $31,860; Deal-F308CA at $30,321; Deal-D1AABF at $23,400) and indicate an opportunity to tighten early-stage qualification and multi-threading before demo stages. 2. Heavy Tagging Distortion and Misuse of "Lost DM": - 13 out of 90 deals (14.4%) have structured tags contradicting the free-text context. - In particular, "Lost DM" is routinely misapplied to deals that actually suffered from stalled approvals (Deal-FAC17C), missing features (Deal-3618CC), or scope narrowing (Deal-70F704), while real competitive incumbent lock-ins (Deal-5E64CE with Nectar) and alternative vendor choices (Deal-8E27DA) are obscured under "Doing nothing" or "Feature Request". ```
```json
{
"tier_counts": {
"LOCK": 5,
"ACTION": 53,
"BUILD": 62,
"REVIVE": 0,
"WATCH": 35,
"RISKY": 1
},
"tier_examples": {
"LOCK": ["Deal-C26D20", "Deal-944310", "Deal-25F752"],
"ACTION": ["Deal-2465CE", "Deal-9AAE5F", "Deal-F9A08A"],
"BUILD": ["Deal-FC22A3", "Deal-7E2131", "Deal-60C2C2"],
"REVIVE": [],
"WATCH": ["Deal-950043", "Deal-93C8BF", "Deal-1BEEBF"],
"RISKY": ["Deal-7BBDFA"]
},
"risky_deals": ["Deal-7BBDFA"],
"lock_violations": 0,
"pipeline_shape": "156 open deals distribute as 5 LOCK (3%), 53 ACTION (34%), 62 BUILD (40%), 0 REVIVE (0%), 35 WATCH (22%), and 1 RISKY (1%). The pipeline is heavily mid-to-late loaded with 115 of 156 deals (74%) falling into ACTION or BUILD, indicating broad engagement across qualified opportunities but a very narrow conversion band at the finish line. Only 5 deals (3%) satisfy strict LOCK criteria, confirming that near-term closable commitments remain scarce relative to pipeline volume. The WATCH segment of 35 deals consists predominantly of early-stage PIPELINE records (DS1-DS2) or deals missing engagement logs (Deal-57FF13, Deal-3EED2C). Deal-7BBDFA ($37,440 BEST_CASE at DS3, last contacted 2026-07-21 with 0 meetings in 30 days) is the sole RISKY deal due to a strong forecast conflicting directly with stale engagement evidence, while 0 deals qualified for REVIVE."
}
```
[
{
"transcript_id": "TX-001",
"deal_alias": "Deal-CFE7F4",
"why_buys": [
"The big win for us would be automating anniversary and birthday awards — our HR team of three cannot keep up with it manually."
],
"pain_points": [
"HR team of three cannot keep up with anniversary and birthday awards manually",
"Tracking everything in a spreadsheet and people slip through the cracks"
],
"stakeholders": [
"Prospect (VP People)",
"Prospect (HR Admin)"
],
"budget_signal": "$40k earmarked for engagement tools this fiscal year",
"timeline_signal": "Live before open enrollment in November",
"competitor_mentioned": "Achievers",
"next_step": "Security review with IT lead on September 12",
"objections": [
"Need SSO and audit logs for IT to sign off"
],
"confidence": "HIGH"
},
{
"transcript_id": "TX-002",
"deal_alias": "Deal-70BB30",
"why_buys": [
"We want to tie recognition to retention for our hourly workforce — regretted turnover there is over 30%."
],
"pain_points": [
"Regretted turnover for hourly workforce is over 30%"
],
"stakeholders": [
"Prospect (Head of Total Rewards)",
"Prospect (CFO)"
],
"budget_signal": "$25k pilot budget approved by finance for this quarter",
"timeline_signal": "Decision by end of September",
"competitor_mentioned": null,
"next_step": "Rep to send pilot agreement; prospect to route it to legal this week",
"objections": [
"Integration with Workday has to be rock solid"
],
"confidence": "HIGH"
},
{
"transcript_id": "TX-003",
"deal_alias": "Deal-530B50",
"why_buys": [
"We need to make recognition visible across our 12 retail locations."
],
"pain_points": [
"Recognition is not visible across 12 retail locations",
"Store managers have zero budget autonomy for on-the-spot recognition today"
],
"stakeholders": [
"Prospect (People Ops Manager)"
],
"budget_signal": null,
"timeline_signal": "No rush until Q1",
"competitor_mentioned": "Bucketlist",
"next_step": "Schedule a call with the CEO; prospect will send two times",
"objections": [
"CEO has to be sold first as she decides anything people-related"
],
"confidence": "MEDIUM"
},
{
"transcript_id": "TX-004",
"deal_alias": "Deal-180D02",
"why_buys": [
"We want to consolidate three separate recognition tools into one."
],
"pain_points": [
"Paying for three separate recognition tools and none talk to the HRIS",
"Procurement cycle runs six to eight weeks minimum",
"Security review took three months for their last vendor"
],
"stakeholders": [
"Prospect (VP People)",
"Prospect (IT Security Lead)"
],
"budget_signal": "Under $15k annually can be approved by VP People without board approval",
"timeline_signal": "Procurement cycle takes 6-8 weeks minimum; security review previously took 3 months",
"competitor_mentioned": null,
"next_step": null,
"objections": [
"Procurement cycle runs 6 to 8 weeks minimum",
"Security review took three months for previous vendor"
],
"confidence": "LOW"
},
{
"transcript_id": "TX-005",
"deal_alias": "Deal-F8767A",
"why_buys": [
"Automate service milestones",
"Give analytics on recognition equity across departments"
],
"pain_points": [
"Night-shift teams feel invisible with engagement scores running 20 points lower",
"Lack of analytics on recognition equity across departments",
"Manual service milestones"
],
"stakeholders": [
"Prospect (HR Director)",
"Prospect (People Ops Coordinator)"
],
"budget_signal": "$12k approved under engagement line",
"timeline_signal": "Running before January all-hands",
"competitor_mentioned": "Nectar",
"next_step": "Rep to present directly to the exec team on October 2",
"objections": [
"Mid-pilot with Nectar (vendor must beat that experience)",
"Executive team is skeptical after a failed rollout two years ago"
],
"confidence": "HIGH"
},
{
"transcript_id": "TX-006",
"deal_alias": "Deal-EE195F",
"why_buys": [
"Cut the admin time on service awards"
],
"pain_points": [
"Admin spends five hours a month ordering and shipping plaques manually"
],
"stakeholders": [
"Prospect (HR Manager)"
],
"budget_signal": null,
"timeline_signal": "Fiscal year resets in February; Q1 start is realistic",
"competitor_mentioned": "Internal build (in-house)",
"next_step": "Rep to send one-page overview; prospect to forward it to COO this week",
"objections": [
"COO usually prefers building things in-house"
],
"confidence": "MEDIUM"
}
]
Based on the CRM data and Slack sparring thread, here are the 3 deals closest to signature: 1. Deal-547B2B - Amount: $11,200 - Why it is close: Slack confirms redlines came back clean, the signing page is out, and their VP People confirmed they are signing tomorrow. It is flagged as signature-imminent. - What is left: Customer signature/execution. 2. Deal-B7EBD1 - Amount: $9,000 - Why it is close: In the CRM at DS5 stage and COMMIT forecast category with the earliest unblocked close date (2026-09-10). No blockers or risks were reported in Slack. - What is left: Standard contract execution and signature. Specific closing details are missing from the data. 3. Deal-403845 - Amount: $9,000 - Why it is close: In the CRM at DS5 stage and COMMIT forecast category (close date: 2026-09-11). Slack confirms the deal is moving fine, and the order form is already with the customer's finance team. - What is left: Finance team approval and order form signature. Blocked exclusion: - Deal-2465CE ($5,400) has an earlier CRM close date (2026-09-10 at DS5/COMMIT), but Slack confirms it is blocked: the champion left, procurement froze new vendors, and the owner pulled it out of commit to Q4. Combined pipeline value of the top 3 deals: $11,200 + $9,000 + $9,000 = $29,200
### Candidate Analysis
1. **Candidate 1: Deal-EC3025**
- **Quoted Prospect Line:** "We need SCIM user provisioning — our security team will not approve any tool that requires manual account management."
- **Speaker:** Prospect (IT Security Lead)
- **Classification:** Real gap. According to `product_docs.md`, "SCIM user provisioning and ADP Workforce Now integrations are NOT currently listed as supported capabilities."
- **Deal Alias:** Deal-EC3025
- **Deal Amount:** Data is missing (not provided in the source files).
2. **Candidate 2: Deal-D0D6B5**
- **Quoted Prospect Line:** "Our payroll runs on ADP Workforce Now and I don't see ADP anywhere in your integration list — that's a dealbreaker for us."
- **Speaker:** Prospect (HRIS Manager)
- **Classification:** Real gap. According to `product_docs.md`, "SCIM user provisioning and ADP Workforce Now integrations are NOT currently listed as supported capabilities."
- **Deal Alias:** Deal-D0D6B5
- **Deal Amount:** Data is missing (not provided in the source files).
3. **Candidate 3: Deal-CFE7F4**
- **Quoted Prospect Line:** "I tried to build a custom report combining recognition frequency with turnover and couldn't — is that possible on our current plan?"
- **Speaker:** Prospect (VP People)
- **Classification:** Plan gate. The capability exists on the Enterprise tier ("Custom report builder" is supported on Enterprise, but not Core or Pro per `product_docs.md`).
- **Deal Alias:** Deal-CFE7F4
- **Deal Amount:** Data is missing (not provided in the source files).
4. **Candidate 4: Deal-84DBA6**
- **Quoted Prospect Line:** "We turned on the Slack integration in July, but half our managers still haven't given a single recognition — nobody ever trained them on it."
- **Speaker:** Prospect (People Ops Manager)
- **Classification:** Rollout/enablement issue. The Slack integration is supported across all plans; the barrier cited is lack of manager training.
- **Deal Alias:** Deal-84DBA6
- **Deal Amount:** Data is missing (not provided in the source files).
5. **Candidate 5: Deal-36C33F**
- **Quoted Prospect Line:** "Good to know. The web version should be fine for our office staff for now."
- **Speaker:** Prospect (HR Manager)
- **Classification:** Not a prospect-raised gap. The absence of a native mobile app was raised by the sales rep (Alex Franklin: "Full transparency — we don't have a native mobile app for hourly workers yet..."). Rep language does not count as prospect voice, and the prospect explicitly stated the web version is fine for their staff for now.
- **Deal Alias:** Deal-36C33F
- **Deal Amount:** Data is missing (not provided in the source files).
---
### Real Gaps Summary
- **SCIM User Provisioning**
- **Deal Alias:** Deal-EC3025
- **Deal Amount:** Missing data
- **Prospect Quote:** "We need SCIM user provisioning — our security team will not approve any tool that requires manual account management."
- **ADP Workforce Now Integration**
- **Deal Alias:** Deal-D0D6B5
- **Deal Amount:** Missing data
- **Prospect Quote:** "Our payroll runs on ADP Workforce Now and I don't see ADP anywhere in your integration list — that's a dealbreaker for us."
*(Note on arithmetic: Exactly 2 out of 5 candidate deals represent true product gaps raised by prospects. Deal amounts are missing from the provided dataset, so total impacted pipeline amount cannot be calculated.)*
An open deal is classified as stale if it has had no logged email, call, or meeting in the last 7 days relative to the snapshot date of 2026-09-05 (i.e., the most recent contact date from `engagements_by_deal_90d.csv` is on or before 2026-08-28, which is > 7 days prior, or there is no logged contact record in the engagements table). --- ### Stale Deals by Owner (Ordered by Amount Descending) #### Bryce Harmon - Deal-2D1F1B: Stage = DS1, Amount = $240,000, Most Recent Contact = 2026-06-16 (Email: 2026-06-11, Call: None, Meeting: 2026-06-16) -> 2026-09-05 - 2026-06-16 = 81 days since last contact - Deal-66D1FC: Stage = DS1, Amount = $99,000, Most Recent Contact = 2026-08-20 (Email: 2026-08-20, Call: None, Meeting: 2026-08-05) -> 2026-09-05 - 2026-08-20 = 16 days since last contact - Deal-950043: Stage = DS1, Amount = $70,000, Most Recent Contact = 2026-08-17 (Email: 2026-08-17, Call: None, Meeting: None) -> 2026-09-05 - 2026-08-17 = 19 days since last contact - Deal-B23205: Stage = DS1, Amount = $45,000, Most Recent Contact = 2026-08-20 (Email: 2026-08-20, Call: None, Meeting: 2026-08-20) -> 2026-09-05 - 2026-08-20 = 16 days since last contact - Deal-7BBDFA: Stage = DS3, Amount = $37,440, Most Recent Contact = 2026-07-21 (Email: 2026-07-21, Call: None, Meeting: 2026-06-18) -> 2026-09-05 - 2026-07-21 = 46 days since last contact - Deal-332637: Stage = DS2, Amount = $36,000, Most Recent Contact = 2026-08-27 (Email: 2026-08-27, Call: None, Meeting: 2026-07-22) -> 2026-09-05 - 2026-08-27 = 9 days since last contact - Deal-1BEEBF: Stage = DS1, Amount = $31,500, Most Recent Contact = 2026-08-17 (Email: 2026-08-17, Call: 2026-07-30, Meeting: None) -> 2026-09-05 - 2026-08-17 = 19 days since last contact - Deal-C5658B: Stage = DS1, Amount = $23,400, Most Recent Contact = 2026-08-20 (Email: 2026-08-20, Call: None, Meeting: 2026-07-31) -> 2026-09-05 - 2026-08-20 = 16 days since last contact - Deal-40522D: Stage = DS3, Amount = $21,000, Most Recent Contact = 2026-08-17 (Email: 2026-08-17, Call: None, Meeting: 2026-08-04) -> 2026-09-05 - 2026-08-17 = 19 days since last contact - Deal-F0EBBB: Stage = DS3, Amount = $11,400, Most Recent Contact = 2026-08-12 (Email: 2026-08-12, Call: None, Meeting: None) -> 2026-09-05 - 2026-08-12 = 24 days since last contact - Deal-E25A09: Stage = DS1, Amount = $6,000, Most Recent Contact = 2026-08-27 (Email: 2026-08-27, Call: None, Meeting: 2026-07-15) -> 2026-09-05 - 2026-08-27 = 9 days since last contact - Deal-C9C286: Stage = DS2, Amount = $5,502, Most Recent Contact = 2026-08-27 (Email: 2026-08-27, Call: None, Meeting: 2026-08-05) -> 2026-09-05 - 2026-08-27 = 9 days since last contact - Deal-012CB1: Stage = DS1, Amount = $1, Most Recent Contact = 2026-08-13 (Email: 2026-08-13, Call: None, Meeting: 2026-08-12) -> 2026-09-05 - 2026-08-13 = 23 days since last contact #### Dana Mercer - Deal-44EA29: Stage = DS2, Amount = $60,000, Most Recent Contact = 2026-08-26 (Email: 2026-08-26, Call: None, Meeting: None) -> 2026-09-05 - 2026-08-26 = 10 days since last contact - Deal-E51FB7: Stage = DS2, Amount = $43,875, Most Recent Contact = 2026-08-24 (Email: 2026-08-18, Call: 2026-08-24, Meeting: None) -> 2026-09-05 - 2026-08-24 = 12 days since last contact - Deal-B42F46: Stage = DS1, Amount = $27,000, Most Recent Contact = 2026-08-17 (Email: 2026-08-17, Call: None, Meeting: None) -> 2026-09-05 - 2026-08-17 = 19 days since last contact - Deal-BA3DDC: Stage = DS3, Amount = $23,400, Most Recent Contact = 2026-08-21 (Email: 2026-08-20, Call: 2026-08-21, Meeting: 2026-07-07) -> 2026-09-05 - 2026-08-21 = 15 days since last contact - Deal-9DDE86: Stage = DS2, Amount = $20,000, Most Recent Contact = 2026-08-21 (Email: 2026-08-21, Call: None, Meeting: 2026-07-27) -> 2026-09-05 - 2026-08-21 = 15 days since last contact - Deal-215CCA: Stage = DS3, Amount = $18,900, Most Recent Contact = 2026-08-19 (Email: 2026-07-02, Call: None, Meeting: 2026-08-19) -> 2026-09-05 - 2026-08-19 = 17 days since last contact - Deal-5EED42: Stage = DS3, Amount = $16,250, Most Recent Contact = 2026-08-25 (Email: 2026-08-25, Call: 2026-08-25, Meeting: 2026-07-24) -> 2026-09-05 - 2026-08-25 = 11 days since last contact - Deal-57887A: Stage = DS2, Amount = $15,000, Most Recent Contact = 2026-08-28 (Email: 2026-08-28, Call: None, Meeting: 2026-08-21) -> 2026-09-05 - 2026-08-28 = 8 days since last contact - Deal-B7EBD1: Stage = DS5, Amount = $9,000, Most Recent Contact = 2026-08-20 (Email: 2026-08-20, Call: 2026-08-10, Meeting: 2026-07-30) -> 2026-09-05 - 2026-08-20 = 16 days since last contact - Deal-3974EB: Stage = DS4, Amount = $9,000, Most Recent Contact = 2026-08-28 (Email: 2026-08-28, Call: None, Meeting: 2026-08-28) -> 2026-09-05 - 2026-08-28 = 8 days since last contact - Deal-F40F04: Stage = DS2, Amount = $8,100, Most Recent Contact = 2026-08-21 (Email: 2026-08-21, Call: None, Meeting: 2026-08-21) -> 2026-09-05 - 2026-08-21 = 15 days since last contact - Deal-87DDD1: Stage = DS1, Amount = $5,000, Most Recent Contact = 2026-08-17 (Email: 2026-08-17, Call: None, Meeting: 2026-07-23) -> 2026-09-05 - 2026-08-17 = 19 days since last contact - Deal-F336B6: Stage = DS3, Amount = $4,200, Most Recent Contact = 2026-08-21 (Email: 2026-08-21, Call: None, Meeting: 2026-08-18) -> 2026-09-05 - 2026-08-21 = 15 days since last contact - Deal-0660B4: Stage = DS4, Amount = $1,920, Most Recent Contact = 2026-08-20 (Email: 2026-08-10, Call: None, Meeting: 2026-08-20) -> 2026-09-05 - 2026-08-20 = 16 days since last contact #### Alex Franklin - Deal-CC08D1: Stage = DS1, Amount = $24,000, Most Recent Contact = 2026-08-20 (Email: 2026-08-20, Call: None, Meeting: 2026-08-19) -> 2026-09-05 - 2026-08-20 = 16 days since last contact - Deal-E73427: Stage = DS3, Amount = $18,000, Most Recent Contact = 2026-08-26 (Email: 2026-08-26, Call: None, Meeting: 2026-08-26) -> 2026-09-05 - 2026-08-26 = 10 days since last contact - Deal-885F45: Stage = DS2, Amount = $9,300, Most Recent Contact = 2026-08-24 (Email: 2026-08-24, Call: None, Meeting: None) -> 2026-09-05 - 2026-08-24 = 12 days since last contact - Deal-C2FF3C: Stage = DS1, Amount = $8,316, Most Recent Contact = 2026-08-26 (Email: 2026-08-26, Call: None, Meeting: 2026-08-14) -> 2026-09-05 - 2026-08-26 = 10 days since last contact - Deal-3EED2C: Stage = DS2, Amount = $7,200, Most Recent Contact = None (Missing in engagements table; no logged email, call, or meeting) - Deal-0D2F7A: Stage = DS3, Amount = $5,100, Most Recent Contact = 2026-08-24 (Email: 2026-08-05, Call: 2026-08-24, Meeting: 2026-07-06) -> 2026-09-05 - 2026-08-24 = 12 days since last contact - Deal-6C60D4: Stage = DS3, Amount = $4,800, Most Recent Contact = 2026-08-24 (Email: 2026-07-31, Call: 2026-08-24, Meeting: 2026-07-10) -> 2026-09-05 - 2026-08-24 = 12 days since last contact - Deal-13FEBD: Stage = DS2, Amount = $4,680, Most Recent Contact = 2026-08-24 (Email: 2026-08-04, Call: 2026-08-24, Meeting: None) -> 2026-09-05 - 2026-08-24 = 12 days since last contact - Deal-9D0060: Stage = DS3, Amount = $3,840, Most Recent Contact = 2026-08-24 (Email: 2026-08-24, Call: None, Meeting: 2026-07-24) -> 2026-09-05 - 2026-08-24 = 12 days since last contact - Deal-690476: Stage = DS2, Amount = $3,600, Most Recent Contact = 2026-08-18 (Email: 2026-08-03, Call: 2026-08-18, Meeting: 2026-06-30) -> 2026-09-05 - 2026-08-18 = 18 days since last contact - Deal-C6D97A: Stage = DS4, Amount = $3,240, Most Recent Contact = 2026-08-28 (Email: 2026-08-28, Call: 2026-08-25, Meeting: 2026-07-08) -> 2026-09-05 - 2026-08-28 = 8 days since last contact - Deal-EE195F: Stage = DS3, Amount = $3,120, Most Recent Contact = 2026-08-28 (Email: 2026-08-28, Call: None, Meeting: 2026-08-06) -> 2026-09-05 - 2026-08-28 = 8 days since last contact - Deal-278DEC: Stage = DS3, Amount = $2,700, Most Recent Contact = 2026-08-28 (Email: 2026-08-28, Call: None, Meeting: None) -> 2026-09-05 - 2026-08-28 = 8 days since last contact - Deal-635B8E: Stage = DS3, Amount = $2,600, Most Recent Contact = 2026-08-18 (Email: 2026-08-18, Call: None, Meeting: None) -> 2026-09-05 - 2026-08-18 = 18 days since last contact - Deal-6883F3: Stage = DS1, Amount = $2,400, Most Recent Contact = 2026-08-20 (Email: 2026-08-20, Call: None, Meeting: 2026-08-20) -> 2026-09-05 - 2026-08-20 = 16 days since last contact - Deal-4A13AD: Stage = DS3, Amount = $2,160, Most Recent Contact = 2026-08-10 (Email: 2026-08-10, Call: None, Meeting: 2026-07-16) -> 2026-09-05 - 2026-08-10 = 26 days since last contact - Deal-F67D31: Stage = DS2, Amount = $1,800, Most Recent Contact = 2026-08-28 (Email: 2026-08-28, Call: None, Meeting: None) -> 2026-09-05 - 2026-08-28 = 8 days since last contact - Deal-5FDCE4: Stage = DS3, Amount = $1,600, Most Recent Contact = 2026-08-24 (Email: 2026-08-24, Call: None, Meeting: 2026-06-29) -> 2026-09-05 - 2026-08-24 = 12 days since last contact - Deal-BA571A: Stage = DS4, Amount = $1,080, Most Recent Contact = 2026-08-18 (Email: 2026-08-18, Call: None, Meeting: None) -> 2026-09-05 - 2026-08-18 = 18 days since last contact #### Cole Ingram - Deal-D04904: Stage = DS2, Amount = $58,529.25, Most Recent Contact = 2026-08-25 (Email: 2026-08-25, Call: None, Meeting: 2026-06-12) -> 2026-09-05 - 2026-08-25 = 11 days since last contact - Deal-B25F40: Stage = DS3, Amount = $40,000, Most Recent Contact = 2026-08-28 (Email: 2026-08-28, Call: None, Meeting: 2026-07-24) -> 2026-09-05 - 2026-08-28 = 8 days since last contact - Deal-813836: Stage = DS2, Amount = $32,175, Most Recent Contact = 2026-08-25 (Email: 2026-08-25, Call: None, Meeting: 2026-07-07) -> 2026-09-05 - 2026-08-25 = 11 days since last contact - Deal-1BA595: Stage = DS2, Amount = $31,750, Most Recent Contact = 2026-08-25 (Email: 2026-08-25, Call: None, Meeting: None) -> 2026-09-05 - 2026-08-25 = 11 days since last contact - Deal-CFE1E8: Stage = DS3, Amount = $18,000, Most Recent Contact = 2026-08-25 (Email: 2026-08-25, Call: None, Meeting: 2026-07-24) -> 2026-09-05 - 2026-08-25 = 11 days since last contact - Deal-CD47A6: Stage = DS2, Amount = $12,168, Most Recent Contact = 2026-08-25 (Email: 2026-08-25, Call: 2026-08-24, Meeting: 2026-07-21) -> 2026-09-05 - 2026-08-25 = 11 days since last contact - Deal-627646: Stage = DS3, Amount = $11,193, Most Recent Contact = 2026-08-25 (Email: 2026-08-25, Call: None, Meeting: None) -> 2026-09-05 - 2026-08-25 = 11 days since last contact - Deal-FF809F: Stage = DS2, Amount = $7,781.20, Most Recent Contact = 2026-08-25 (Email: 2026-08-25, Call: None, Meeting: 2026-06-18) -> 2026-09-05 - 2026-08-25 = 11 days since last contact - Deal-AF932D: Stage = DS2, Amount = $7,225.40, Most Recent Contact = 2026-08-25 (Email: 2026-08-25, Call: None, Meeting: 2026-07-21) -> 2026-09-05 - 2026-08-25 = 11 days since last contact - Deal-A71728: Stage = DS2, Amount = $6,947.50, Most Recent Contact = 2026-08-25 (Email: 2026-08-25, Call: None, Meeting: 2026-06-29) -> 2026-09-05 - 2026-08-25 = 11 days since last contact - Deal-8BC9F5: Stage = DS2, Amount = $5,616, Most Recent Contact = 2026-08-26 (Email: 2026-08-26, Call: None, Meeting: 2026-07-24) -> 2026-09-05 - 2026-08-26 = 10 days since last contact - Deal-175395: Stage = DS3, Amount = $4,779.88, Most Recent Contact = 2026-08-25 (Email: 2026-08-25, Call: None, Meeting: 2026-06-30) -> 2026-09-05 - 2026-08-25 = 11 days since last contact - Deal-481E24: Stage = DS3, Amount = $4,140, Most Recent Contact = 2026-08-26 (Email: 2026-08-25, Call: 2026-08-26, Meeting: 2026-07-15) -> 2026-09-05 - 2026-08-26 = 10 days since last contact - Deal-C7F9BF: Stage = DS2, Amount = $3,360, Most Recent Contact = 2026-08-25 (Email: 2026-08-25, Call: 2026-08-24, Meeting: None) -> 2026-09-05 - 2026-08-25 = 11 days since last contact - Deal-2F3A66: Stage = DS3, Amount = $3,334.80, Most Recent Contact = 2026-08-25 (Email: 2026-08-25, Call: None, Meeting: 2026-06-17) -> 2026-09-05 - 2026-08-25 = 11 days since last contact - Deal-342E96: Stage = DS2, Amount = $2,700, Most Recent Contact = 2026-08-12 (Email: 2026-08-12, Call: None, Meeting: 2026-07-14) -> 2026-09-05 - 2026-08-12 = 24 days since last contact - Deal-E568D5: Stage = DS3, Amount = $1,875, Most Recent Contact = 2026-08-25 (Email: 2026-08-25, Call: None, Meeting: 2026-06-30) -> 2026-09-05 - 2026-08-25 = 11 days since last contact - Deal-FD9F4E: Stage = DS5, Amount = $1,330, Most Recent Contact = 2026-08-26 (Email: 2026-08-26, Call: None, Meeting: 2026-07-15) -> 2026-09-05 - 2026-08-26 = 10 days since last contact #### Elena Sinclair - Deal-57FF13: Stage = DS1, Amount = $2,100, Most Recent Contact = None (Missing in engagements table; no logged email, call, or meeting) --- ### Stale Deals Summary per Owner 1. Bryce Harmon: - Stale Deals Count: 13 - Total Stale Amount: $626,243.00 - Arithmetic: 240,000 + 99,000 + 70,000 + 45,000 + 37,440 + 36,000 + 31,500 + 23,400 + 21,000 + 11,400 + 6,000 + 5,502 + 1 = 626,243.00 2. Dana Mercer: - Stale Deals Count: 14 - Total Stale Amount: $261,645.00 - Arithmetic: 60,000 + 43,875 + 27,000 + 23,400 + 20,000 + 18,900 + 16,250 + 15,000 + 9,000 + 9,000 + 8,100 + 5,000 + 4,200 + 1,920 = 261,645.00 3. Alex Franklin: - Stale Deals Count: 19 - Total Stale Amount: $109,536.00 - Arithmetic: 24,000 + 18,000 + 9,300 + 8,316 + 7,200 + 5,100 + 4,800 + 4,680 + 3,840 + 3,600 + 3,240 + 3,120 + 2,700 + 2,600 + 2,400 + 2,160 + 1,800 + 1,600 + 1,080 = 109,536.00 4. Cole Ingram: - Stale Deals Count: 18 - Total Stale Amount: $252,905.03 - Arithmetic: 58,529.25 + 40,000 + 32,175 + 31,750 + 18,000 + 12,168 + 11,193 + 7,781.20 + 7,225.40 + 6,947.50 + 5,616 + 4,779.88 + 4,140 + 3,360 + 3,334.80 + 2,700 + 1,875 + 1,330 = 252,905.03 5. Elena Sinclair: - Stale Deals Count: 1 - Total Stale Amount: $2,100.00 - Arithmetic: 2,100.00 = 2,100.00 6. Farid Osman: - Stale Deals Count: 0 - Total Stale Amount: $0.00 - Note: All 6 open deals owned by Farid Osman have logged contact within the last 7 days (on or after 2026-08-29). --- **Total Pipeline Stale Deals:** 65 **Total Pipeline Stale Amount:** $1,252,429.03 Arithmetic: 626,243.00 + 261,645.00 + 109,536.00 + 252,905.03 + 2,100.00 = 1,252,429.03
### Methodology & Parameters - Snapshot Date: 2026-09-05 - Last 30 Days Window: 2026-08-06 to 2026-09-05 (inclusive) - Missing Data Note: Two deals in `deals_open.csv` have no corresponding records in `engagements_by_deal_90d.csv`: - Deal-3EED2C (owner: Alex Franklin, owner_id: 84342457) - Deal-57FF13 (owner: Elena Sinclair, owner_id: 701163055) Because engagement records are missing for these deals, their activity counts are absent from the engagements table. - Archived Owners: Gavin Porter (1520255671) and Hugo Lindqvist (77260721) are marked `archived = true` with 0 deals and 0 activities. --- ### Per-Rep Metrics & Arithmetic #### 1. Alex Franklin (owner_id: 84342457) - 30-Day Activities (from engagements table across 66 matched open deals; Deal-3EED2C missing from engagements table): - Emails: 307 - Calls: 36 - Meetings: 41 - Total Activities: 307 + 36 + 41 = 384 - Activity Mix: - Emails Share: 307 / 384 = 79.95% - Calls Share: 36 / 384 = 9.38% - Meetings Share: 41 / 384 = 10.68% - Deals Entered DS2 in Last 30 Days (18 deals): - Deal-EE195F (2026-08-06) - Deal-D9A72E (2026-08-06) - Deal-7FA0C3 (2026-08-07) - Deal-E531A6 (2026-08-07) - Deal-36C33F (2026-08-11) - Deal-D1E6C2 (2026-08-11) - Deal-317E6F (2026-08-12) - Deal-4F775F (2026-08-17) - Deal-F436DA (2026-08-19) - Deal-CA5E44 (2026-08-24) - Deal-46988D (2026-08-26) - Deal-5296C9 (2026-08-28) - Deal-898FC5 (2026-08-28) - Deal-E73427 (2026-08-28) - Deal-403845 (2026-09-02) - Deal-92D97D (2026-09-02) - Deal-1FC049 (2026-09-03) - Deal-3EED2C (2026-09-03) - Efficiency Ratio (Activities per DS2 Entry): - 384 / 18 = 21.33 activities/DS2 entry --- #### 2. Bryce Harmon (owner_id: 119337721) - 30-Day Activities (across 35 open deals): - Emails: 162 - Calls: 0 - Meetings: 43 - Total Activities: 162 + 0 + 43 = 205 - Activity Mix: - Emails Share: 162 / 205 = 79.02% - Calls Share: 0 / 205 = 0.00% - Meetings Share: 43 / 205 = 20.98% - Deals Entered DS2 in Last 30 Days (4 deals): - Deal-1CCE5C (2026-08-06) - Deal-25F752 (2026-08-10) - Deal-CA7DC0 (2026-08-12) - Deal-D73B89 (2026-09-03) - Efficiency Ratio (Activities per DS2 Entry): - 205 / 4 = 51.25 activities/DS2 entry --- #### 3. Cole Ingram (owner_id: 83155924) - 30-Day Activities (across 22 open deals): - Emails: 96 - Calls: 14 - Meetings: 1 - Total Activities: 96 + 14 + 1 = 111 - Activity Mix: - Emails Share: 96 / 111 = 86.49% - Calls Share: 14 / 111 = 12.61% - Meetings Share: 1 / 111 = 0.90% - Deals Entered DS2 in Last 30 Days (2 deals): - Deal-1BA595 (2026-08-12) - Deal-42326B (2026-08-26) - Efficiency Ratio (Activities per DS2 Entry): - 111 / 2 = 55.50 activities/DS2 entry --- #### 4. Farid Osman (owner_id: 716654662) - 30-Day Activities (across 7 open deals): - Emails: 38 - Calls: 0 - Meetings: 34 - Total Activities: 38 + 0 + 34 = 72 - Activity Mix: - Emails Share: 38 / 72 = 52.78% - Calls Share: 0 / 72 = 0.00% - Meetings Share: 34 / 72 = 47.22% - Deals Entered DS2 in Last 30 Days (1 deal): - Deal-499BF6 (2026-08-26) - Efficiency Ratio (Activities per DS2 Entry): - 72 / 1 = 72.00 activities/DS2 entry --- #### 5. Dana Mercer (owner_id: 83155923) - 30-Day Activities (across 24 open deals): - Emails: 84 - Calls: 18 - Meetings: 11 - Total Activities: 84 + 18 + 11 = 113 - Activity Mix: - Emails Share: 84 / 113 = 74.34% - Calls Share: 18 / 113 = 15.93% - Meetings Share: 11 / 113 = 9.73% - Deals Entered DS2 in Last 30 Days (1 deal): - Deal-57887A (2026-08-07) - Efficiency Ratio (Activities per DS2 Entry): - 113 / 1 = 113.00 activities/DS2 entry --- #### 6. Elena Sinclair (owner_id: 701163055) - 30-Day Activities: Missing. Elena Sinclair owns 1 deal (Deal-57FF13), which is not present in `engagements_by_deal_90d.csv`. Recorded activities from the engagements table = 0. - Deals Entered DS2 in Last 30 Days: 0 (Deal-57FF13 is in DS1 with no t_ds2). - Efficiency Ratio: Undefined (0 DS2 entries, 0 recorded activities). --- ### Efficiency Ranking (Lowest activities per DS2 entry = most efficient) 1. Alex Franklin: 21.33 activities/DS2 entry (384 activities / 18 DS2 entries) 2. Bryce Harmon: 51.25 activities/DS2 entry (205 activities / 4 DS2 entries) 3. Cole Ingram: 55.50 activities/DS2 entry (111 activities / 2 DS2 entries) 4. Farid Osman: 72.00 activities/DS2 entry (72 activities / 1 DS2 entry) 5. Dana Mercer: 113.00 activities/DS2 entry (113 activities / 1 DS2 entry) Unranked: Elena Sinclair (0 DS2 entries; missing engagement data) --- ### Key Identifications - Most efficient rep: Alex Franklin (21.33 activities per DS2 entry) - Highest-volume rep: Alex Franklin (384 total activities; also highest with 18 DS2 entries) - Difference note: The most efficient rep and the highest-volume rep do not differ; Alex Franklin is both.
QTD SCORECARD: Alex Franklin
Snapshot Date: 2026-09-05
Evaluation Period: 2026-Q3 (2026-07-01 to 2026-09-30)
================================================================================
1. BOOKINGS VS QUOTA & ATTAINMENT
================================================================================
- Quota (2026-Q3): $200,000.00
- Total Closed-Won Deals in File: 9 deals ($174,000.00)
- Excluded Pre-Quarter Won Deals: 1 deal
* Deal-B3E6F1: $24,000.00 (Closed 2026-06-20, prior to Q3)
- QTD Closed-Won Deals: 8 deals
* Deal-A1C3E5: $40,000.00 (2026-07-15)
* Deal-F2C7D8: $20,000.00 (2026-07-24)
* Deal-B7D2F4: $35,000.00 (2026-07-31)
* Deal-C9E1A6: $21,000.00 (2026-08-12)
* Deal-A8B4D6: $12,000.00 (2026-08-19)
* Deal-D4B8C2: $11,000.00 (2026-08-21)
* Deal-E6F3A9: $6,500.00 (2026-09-02)
* Deal-C5D9E2: $4,500.00 (2026-09-03)
Arithmetic:
QTD Bookings = $40,000 + $20,000 + $35,000 + $21,000 + $12,000 + $11,000 + $6,500 + $4,500 = $150,000.00
Quota Attainment % = ($150,000.00 / $200,000.00) * 100 = 75.00%
Remaining to Quota = $200,000.00 - $150,000.00 = $50,000.00
================================================================================
2. NEW VS EXPANSION BOOKINGS SPLIT (QTD)
================================================================================
- New Business: 5 deals | $113,500.00 (75.67% of bookings)
* Deal-A1C3E5: $40,000.00
* Deal-B7D2F4: $35,000.00
* Deal-C9E1A6: $21,000.00
* Deal-D4B8C2: $11,000.00
* Deal-E6F3A9: $6,500.00
Arithmetic:
Total New = $40,000 + $35,000 + $21,000 + $11,000 + $6,500 = $113,500.00
New Split % = ($113,500.00 / $150,000.00) * 100 = 75.67%
- Expansion: 3 deals | $36,500.00 (24.33% of bookings)
* Deal-F2C7D8: $20,000.00
* Deal-A8B4D6: $12,000.00
* Deal-C5D9E2: $4,500.00
Arithmetic:
Total Expansion = $20,000 + $12,000 + $4,500 = $36,500.00
Expansion Split % = ($36,500.00 / $150,000.00) * 100 = 24.33%
================================================================================
3. ACTIVE PIPELINE BY STAGE
================================================================================
Active (status = 'open'): 125 deals | $1,260,390.00 total amount
- Stage DS1: 20 deals | $284,621.00 (22.58% of active pipeline)
- Stage DS2: 28 deals | $353,760.00 (28.07% of active pipeline)
- Stage DS3: 67 deals | $552,705.00 (43.85% of active pipeline)
- Stage DS4: 5 deals | $23,574.00 (1.87% of active pipeline)
- Stage DS5: 5 deals | $45,730.00 (3.63% of active pipeline)
Arithmetic:
Total Active Deals = 20 + 28 + 67 + 5 + 5 = 125 deals
Total Active Amount = $284,621.00 + $353,760.00 + $552,705.00 + $23,574.00 + $45,730.00 = $1,260,390.00
================================================================================
4. ROLLING 90-DAY DS2-TO-WON RATE
================================================================================
- 90-Day Rolling Window: 2026-06-07 to 2026-09-05
- Deals entering DS2 during this window: 111 deals
* Won: 8 deals (Deal-A1C3E5, Deal-F2C7D8, Deal-B7D2F4, Deal-C9E1A6, Deal-A8B4D6, Deal-D4B8C2, Deal-E6F3A9, Deal-C5D9E2)
* Lost: 27 deals (all 27 closed lost deals entered DS2 between 2026-06-12 and 2026-08-08)
* Open (in progress): 76 deals
Arithmetic:
* Cohort Conversion Rate (Won / Total entered DS2 in window):
8 / 111 = 7.21%
* Closed Outcome Win Rate from DS2 Cohort (Won / [Won + Lost]):
8 / (8 + 27) = 8 / 35 = 22.86%
(Note: Deal-B3E6F1 closed on 2026-06-20 within 90 days, but entered DS2 on 2026-05-10, 118 days prior, and is excluded per the pre-quarter rule).
================================================================================
5. WIN AND LOSS COUNTS WITH TOP LOSS REASON
================================================================================
- Win Count (QTD): 8 deals ($150,000.00)
- Loss Count (QTD): 27 deals ($330,272.00)
(All 27 closed lost deals occurred between 2026-07-29 and 2026-09-02)
Breakdown of Loss Reasons:
* Lost- Timing (1 year or more): 13 deals (48.15%) | $184,681.00
* Competitor: 5 deals (18.52%) | $49,020.00
* MIA: 5 deals (18.52%) | $45,831.00
* Lost DM: 2 deals (7.41%) | $17,940.00
* Feature Request: 1 deal (3.70%) | $21,000.00
* Lost- Does not fit ICP (write in notes): 1 deal (3.70%) | $10,800.00
Top Loss Reason:
"Lost- Timing (1 year or more)" — 13 deals (48.15% of all losses, representing $184,681.00).
================================================================================
6. ACTIVITY VOLUME BY TYPE (LAST 30 DAYS)
================================================================================
Source: ae_engagements.csv (across 161 total deals)
- Emails: 807
- Meetings: 128
- Calls: 112
- Notes: 50
Arithmetic:
Total Activities (last 30 days) = 807 + 128 + 112 + 50 = 1,097 activities
Email share of activity: 807 / 1,097 = 73.56%
Call share of activity: 112 / 1,097 = 10.21%
Meeting share of activity: 128 / 1,097 = 11.67%
Notes share of activity: 50 / 1,097 = 4.56%
================================================================================
COACHING OBSERVATIONS GROUNDED IN THE NUMBERS
================================================================================
1. Pipeline Stagnation and Bottleneck at DS3:
67 of 125 active deals (53.60%) and $552,705.00 of $1,260,390.00 active pipeline (43.85%) are concentrated in DS3. In contrast, late-stage pipeline is sparse, with only 5 deals in DS4 ($23,574.00) and 5 deals in DS5 ($45,730.00). Alex needs coaching on qualification gates and exit criteria to advance opportunities out of DS3 or disqualify stalled deals earlier.
2. Heavy Losses to Timing and Slippage:
"Lost- Timing (1 year or more)" accounts for nearly half of all lost deals (13 of 27, or 48.15%) and $184,681.00 in lost value, supplemented by 5 deals ($45,831.00) marked "MIA". This indicates prospects are entering discovery and evaluation without an established compelling event, verified budget, or urgent timeline. Alex should focus on uncovering business pain and cost of inaction during early discovery stages (DS1/DS2).
3. Communication Channel Skew Towards Email Over Phone:
Activity is heavily skewed toward email (807 emails vs. 112 calls and 128 meetings), representing a 7.2:1 email-to-call ratio. With 5 deals lost to "MIA" ($45,831.00) and 2 deals lost to "Lost DM" ($17,940.00), Alex's reliance on asynchronous email outreach rather than live multi-threaded phone calls and executive touchpoints increases the risk of deals going cold or losing contact with key stakeholders.
An analysis of the provided data (`deal_contacts.csv` and `unengaged_contacts.csv`) evaluated against the threading rules is presented below.
---
### Data Note & Rules
1. **Missing Data**:
- `amount`: **Not provided in either file.** (Explicitly noted as missing per prompt instructions).
- `stage`: **Not provided in either file.** (Explicitly noted as missing per prompt instructions).
- Because `stage` is missing from the data, the *most valuable persona to add* is determined by general hierarchy and existing coverage gaps:
- **economic buyer** is prioritized first whenever absent (essential for budget/signing authority).
- Where both **economic buyer** and **champion** are present, technical/procurement blockers (**IT security**, **finance**, or **HR admin**) take priority.
2. **Active Contact Definition & Arithmetic**:
- Reference date: latest engagement in the dataset is `2026-09-03`.
- 60-day active window: Engaged on or after `2026-07-05` (`2026-09-03` minus 60 days) and `is_former = false`.
- Persona universe: `economic buyer`, `champion`, `HR admin`, `IT security`, `finance`.
3. **Threading Criteria**:
- **Single-threaded**: Fewer than 2 active contacts (`active_contacts < 2`).
- **Under-threaded**: Fewer than 3 active contacts (`active_contacts < 3`), or all active contacts belong to a single persona.
- Total deals in dataset: 14 unique deals.
- Flagged deals: 11 (5 single-threaded, 6 under-threaded).
- Fully threaded / not flagged: 3 (`Deal-84DBA6` [3 contacts, 3 personas], `Deal-4B0BEB` [4 contacts, 4 personas], `Deal-D348E1` [5 contacts, 5 personas]).
---
### Flagged Deals
#### 1. Deal-EC3025 (C-FDD0C7)
- **Amount**: Missing (not provided in data)
- **Stage**: Missing (not provided in data)
- **Active Contact Count**: 1 (Single-threaded)
- Active: `CT-047C54` (champion, last engaged 2026-09-02, `is_former=false`)
- Excluded: `CT-F2C1AE` (economic buyer, last engaged 2026-08-15, `is_former=true` — former employee)
- Arithmetic: 2 total contacts − 1 former = 1 active contact
- **Personas Present**: champion
- **Personas Missing**: economic buyer, HR admin, IT security, finance
- **Most Valuable Persona to Add**: economic buyer (replaces lost former economic buyer and secures budget authority)
- **On-File Unengaged Contact**: `CT-6827DB` (Chief People Officer, economic buyer) — fits
---
#### 2. Deal-92D97D (C-E23238)
- **Amount**: Missing (not provided in data)
- **Stage**: Missing (not provided in data)
- **Active Contact Count**: 1 (Single-threaded)
- Active: `CT-01F5B4` (HR admin, last engaged 2026-08-28, `is_former=false`)
- Excluded: `CT-A902AE` (champion, last engaged 2026-06-01: 94 days ago > 60-day window)
- Arithmetic: 2 total contacts − 1 inactive (>60 days) = 1 active contact
- **Personas Present**: HR admin
- **Personas Missing**: champion, economic buyer, IT security, finance
- **Most Valuable Persona to Add**: economic buyer (or re-engaging champion)
- **On-File Unengaged Contact**: None on file
---
#### 3. Deal-36C33F (C-077A0E)
- **Amount**: Missing (not provided in data)
- **Stage**: Missing (not provided in data)
- **Active Contact Count**: 1 (Single-threaded)
- Active: `CT-4FE556` (IT security, last engaged 2026-08-15, `is_former=false`)
- Excluded: `CT-405B45` (champion, `is_former=true`), `CT-86B22F` (economic buyer, `is_former=true`)
- Arithmetic: 3 total contacts − 2 former = 1 active contact
- **Personas Present**: IT security
- **Personas Missing**: champion, economic buyer, HR admin, finance
- **Most Valuable Persona to Add**: economic buyer (lost both champion and economic buyer to turnover; need buyer authority)
- **On-File Unengaged Contact**: `CT-1DB73E` (Chief People Officer, economic buyer) — fits
---
#### 4. Deal-FCBE5B (C-737030)
- **Amount**: Missing (not provided in data)
- **Stage**: Missing (not provided in data)
- **Active Contact Count**: 1 (Single-threaded)
- Active: `CT-4A5317` (champion, last engaged 2026-08-29, `is_former=false`)
- Arithmetic: 1 total contact = 1 active contact
- **Personas Present**: champion
- **Personas Missing**: economic buyer, HR admin, IT security, finance
- **Most Valuable Persona to Add**: economic buyer (critical for budget approval)
- **On-File Unengaged Contact**: None on file
---
#### 5. Deal-F9A08A (C-0D15DF)
- **Amount**: Missing (not provided in data)
- **Stage**: Missing (not provided in data)
- **Active Contact Count**: 1 (Single-threaded)
- Active: `CT-931B10` (champion, last engaged 2026-09-03, `is_former=false`)
- Excluded: `CT-913581` (economic buyer, last engaged 2026-06-20: 75 days ago > 60-day window)
- Arithmetic: 2 total contacts − 1 inactive (>60 days) = 1 active contact
- **Personas Present**: champion
- **Personas Missing**: economic buyer, HR admin, IT security, finance
- **Most Valuable Persona to Add**: economic buyer (current buyer unengaged/cold)
- **On-File Unengaged Contact**: `CT-697541` (Chief People Officer, economic buyer) — fits
---
#### 6. Deal-50D386 (C-EB10E4)
- **Amount**: Missing (not provided in data)
- **Stage**: Missing (not provided in data)
- **Active Contact Count**: 2 (Under-threaded: fewer than 3 active contacts)
- Active: `CT-AA41B2` (champion, last engaged 2026-09-01), `CT-B9C35B` (HR admin, last engaged 2026-08-25)
- Arithmetic: 2 active contacts (< 3)
- **Personas Present**: champion, HR admin
- **Personas Missing**: economic buyer, IT security, finance
- **Most Valuable Persona to Add**: economic buyer (needed for commercial sign-off)
- **On-File Unengaged Contact**: `CT-A1C4B3` (Chief People Officer, economic buyer) — fits
---
#### 7. Deal-D0D6B5 (C-32918E)
- **Amount**: Missing (not provided in data)
- **Stage**: Missing (not provided in data)
- **Active Contact Count**: 3 (Under-threaded: all contacts in one persona)
- Active: `CT-87CED4` (champion, 2026-09-02), `CT-DE6D7C` (champion, 2026-08-19), `CT-FD70B2` (champion, 2026-08-07)
- Arithmetic: 3 active contacts, but 3/3 belong to `champion` (1 unique persona)
- **Personas Present**: champion
- **Personas Missing**: economic buyer, HR admin, IT security, finance
- **Most Valuable Persona to Add**: economic buyer (resolve single-persona concentration and add decision authority)
- **On-File Unengaged Contact**: `CT-1FA4DB` (Chief People Officer, economic buyer) — fits
---
#### 8. Deal-5BFE3B (C-535D36)
- **Amount**: Missing (not provided in data)
- **Stage**: Missing (not provided in data)
- **Active Contact Count**: 2 (Under-threaded: fewer than 3 active contacts, and all contacts in one persona)
- Active: `CT-57123B` (champion, 2026-08-31), `CT-5CE757` (champion, 2026-08-12)
- Arithmetic: 2 active contacts (< 3), both belong to `champion` (1 unique persona)
- **Personas Present**: champion
- **Personas Missing**: economic buyer, HR admin, IT security, finance
- **Most Valuable Persona to Add**: economic buyer
- **On-File Unengaged Contact**: None on file
---
#### 9. Deal-885F45 (C-5E8EFB)
- **Amount**: Missing (not provided in data)
- **Stage**: Missing (not provided in data)
- **Active Contact Count**: 2 (Under-threaded: fewer than 3 active contacts)
- Active: `CT-51C81E` (economic buyer, 2026-08-26), `CT-D9A0E8` (champion, 2026-08-11)
- Arithmetic: 2 active contacts (< 3)
- **Personas Present**: economic buyer, champion
- **Personas Missing**: HR admin, IT security, finance
- **Most Valuable Persona to Add**: IT security (economic buyer and champion already secured; IT security prevents procurement blockers)
- **On-File Unengaged Contact**: `CT-B3F25D` (IT Security Lead, IT security) — fits
---
#### 10. Deal-5408B0 (C-2AE3AA)
- **Amount**: Missing (not provided in data)
- **Stage**: Missing (not provided in data)
- **Active Contact Count**: 2 (Under-threaded: fewer than 3 active contacts)
- Active: `CT-D33AE4` (champion, 2026-09-01), `CT-8742FD` (HR admin, 2026-08-18)
- Arithmetic: 2 active contacts (< 3)
- **Personas Present**: champion, HR admin
- **Personas Missing**: economic buyer, IT security, finance
- **Most Valuable Persona to Add**: economic buyer
- **On-File Unengaged Contact**: `CT-07FA76` (Chief People Officer, economic buyer) — fits
---
#### 11. Deal-C6D97A (C-5A8FC2)
- **Amount**: Missing (not provided in data)
- **Stage**: Missing (not provided in data)
- **Active Contact Count**: 3 (Under-threaded: all contacts in one persona)
- Active: `CT-223DDC` (champion, 2026-08-31), `CT-B03555` (champion, 2026-08-20), `CT-4E8A2B` (champion, 2026-08-05)
- Arithmetic: 3 active contacts, but 3/3 belong to `champion` (1 unique persona)
- **Personas Present**: champion
- **Personas Missing**: economic buyer, HR admin, IT security, finance
- **Most Valuable Persona to Add**: economic buyer
- **On-File Unengaged Contact**: None on file
CALL ANALYSIS REPORT: ALEX FRANKLIN (LAST 10 CALLS) 1. WHAT THE REP LEADS WITH IN THE FIRST FIVE MINUTES In 8 of the 10 calls (80.0%, 8/10: Deal-D348E1, Deal-5408B0, Deal-547B2B, Deal-C61CF7, Deal-60C2C2, Deal-EDC141, Deal-D9A12F, Deal-84DBA6), the rep opens at minute 0 with a case study detailing a 400-person retailer that reduced regretted turnover by 18% through automated milestone awards. In the remaining 2 calls (20.0%, 2/10), the rep opened with an agenda covering security/pricing in Deal-403845 and straight pricing in Deal-1E2498. Quote: "Quick one to kick off: a 400-person retailer we work with cut regretted turnover 18% in two quarters after automating milestone awards, and I wanted to walk you through exactly how they did it." 2. HOW THE REP HANDLES THE THREE MOST COMMON OBJECTIONS Across the 10 calls, the three most frequent objections raised by prospects are: a. Budget locked until next fiscal year (4 occurrences / 40.0% of calls: Deal-D348E1, Deal-547B2B, Deal-60C2C2, Deal-84DBA6). Handling: The rep validates the objection and reframes the cost around turnover savings, stating the retailer in the case study saved $210k in avoided backfills to secure finance approval. Quote: "Totally fair. Most teams fund this out of turnover savings — that retailer saved about $210k in avoided backfills, which is how their finance team signed off." b. Revisit next quarter / timing constraints due to open enrollment (3 occurrences / 30.0% of calls: Deal-5408B0, Deal-C61CF7, Deal-D9A12F). Handling: The rep acknowledges the timing and suggests scoping a 90-day pilot with a single department to gather internal data prior to quarterly planning. Quote: "Makes sense. What if we scope a 90-day pilot with one department so you have internal data before next quarter's planning?" c. Status quo / existing spreadsheet and gift card process (3 occurrences / 30.0% of calls: Deal-403845, Deal-EDC141, Deal-1E2498). Handling: The rep explains that spreadsheets do not scale and emphasizes milestone automation without HR effort, combined with recognition analytics. Quote: "Spreadsheets work until they scale — the difference is automation: milestones fire without HR lifting a finger, and you get analytics on who is being recognized." 3. CONCRETE NEXT STEP AGREEMENT RATE Arithmetic: Calls with agreed concrete next step: 7 (Deal-D348E1, Deal-5408B0, Deal-547B2B, Deal-C61CF7, Deal-60C2C2, Deal-D9A12F, Deal-1E2498). Calls without agreed next step: 3 (Deal-403845, Deal-EDC141, Deal-84DBA6). Total calls analyzed: 10 Agreement rate: 7 / 10 = 70.0% Quote: "Yes, Thursday at 2pm works — send the invite and I'll bring our HRIS manager." 4. EVERY COMPETITOR A PROSPECT RAISED Across the 10 calls, prospects raised exactly 2 competitors: - Awardco: Raised by the prospect in Deal-547B2B (call TT-003, minute 4). Quote: "We're also in late talks with Awardco — their rewards catalog looks bigger than yours." - Kudos: Raised by the prospect in Deal-EDC141 (call TT-007, minute 4). Quote: "How are you different from Kudos? Our CEO used them at her last company." Note: Workhuman appeared in Deal-C61CF7 (call TT-005, minute 2), but it was introduced unprompted by Alex Franklin, not raised by a prospect. COACHING NOTES 1. Do not concede passively when prospects defer to committees or claim a lack of urgency. In Deal-403845, Deal-EDC141, and Deal-84DBA6, the rep immediately walked away (saying "Understood — I'll leave it with you", "Fair enough", and "Understood, thanks for the candor"). Instead, offer to co-create a one-page business case with the prospect or offer to participate directly in the committee review. 2. Avoid introducing competitor names unprompted. In Deal-C61CF7, the rep proactively brought up Workhuman at minute 2 before the prospect expressed any competitive interest. Addressing competitors before the prospect mentions them introduces unnecessary alternatives into the evaluation.
Q3 2026 Sales Forecast (2026-07-01 to 2026-09-30) Deals Inside Q3 by Category: - COMMIT: 7 deals - BEST_CASE: 24 deals - PIPELINE: 23 deals - Total Deals Inside Q3: 54 deals Category Totals Inside Q3: - COMMIT Total: $44,729.00 Arithmetic: 11,200 (Deal-547B2B) + 9,000 (Deal-B7EBD1) + 9,000 (Deal-403845) + 6,360 (Deal-A2B47C) + 5,400 (Deal-2465CE) + 2,520 (Deal-A5E80A) + 1,249 (Deal-499BF6) = $44,729.00 - BEST_CASE Total: $203,565.00 Arithmetic: 38,935 (Deal-2D7423) + 24,000 (Deal-25F752) + 19,656 (Deal-E53952) + 16,250 (Deal-5EED42) + 11,116 (Deal-FA32A0) + 10,800 (Deal-FC22A3) + 10,500 (Deal-944310) + 9,890 (Deal-5195DB) + 9,720 (Deal-180D02) + 9,000 (Deal-3974EB) + 7,200 (Deal-5D8CEE) + 3,840 (Deal-9D0060) + 3,780 (Deal-46988D) + 3,600 (Deal-357C30) + 3,240 (Deal-C6D97A) + 3,150 (Deal-DAF1D9) + 3,120 (Deal-EE195F) + 3,060 (Deal-55164C) + 2,916 (Deal-001FF4) + 2,760 (Deal-7B3B0F) + 2,484 (Deal-F9A08A) + 2,100 (Deal-8952F0) + 1,920 (Deal-1FC049) + 528 (Deal-87412C) = $203,565.00 - PIPELINE Total (counts zero): $201,637.40 (23 deals) Weighted Forecast: - Rule: (1.00 * COMMIT) + (0.35 * BEST_CASE) + (0.00 * PIPELINE) - Arithmetic: (1.00 * 44,729.00) + (0.35 * 203,565.00) = 44,729.00 + 71,247.75 = $115,976.75 Deals Excluded (Close Date Outside Q3): - Excluded Deal Count: 32 deals (dates between 2026-10-01 and 2026-10-15) - Excluded Total Amount: $227,575.00 Top 5 BEST_CASE Deals Inside Q3 by Amount: 1. Deal-2D7423: $38,935.00 2. Deal-25F752: $24,000.00 3. Deal-E53952: $19,656.00 4. Deal-5EED42: $16,250.00 5. Deal-FA32A0: $11,116.00 ## Data quality The extract suffers from pervasive missing ownership, with 85 of the 86 deal records lacking an assigned rep to verify or drive next steps. Stage and forecast category alignments are severely mismatched, notably early-stage deals Deal-A5E80A (DS1) and Deal-499BF6 (DS2) marked as COMMIT, while late-stage deals such as Deal-6787C2 (DS4) remain in PIPELINE. Qualification narrative is almost entirely absent, as 71 out of 86 deals report zero why_buys characters. Additionally, extreme close-date clustering occurs on the final day of the quarter (17 deals placed on 2026-09-30), signaling artificial deadline placeholders rather than verified buyer timelines.
### Exclusions from Denominator
- **Companies excluded:** 0 (None).
- **Reason:** All 220 records in the extract are 25+ months old with complete data for `current_status`, `m1_users`, and `m1_redemptions`. Per instructions, all 220 companies are included in the denominator. Non-renewing accounts (`non_renewing`) are treated as not retained, as only `current_status = 'active'` denotes 24-month retention.
---
### 2x2 Activation Matrix (24-Month Retention)
1. **Both Signals (m1_users >= 5 AND m1_redemptions >= 1)**
- **Cohort Size:** 47 companies
- **Retained (active):** 31 companies
- **Arithmetic:** 31 / 47
- **24-Month Retention Rate:** 65.96%
2. **Givers-Only (m1_users >= 5 AND m1_redemptions < 1)**
- **Cohort Size:** 49 companies
- **Retained (active):** 23 companies
- **Arithmetic:** 23 / 49
- **24-Month Retention Rate:** 46.94%
3. **Redemption-Only (m1_users < 5 AND m1_redemptions >= 1)**
- **Cohort Size:** 29 companies
- **Retained (active):** 9 companies
- **Arithmetic:** 9 / 29
- **24-Month Retention Rate:** 31.03%
4. **Neither Signal (m1_users < 5 AND m1_redemptions < 1)**
- **Cohort Size:** 95 companies
- **Retained (active):** 38 companies
- **Arithmetic:** 38 / 95
- **24-Month Retention Rate:** 40.00%
*Cohort total:* 47 + 49 + 29 + 95 = 220 companies.
---
### Single Signal with Largest Retention Lift
- **Largest Lift Signal:** **5+ unique givers (`m1_users >= 5`)**
- **Lift vs. Neither Baseline (40.00%):**
- Givers-only retention is 46.94% (+6.94 percentage points lift: `46.94% - 40.00%`).
- In contrast, redemption-only retention is 31.03% (-8.97 percentage points lift: `31.03% - 40.00%`).
- **Marginal / Independent Single Signal Lift:**
- All companies with `m1_users >= 5`: (31 + 23) / (47 + 49) = 54 / 96 = 56.25% retention.
- All companies with `m1_users < 5`: (9 + 38) / (29 + 95) = 47 / 124 = 37.90% retention.
- Lift: `56.25% - 37.90%` = **+18.35 percentage points**.
- *(Compared to 1+ redemptions overall: 40 / 76 = 52.63% vs. 61 / 144 = 42.36%, a lift of +10.27 percentage points).*
---
### What This Does and Does Not Prove
- **What it DOES prove:**
- In this historical cohort of 220 companies, meeting both signals (5+ givers and 1+ redemptions) has an empirical correlation with higher 24-month retention (65.96%) compared to givers-only (46.94%), redemption-only (31.03%), or neither (40.00%).
- The activation hypothesis holds observationally for this specific dataset: having both signals yields higher retention than having either single signal or neither.
- **What it DOES NOT prove:**
- **Causality:** It does not prove that artificially driving a 5th giver or 1st redemption causes long-term retention.
- **Confounding variables:** It does not control for underlying firmographic factors (e.g., company employee size, product tier, Slack/HRIS integrations, contract terms) that could drive both early adoption and long-term renewal independently.
- **Mechanism for redemptions alone:** It does not show that redemptions independently benefit retention in small user pools—redemption without sufficient givers actually correlates with the lowest retention in the cohort (31.03%).
### ARR Reconciliation as of 2026-09-05 #### 1. Totals & Variance * CRM (HubSpot) Total ARR: $603,581.76 * Billing (Chargebee) Total ARR (Active Subscriptions): $604,739.28 *(Total Billing ARR across all 39 subscriptions including cancelled: $617,897.76)* * Variance (CRM ARR - Active Billing ARR): -$1,157.52 Arithmetic: $603,581.76 - $604,739.28 = -$1,157.52 --- #### 2. Variance Decomposition Variance is decomposed into the requested buckets and sums exactly to -$1,157.52: * Status mismatch: +$13,158.48 * C-0C8323BF: +$4,905.24 ($4,905.24 CRM ARR - $0.00 Active Billing ARR; cancelled in Chargebee SUB-000E) * C-0DC4FB8C: +$8,253.24 ($8,253.24 CRM ARR - $0.00 Active Billing ARR; cancelled in Chargebee SUB-000F) * Arithmetic: $4,905.24 + $8,253.24 = $13,158.48 * Missing records: -$11,952.00 * C-0D5BBE3A: +$16,497.24 ($16,497.24 CRM ARR - $0.00 Billing ARR; missing in Chargebee) * C-21629AA4: -$28,449.24 ($0.00 CRM ARR - $28,449.24 Billing ARR [SUB-0004: $2,370.77 x 12]; missing in CRM) * Arithmetic: $16,497.24 - $28,449.24 = -$11,952.00 * Rounding: $0.00 * Arithmetic: $0.00 * Other (ARR amount discrepancies on active accounts): -$2,364.00 * C-0D66DF9E: +$16.00 ($23,200.00 CRM ARR - $23,184.00 Billing ARR [SUB-0005: $1,932.00 x 12]) * C-14D70CE0: +$20.00 ($18,200.00 CRM ARR - $18,180.00 Billing ARR [SUB-0008: $1,515.00 x 12]) * C-0F7269D7: -$2,400.00 ($24,396.00 CRM ARR - $26,796.00 Billing ARR [SUB-0006: $2,233.00 x 12]) * Arithmetic: $16.00 + $20.00 - $2,400.00 = -$2,364.00 Decomposition Sum: $13,158.48 + (-$11,952.00) + $0.00 + (-$2,364.00) = -$1,157.52 --- #### 3. Mismatched Accounts & Suggested Owners 1. C-0C8323BF * CRM ARR: $4,905.24 | Active Billing ARR: $0.00 | Variance: +$4,905.24 * Issue: Status mismatch (subscription SUB-000E is cancelled in Chargebee, but remains active ARR in CRM) * Suggested Owner: RevOps / Sales Ops (update CRM record to reflect cancellation/churn) 2. C-0DC4FB8C * CRM ARR: $8,253.24 | Active Billing ARR: $0.00 | Variance: +$8,253.24 * Issue: Status mismatch (subscription SUB-000F is cancelled in Chargebee, but remains active ARR in CRM) * Suggested Owner: RevOps / Sales Ops (update CRM record to reflect cancellation/churn) 3. C-0D5BBE3A * CRM ARR: $16,497.24 | Active Billing ARR: $0.00 | Variance: +$16,497.24 * Issue: Missing record in billing system (record exists in CRM with ARR but has no subscription in Chargebee) * Suggested Owner: Billing Ops / Finance (investigate contract and create subscription in Chargebee) 4. C-21629AA4 * CRM ARR: $0.00 | Active Billing ARR: $28,449.24 | Variance: -$28,449.24 * Issue: Missing record in CRM (subscription SUB-0004 is active in Chargebee but no company record exists in CRM) * Suggested Owner: Sales Ops / CRM Admin (create and map company record in CRM) 5. C-0D66DF9E * CRM ARR: $23,200.00 | Active Billing ARR: $23,184.00 | Variance: +$16.00 * Issue: Contract amount discrepancy ($16.00 difference between CRM ARR and Chargebee MRR x 12) * Suggested Owner: Deal Desk / Billing Ops (audit signed order form to align ARR) 6. C-14D70CE0 * CRM ARR: $18,200.00 | Active Billing ARR: $18,180.00 | Variance: +$20.00 * Issue: Contract amount discrepancy ($20.00 difference between CRM ARR and Chargebee MRR x 12) * Suggested Owner: Deal Desk / Billing Ops (audit signed order form to align ARR) 7. C-0F7269D7 * CRM ARR: $24,396.00 | Active Billing ARR: $26,796.00 | Variance: -$2,400.00 * Issue: Pricing discrepancy ($24,396.00 in CRM implies $2,033.00 MRR vs. $2,233.00 MRR billed in Chargebee) * Suggested Owner: Deal Desk / Revenue Operations (audit contract amendments and billing schedule) --- #### 4. Business Rule Violations Rule: Any subscription with term_months != 12 must have cf_agreement_end_date populated. Violations: 1. Subscription ID: SUB-0002 * Company Alias: C-1794A52C * term_months: 24 * cf_agreement_end_date: Missing (empty) 2. Subscription ID: SUB-0019 * Company Alias: C-22170CA1 * term_months: 36 * cf_agreement_end_date: Missing (empty)
### Core KVM Performance: 2026-08 vs. 2026-07 (N = 30 companies) | Core KVM | 2026-07 (Prior) | 2026-08 (Value) | Absolute Change | Relative Change | Direction | | :--- | :--- | :--- | :--- | :--- | :--- | | Giving Rate | 0.6023 | 0.6027 | +0.0004 | +0.07% | Up | | Redemptions Per User | 1.7300 | 1.7302 | +0.0002 | +0.01% | Up | | 1:1 Meetings Engagement | 0.4469 | 0.4472 | +0.0003 | +0.06% | Up | | Pulse Check Engagement | 0.6006 | 0.5086 | -0.0920 | -15.31% | Down | ### Analysis & Arithmetic Arithmetic (mean across 30 companies per month): - Giving Rate: 18.0814/30 (0.6027) - 18.0689/30 (0.6023) = +0.0004 (+0.07%) - Redemptions Per User: 51.9049/30 (1.7302) - 51.8995/30 (1.7300) = +0.0002 (+0.01%) - 1:1 Meetings Engagement: 13.4153/30 (0.4472) - 13.4066/30 (0.4469) = +0.0003 (+0.06%) - Pulse Check Engagement: 15.2583/30 (0.5086) - 18.0176/30 (0.6006) = -0.0920 (-15.31%) Largest Relative Move: The KVM with the largest relative move is pulse check engagement (-15.31%). Segment Driver: All companies belong to plan_tier `tier_three`, so plan tier does not explain variance. The move is entirely driven by size_band `enterprise` (10 companies), where pulse check engagement dropped -50.13% from 0.5500 to 0.2743 (absolute change: -0.2757). In contrast, `smb` moved -0.22% (0.6588 to 0.6573) and `mid_market` moved +0.21% (0.5930 to 0.5942).
### Weekly Rewards Report: Redemption Section Last completed month: August 2026 (2026-08) Date range covered: 2026-01-01 through 2026-08-31 --- #### 1. Overall Metrics * Total Redemptions: 378 * Total Spend: $27,846.00 * Unique Redeemers: 235 distinct user keys * Redemptions per Redeemer: 1.61 (378 / 235 = 1.6085) --- #### 2. Provider Mix (by Spend) * Arithmetic: * custom: $10,873.00 / $27,846.00 = 39.05% * Tremendous: $8,505.00 / $27,846.00 = 30.54% * Snappy: $5,238.00 / $27,846.00 = 18.81% * TangoCard: $3,230.00 / $27,846.00 = 11.60% * Total Share: 39.05% + 30.54% + 18.81% + 11.60% = 100.00% --- #### 3. Top Countries by Redemptions * 1. US: 244 redemptions ($18,547.00 spend) * 2. CA: 24 redemptions ($2,286.00 spend) * 3. AU: 21 redemptions ($1,606.00 spend) * 4. GB: 17 redemptions ($944.00 spend) [tied for 4th] * 4. NL: 17 redemptions ($1,122.00 spend) [tied for 4th]
### Documented Eligibility Rules To qualify for a churn-save offer, an account must satisfy all three criteria relative to the snapshot date of 2026-09-05: 1. Rule R1: `health_score` < 60 (at risk) 2. Rule R2: `churn_save_eligible_amount` > 0 3. Rule R3: `renewal_date` within 120 days of snapshot date (2026-09-05 to 2027-01-03) --- ### Qualified At-Risk Accounts 1. C-0F6C0F34 - Health Score: 51 (< 60) - Churn-Save Eligible Amount: $49,707.00 (> 0) - Renewal Date: 2026-10-03 (28 days from snapshot, within 120 days) - Recommended Play: Executive touch - Justifying Signal: `champion_active` is false (no active executive sponsor/champion engaged). 2. C-0B827671 - Health Score: 56 (< 60) - Churn-Save Eligible Amount: $25,365.00 (> 0) - Renewal Date: 2026-11-14 (70 days from snapshot, within 120 days) - Recommended Play: Usage revival - Justifying Signal: `usage_trend_3m` is declining over the last 3 months (seat utilization is 113 / 202 = 55.9%). 3. C-0B360C78 - Health Score: 57 (< 60) - Churn-Save Eligible Amount: $35,748.00 (> 0) - Renewal Date: 2026-10-28 (53 days from snapshot, within 120 days) - Recommended Play: Commercial concession - Justifying Signal: `usage_trend_3m` is growing, `champion_active` is true, and seat utilization is strong at 246 / 327 = 75.2% (risk is commercial/budget, not adoption). 4. C-0B0F1BAB - Health Score: 38 (< 60) - Churn-Save Eligible Amount: $5,494.00 (> 0) - Renewal Date: 2026-09-23 (18 days from snapshot, within 120 days) - Recommended Play: Executive touch - Justifying Signal: `champion_active` is false (no active executive sponsor/champion engaged). 5. C-0CA21961 - Health Score: 58 (< 60) - Churn-Save Eligible Amount: $16,829.00 (> 0) - Renewal Date: 2026-12-28 (114 days from snapshot, within 120 days) - Recommended Play: Usage revival - Justifying Signal: Low seat utilization at 84 / 325 = 25.8% (below 50%) with `usage_trend_3m` flat. 6. C-0E9C27D1 - Health Score: 39 (< 60) - Churn-Save Eligible Amount: $41,235.00 (> 0) - Renewal Date: 2026-09-24 (19 days from snapshot, within 120 days) - Recommended Play: Commercial concession - Justifying Signal: `usage_trend_3m` is flat, `champion_active` is true, and seat utilization is high at 134 / 157 = 85.4% (healthy adoption indicates risk is commercial). 7. C-0CEF69FD - Health Score: 53 (< 60) - Churn-Save Eligible Amount: $32,621.00 (> 0) - Renewal Date: 2026-11-21 (77 days from snapshot, within 120 days) - Recommended Play: Executive touch - Justifying Signal: `champion_active` is false (no active executive sponsor/champion engaged). 8. C-0D3278C7 - Health Score: 54 (< 60) - Churn-Save Eligible Amount: $17,602.00 (> 0) - Renewal Date: 2026-11-12 (68 days from snapshot, within 120 days) - Recommended Play: Usage revival - Justifying Signal: `usage_trend_3m` is declining over the last 3 months and seat utilization is low at 126 / 380 = 33.2%. --- ### Total Amount at Stake (Arithmetic) Total Churn-Save Eligible Amount at stake: $49,707.00 + $25,365.00 + $35,748.00 + $5,494.00 + $16,829.00 + $41,235.00 + $32,621.00 + $17,602.00 = $224,601.00 --- ### At-Risk Accounts That Do Not Qualify (Health Score < 60) 1. C-0BC71BDD - Health Score: 55 - Disqualification Reason: Fails Rule R2 (`churn_save_eligible_amount` is $0.00, not > 0). Renewal is in 52 days (2026-10-27). 2. C-0BA71F12 - Health Score: 52 - Disqualification Reason: Fails Rule R3 (`renewal_date` of 2027-04-11 is 218 days from snapshot, exceeding the 120-day limit). 3. C-0F6694C3 - Health Score: 43 - Disqualification Reason: Fails Rule R2 (`churn_save_eligible_amount` is $0.00, not > 0) and Rule R3 (`renewal_date` of 2027-03-21 is 197 days from snapshot, exceeding the 120-day limit). 4. C-0BE96399 - Health Score: 54 - Disqualification Reason: Fails Rule R2 (`churn_save_eligible_amount` is $0.00, not > 0). Renewal is in 54 days (2026-10-29). 5. C-0F876796 - Health Score: 47 - Disqualification Reason: Fails Rule R3 (`renewal_date` of 2027-02-06 is 154 days from snapshot, exceeding the 120-day limit). 6. C-0FCCD2DF - Health Score: 43 - Disqualification Reason: Fails Rule R2 (`churn_save_eligible_amount` is $0.00, not > 0) and Rule R3 (`renewal_date` of 2027-04-23 is 230 days from snapshot, exceeding the 120-day limit). 7. C-10A56B0F - Health Score: 54 - Disqualification Reason: Fails Rule R2 (`churn_save_eligible_amount` is $0.00, not > 0). Renewal is in 98 days (2026-12-12).
EXPANSION KIT: C-0DDFC9A7 1. Seat Coverage Arithmetic: 150 licensed seats / 400 headcount = 0.375 Seat Coverage: 37.5% 2. Usage Health - Monthly active users grew consecutively each month from 88 in March 2026 to 126 in August 2026 (+38 active users, +43.18% increase). - Active user utilization is currently at 84.0% of licensed capacity (126 active users / 150 licensed seats), leaving 24 unused licensed seats before hitting the plan ceiling. 3. Headroom in Seats and ARR - Current rate per seat: $9,000.00 current ARR / 150 licensed seats = $60.00 per seat/year - Seat headroom to full headcount: 400 headcount - 150 licensed seats = 250 seats - ARR headroom: 250 seats * $60.00 per seat = $15,000.00 ARR headroom (Total potential ARR at 400 seats: 400 * $60.00 = $24,000.00) 4. Respondent & Purchasing Authority - Respondent: Maria S., People Operations Coordinator - Purchasing Authority: No. She explicitly stated she is not the right person for purchasing decisions and does not hold budget authority. 5. Right Buyer From Contacts - Dana R., VP People (confirmed in expansion_contacts.csv; last engaged 2026-05-18; identified by Maria S. as holding budget and seat expansion authority). 6. Reply Email (77 words) Subject: Re: Growing your team's recognition program Hi Maria, Thanks so much for getting back to me, and it is wonderful to hear the team is enjoying Bonusly. Seeing your active users grow every month to 126 in August is fantastic. I would really appreciate an introduction to Dana R. whenever convenient for you. I would be glad to share a quick overview of those usage numbers with her to help with her planning, with zero pressure. Thanks again for your help, Cole
CSM Mid-Onboarding Call Prep: Company C-0D284E42 ================================================== 1. WHAT IS COMPLETE ================================================== - Slack Integration: COMPLETE Data field: integration_slack = 2026-08-12 - Allowance Set: COMPLETE Data field: allowance_set = 2026-08-13 - Admins Added: COMPLETE Data field: admins_added = 2 - First Recognition Given: COMPLETE Data field: first_recognition_at = 2026-08-15 14:22 ================================================== 2. WHAT IS NOT COMPLETE ================================================== - HRIS Integration: NOT COMPLETE Data field: integration_hris is empty/missing. - First Redemption: NOT COMPLETE Data field: first_redemption_at is empty/missing. ================================================== 3. EARLY ENGAGEMENT SIGNALS ================================================== Data source: onboarding_usage.csv (25 daily observations from 2026-08-11 to 2026-09-04). - Active Giver Growth: * Start (2026-08-11): 3 active givers * End (2026-09-04): 15 active givers * Absolute Change: 15 - 3 = 12 active givers * Percentage Growth: ((15 - 3) / 3) * 100 = (12 / 3) * 100 = 400.0% increase - Daily Average & Total Volume: * Total active giver observations: 3 + 3 + 4 + 4 + 5 + 4 + 7 + 5 + 7 + 6 + 9 + 8 + 9 + 9 + 9 + 11 + 10 + 10 + 11 + 13 + 11 + 13 + 13 + 15 + 15 = 214 * Total days recorded: 25 * Mean active givers per day: 214 / 25 = 8.56 - Weekly Progression (Arithmetic): * Week 1 (2026-08-11 to 2026-08-17, 7 days): (3 + 3 + 4 + 4 + 5 + 4 + 7) / 7 = 30 / 7 = 4.29 givers/day * Week 2 (2026-08-18 to 2026-08-24, 7 days): (5 + 7 + 6 + 9 + 8 + 9 + 9) / 7 = 53 / 7 = 7.57 givers/day * Week 3 (2026-08-25 to 2026-08-31, 7 days): (9 + 11 + 10 + 10 + 11 + 13 + 11) / 7 = 75 / 7 = 10.71 givers/day * Remaining Days (2026-09-01 to 2026-09-04, 4 days): (13 + 13 + 15 + 15) / 4 = 56 / 4 = 14.00 givers/day * Trend: Steady, uninterrupted upward trajectory each week. ================================================== 4. THREE THINGS TO COVER ON THE CALL ================================================== 1. Complete HRIS Integration: Review next steps to connect HRIS (integration_hris is currently empty/missing) to enable automated user management alongside the existing Slack integration (integration_slack = 2026-08-12). 2. Address First Redemption: Investigate and drive the first reward redemption (first_redemption_at is empty/missing), ensuring employees know how to redeem points accumulated since recognitions began on 2026-08-15 14:22. 3. Sustaining and Expanding Giver Engagement: Review adoption momentum (active givers rose from 3 on 2026-08-11 to 15 on 2026-09-04, a 400.0% increase) and confirm whether the 2 admins added (admins_added = 2) need additional admin seats or enablement resources to roll out across further departments.
### 90-Day Renewal Risk Brief **Data & Methodology Notes:** - **Missing Data:** Actual legal company names are not provided in the source files; `account_alias` is cited as the unique company identifier. No explicit calendar as-of date is provided; all 20 accounts fall within the upcoming 90-day renewal cycle (September 15, 2026 through November 24, 2026). - **System of Record & Discrepancy Rule:** Multi-year contracts are known to be inaccurate in ChurnZero (which frequently retains stale baseline dates or erroneous anniversary years). Therefore, Chargebee is trusted as the billing system of record for all multi-year contracts (`is_multi_year = true`). For standard 12-month annual contracts, both ChurnZero and Chargebee agree exactly. - **Risk Framework:** - **High Risk:** Severe seat underutilization (<50%) and/or steep 3-month active user contraction (>=10%). - **Medium Risk:** Sub-optimal seat utilization (<65%) and/or mild usage contraction. - **Low Risk:** Strong seat utilization (>=65%) accompanied by flat or growing 3-month usage. - **Total ARR at Risk:** High Risk ARR + Medium Risk ARR. --- ### Date Disagreements Flagged (5 Accounts) All 5 discrepancies occur on multi-year agreements where ChurnZero holds invalid dates: 1. **C-0B7D2C30**: ChurnZero = `2026-09-10` vs. Chargebee = `2026-09-15` (36-month term). **Date Used:** `2026-09-15` (Chargebee trusted; multi-year contract). 2. **C-0BCDB8C2**: ChurnZero = `2027-09-18` vs. Chargebee = `2026-09-18` (36-month term; ChurnZero erroneously rolled forward). **Date Used:** `2026-09-18` (Chargebee trusted; multi-year contract). 3. **C-0D2AB865**: ChurnZero = `2026-09-10` vs. Chargebee = `2026-09-22` (24-month term). **Date Used:** `2026-09-22` (Chargebee trusted; multi-year contract). 4. **C-0BBE3E60**: ChurnZero = `2027-09-26` vs. Chargebee = `2026-09-26` (24-month term; ChurnZero erroneously rolled forward). **Date Used:** `2026-09-26` (Chargebee trusted; multi-year contract). 5. **C-0F5D2323**: ChurnZero = `2026-09-10` vs. Chargebee = `2026-09-29` (24-month term). **Date Used:** `2026-09-29` (Chargebee trusted; multi-year contract). --- ### Account-by-Account Renewal Risk Assessment | Company (Alias) | CSM | ARR | Date Used | Seat Utilization | 3-Month Usage Trend (Jun → Jul → Aug 2026) | Risk Rating & Evidence | | :--- | :--- | :--- | :--- | :--- | :--- | :--- | | **C-0B7D2C30** | Dana Mercer | $65,901.00 | 2026-09-15 *(Disagreement: Trust Chargebee, 36mo multi-year)* | 274 / 476 = 57.6% | 97 → 94 → 84: (84 - 97) / 97 = -13.4% | **High Risk** — Active users declined by -13.4% over the last 3 months with mediocre 57.6% seat utilization. | | **C-0BCDB8C2** | Cole Ingram | $54,427.00 | 2026-09-18 *(Disagreement: Trust Chargebee, 36mo multi-year)* | 232 / 424 = 54.7% | 127 → 118 → 110: (110 - 127) / 127 = -13.4% | **High Risk** — Usage dropped -13.4% over the trailing quarter alongside low seat utilization of 54.7%. | | **C-0D2AB865** | Elena Sinclair | $38,022.00 | 2026-09-22 *(Disagreement: Trust Chargebee, 24mo multi-year)* | 250 / 407 = 61.4% | 125 → 117 → 109: (109 - 125) / 125 = -12.8% | **High Risk** — Active users fell -12.8% over the past 3 months despite moderate 61.4% seat utilization. | | **C-0BBE3E60** | Dana Mercer | $30,993.00 | 2026-09-26 *(Disagreement: Trust Chargebee, 24mo multi-year)* | 74 / 114 = 64.9% | 39 → 35 → 33: (33 - 39) / 39 = -15.4% | **High Risk** — Active usage deteriorated by -15.4% over the last 3 months. | | **C-0F5D2323** | Cole Ingram | $90,647.00 | 2026-09-29 *(Disagreement: Trust Chargebee, 24mo multi-year)* | 111 / 390 = 28.5% | 20 → 21 → 18: (18 - 20) / 20 = -10.0% | **High Risk** — Critical seat underutilization at 28.5% compounded by a -10.0% 3-month drop in active users. | | **C-0EC6999D** | Elena Sinclair | $79,419.00 | 2026-10-03 *(Agreed: 12mo annual)* | 31 / 112 = 27.7% | 17 → 16 → 15: (15 - 17) / 17 = -11.8% | **High Risk** — Severe underutilization at 27.7% and active user count declined -11.8% over 3 months. | | **C-0B20DB64** | Dana Mercer | $21,770.00 | 2026-10-07 *(Agreed: 12mo annual)* | 214 / 378 = 56.6% | 294 → 298 → 294: (294 - 294) / 294 = 0.0% | **Medium Risk** — Usage remained flat at 294, but seat utilization is low at 56.6%. | | **C-0BBC4E7A** | Cole Ingram | $56,374.00 | 2026-10-10 *(Agreed: 12mo annual)* | 228 / 337 = 67.7% | 142 → 141 → 139: (139 - 142) / 142 = -2.1% | **Medium Risk** — Seat utilization is fair at 67.7%, but 3-month usage slipped by -2.1%. | | **C-0FD551AB** | Elena Sinclair | $48,815.00 | 2026-10-14 *(Agreed: 12mo annual)* | 210 / 376 = 55.9% | 123 → 122 → 126: (126 - 123) / 123 = +2.4% | **Medium Risk** — Seat utilization is lagging at 55.9% despite a slight +2.4% uptick in active users. | | **C-0F9F8F13** | Dana Mercer | $46,230.00 | 2026-10-18 *(Agreed: 12mo annual)* | 199 / 352 = 56.5% | 185 → 185 → 182: (182 - 185) / 185 = -1.6% | **Medium Risk** — Sub-60% seat utilization (56.5%) combined with a mild -1.6% usage decline. | | **C-0BC34584** | Cole Ingram | $16,740.00 | 2026-10-22 *(Agreed: 12mo annual)* | 327 / 494 = 66.2% | 104 → 104 → 106: (106 - 104) / 104 = +1.9% | **Low Risk** — Healthy seat utilization of 66.2% backed by positive 3-month usage growth (+1.9%). | | **C-0B7A7546** | Elena Sinclair | $35,062.00 | 2026-10-25 *(Agreed: 12mo annual)* | 182 / 205 = 88.8% | 64 → 65 → 63: (63 - 64) / 64 = -1.6% | **Medium Risk** — Seat utilization is strong at 88.8%, but active users declined slightly by -1.6%. | | **C-0B369871** | Dana Mercer | $85,128.00 | 2026-10-29 *(Agreed: 12mo annual)* | 317 / 422 = 75.1% | 326 → 330 → 333: (333 - 326) / 326 = +2.1% | **Low Risk** — Solid 75.1% seat utilization with steady 3-month usage expansion (+2.1%). | | **C-0B144C78** | Cole Ingram | $30,899.00 | 2026-11-02 *(Agreed: 12mo annual)* | 169 / 224 = 75.4% | 101 → 101 → 106: (106 - 101) / 101 = +5.0% | **Low Risk** — Strong seat utilization (75.4%) and solid +5.0% user growth over 3 months. | | **C-0FC4DBB8** | Elena Sinclair | $94,732.00 | 2026-11-05 *(Agreed: 12mo annual)* | 356 / 464 = 76.7% | 189 → 191 → 193: (193 - 189) / 189 = +2.1% | **Low Risk** — Strong 76.7% seat utilization with consistent usage gains (+2.1%). | | **C-0D5BBE3A** | Dana Mercer | $39,740.00 | 2026-11-09 *(Agreed: 12mo annual)* | 85 / 102 = 83.3% | 88 → 90 → 91: (91 - 88) / 88 = +3.4% | **Low Risk** — High seat utilization (83.3%) paired with positive 3-month user growth (+3.4%). | | **C-0FB9D5AF** | Cole Ingram | $63,158.00 | 2026-11-13 *(Agreed: 12mo annual)* | 144 / 199 = 72.4% | 173 → 173 → 176: (176 - 173) / 173 = +1.7% | **Low Risk** — Well utilized at 72.4% with positive user momentum (+1.7%). | | **C-0B344485** | Elena Sinclair | $64,384.00 | 2026-11-16 *(Agreed: 12mo annual)* | 224 / 287 = 78.0% | 238 → 240 → 244: (244 - 238) / 238 = +2.5% | **Low Risk** — High seat adoption of 78.0% and steady user growth of +2.5% over 3 months. | | **C-0CB2C1B4** | Dana Mercer | $40,628.00 | 2026-11-20 *(Agreed: 12mo annual)* | 386 / 473 = 81.6% | 47 → 48 → 49: (49 - 47) / 47 = +4.3% | **Low Risk** — Strong 81.6% seat utilization with expanding 3-month usage (+4.3%). | | **C-22170CA1** | Cole Ingram | $45,646.00 | 2026-11-24 *(Agreed: 12mo annual)* | 251 / 294 = 85.4% | 143 → 148 → 146: (146 - 143) / 143 = +2.1% | **Low Risk** — Excellent seat adoption at 85.4% and net positive user growth (+2.1%). | --- ### Portfolio Totals & Arithmetic #### 1. Total ARR Renewing (All 20 Accounts) ``` $65,901.00 (C-0B7D2C30) + $54,427.00 (C-0BCDB8C2) + $38,022.00 (C-0D2AB865) + $30,993.00 (C-0BBE3E60) + $90,647.00 (C-0F5D2323) + $79,419.00 (C-0EC6999D) + $21,770.00 (C-0B20DB64) + $56,374.00 (C-0BBC4E7A) + $48,815.00 (C-0FD551AB) + $46,230.00 (C-0F9F8F13) + $16,740.00 (C-0BC34584) + $35,062.00 (C-0B7A7546) + $85,128.00 (C-0B369871) + $30,899.00 (C-0B144C78) + $94,732.00 (C-0FC4DBB8) + $39,740.00 (C-0D5BBE3A) + $63,158.00 (C-0FB9D5AF) + $64,384.00 (C-0B344485) + $40,628.00 (C-0CB2C1B4) + $45,646.00 (C-22170CA1) ───────────────────────── = $1,048,715.00 ``` #### 2. ARR at Risk Arithmetic - **High Risk ARR (6 Accounts):** `$65,901.00 + $54,427.00 + $38,022.00 + $30,993.00 + $90,647.00 + $79,419.00 = $359,409.00` - **Medium Risk ARR (5 Accounts):** `$21,770.00 + $56,374.00 + $48,815.00 + $46,230.00 + $35,062.00 = $208,251.00` - **Total ARR at Risk (High + Medium):** `$359,409.00 + $208,251.00 = $567,660.00` *(Low Risk ARR: $16,740.00 + $85,128.00 + $30,899.00 + $94,732.00 + $39,740.00 + $63,158.00 + $64,384.00 + $40,628.00 + $45,646.00 = $481,055.00)* --- ### Final Summary - **Total ARR Renewing:** **$1,048,715.00** - **ARR at Risk:** **$567,660.00** (54.1% of renewing pipeline; $359,409.00 High Risk + $208,251.00 Medium Risk)
### Support Ticket Themes Synthesis Total tickets analyzed: 80 Total distinct accounts: 24 Total unique ARR across accounts: $284,800.00 --- ### Broad Patterns (Multi-Account Issues) Ranked by ARR exposure (distinct account ARR affected): 1. **HRIS Provisioning & User Sync Failures** - Count: 12 - Share: 15.00% (12 / 80) - Distinct Accounts: 3 (C-0DDFC9A7, C-0B2213A9, C-0F6C0F34) - ARR Affected: $114,000.00 ($48,000.00 + $36,000.00 + $30,000.00) - Two Ticket IDs: IC-460059, IC-460062 - One-Line Recommendation: Audit background HRIS sync workers and error-handling logs to ensure new employee provisioning jobs execute reliably and surface silent sync failures. 2. **Reward Redemption & Gift Card Delivery Failures** - Count: 18 - Share: 22.50% (18 / 80) - Distinct Accounts: 7 (C-14264ABD, C-0B827671, C-0B0F1BAB, C-0FCCD2DF, C-0D9CA315, C-0CEF69FD, C-0F876796) - ARR Affected: $68,800.00 ($11,000.00 + $10,700.00 + $10,300.00 + $9,600.00 + $9,600.00 + $8,900.00 + $8,700.00) - Two Ticket IDs: IC-460025, IC-460030 - One-Line Recommendation: Implement idempotent transactions and retry queues with vendor APIs to eliminate checkout timeouts, deduction without fulfillment, and undelivered gift cards. 3. **Recognition Delivery & Points Balance Sync Delays** - Count: 20 - Share: 25.00% (20 / 80) - Distinct Accounts: 9 (C-0BF20542, C-0D0B047C, C-0D6CC8E3, C-0D3278C7, C-0D284E42, C-21FEBCBB, C-0B2895EF, C-0BE96399, C-0DD0626C) - ARR Affected: $31,100.00 ($4,500.00 + $4,500.00 + $4,200.00 + $3,500.00 + $3,400.00 + $2,900.00 + $2,900.00 + $2,700.00 + $2,500.00) - Two Ticket IDs: IC-460004, IC-460016 - One-Line Recommendation: Resolve asynchronous database queue delays and weekend batch processing lags that prevent sent recognitions from immediately crediting user point balances. 4. **Slack Integration Sync & Slash Command Errors** - Count: 14 - Share: 17.50% (14 / 80) - Distinct Accounts: 4 (C-10A56B0F, C-8C2E8F00, C-0B843542, C-0BA71F12) - ARR Affected: $18,900.00 ($5,400.00 + $5,200.00 + $4,400.00 + $3,900.00) - Two Ticket IDs: IC-460041, IC-460047 - One-Line Recommendation: Fix OAuth token refresh persistence and slash-command API endpoint availability to stop recurring Slack app disconnections and sync toggling. --- ### Single-Account Noise (Isolated Account Escalation) 5. **Billing Invoicing & Renewal Pricing Discrepancies** - Count: 16 - Share: 20.00% (16 / 80) - Distinct Accounts: 1 (C-0E9C27D1) - ARR Affected: $52,000.00 ($52,000.00) - Two Ticket IDs: IC-460071, IC-460069 - One-Line Recommendation: Assign a dedicated finance/billing specialist to immediately issue corrected invoices, align contract seat terms (150 vs. 200), and lock in correct renewal tier pricing for C-0E9C27D1.
Prospect: C-82AF3719 - Industry: Technology - Size Band: Mid-Market - Use Case: employee_recognition - Region: NA-West Eligible Customers with Public Case Studies (has_case_study = true): - C-FEFCC020: 0/4 matches (0.0%) - C-11209339: 0/4 matches (0.0%) - C-9D69D147: 2/4 matches (50.0%) [size_band, region] - C-11C31562: 3/4 matches (75.0%) [size_band, use_case, region] - C-CD4829A7: 2/4 matches (50.0%) [industry, size_band] - C-0CE315B2: 0/4 matches (0.0%) - C-64171065: 3/4 matches (75.0%) [industry, size_band, use_case] - C-A13C193D: 3/4 matches (75.0%) [industry, size_band, region] Top 3 Most Similar Customers: 1. C-64171065 - Match Score: 3/4 (75.0%) - Matching Fields: * industry: Technology * size_band: Mid-Market * use_case: employee_recognition - Differing Field: region (NA-East vs NA-West) 2. C-A13C193D - Match Score: 3/4 (75.0%) - Matching Fields: * industry: Technology * size_band: Mid-Market * region: NA-West - Differing Field: use_case (retention vs employee_recognition) 3. C-11C31562 - Match Score: 3/4 (75.0%) - Matching Fields: * size_band: Mid-Market * use_case: employee_recognition * region: NA-West - Differing Field: industry (Manufacturing vs Technology)
### DATA INTEGRITY FLAGS (SQO Date Precedes SQM Date) The following 2 contact records have an `sqo_date` that occurs before the `sqm_date`: 1. contact_key: CT-000041 | channel: linkedin_ads | sqm_date: 2026-06-14 | sqo_date: 2026-06-09 | pipeline_amount: $12,000 2. contact_key: CT-000044 | channel: linkedin_ads | sqm_date: 2026-07-23 | sqo_date: 2026-07-18 | pipeline_amount: $12,000 ### PAID CHANNEL PERFORMANCE (Trailing 6 Months: 2026-03 to 2026-08) 1. paid_search - Spend: $36,000 (6 months * $6,000) - SQMs: 40 - SQOs: 18 - Cost per SQM: $900.00 ($36,000 / 40) - Cost per SQO: $2,000.00 ($36,000 / 18) - SQM-to-SQO Rate: 45.00% (18 / 40) - Pipeline Amount: $720,000 - Pipeline per Dollar: $20.00 ($720,000 / $36,000) 2. linkedin_ads - Spend: $24,000 (6 months * $4,000) - SQMs: 25 - SQOs: 8 - Cost per SQM: $960.00 ($24,000 / 25) - Cost per SQO: $3,000.00 ($24,000 / 8) - SQM-to-SQO Rate: 32.00% (8 / 25) - Pipeline Amount: $96,000 - Pipeline per Dollar: $4.00 ($96,000 / $24,000) 3. paid_social - Spend: $18,000 (6 months * $3,000) - SQMs: 0 (Missing/no matching records in contacts_first_touch.csv) - SQOs: 0 - Cost per SQM: undefined ($18,000 spend with 0 SQMs) - Cost per SQO: undefined ($18,000 spend with 0 SQOs) - SQM-to-SQO Rate: undefined (0 SQMs) - Pipeline Amount: $0 - Pipeline per Dollar: $0.00 ($0 / $18,000) 4. webinars - Spend: $9,000 (6 months * $1,500) - SQMs: 12 - SQOs: 5 - Cost per SQM: $750.00 ($9,000 / 12) - Cost per SQO: $1,800.00 ($9,000 / 5) - SQM-to-SQO Rate: 41.67% (5 / 12) - Pipeline Amount: $60,000 - Pipeline per Dollar: $6.67 ($60,000 / $9,000) ### ORGANIC CHANNEL PERFORMANCE 1. organic_search - Volume: 30 - SQO Rate: 33.33% (10 SQOs / 30 volume) - Pipeline: $90,000 2. referral - Volume: 15 - SQO Rate: 40.00% (6 SQOs / 15 volume) - Pipeline: $48,000 ### REALLOCATION RECOMMENDATION & CONFIDENCE Reallocation Recommendation: 1. Immediately pause or audit paid_social spend ($3,000/month, $18,000 total) until UTM/CRM tracking is investigated, as it currently yields zero attributable SQMs, SQOs, or pipeline. 2. Reallocate budget to paid_search, which delivers the highest return at $20.00 pipeline per dollar, the lowest cost per SQO among primary paid acquisition channels ($2,000.00), and the highest conversion rate (45.00%). 3. Maintain or test modest expansion in webinars, which is efficient ($750.00 per SQM, $1,800.00 per SQO, $6.67 pipeline per dollar). 4. Reduce or restructure linkedin_ads ($4.00 pipeline per dollar, $3,000.00 per SQO) and investigate data integrity issues (2 contacts, CT-000041 and CT-000044, where SQO occurred prior to SQM). Confidence Level: MEDIUM. - Sample sizes are small to moderate across all channels (e.g., webinars n=12 SQMs / 5 SQOs; referral n=15 volume / 6 SQOs; linkedin_ads n=25 SQMs / 8 SQOs; paid_search n=40 SQMs / 18 SQOs). - A complete absence of contacts for paid_social points toward an attribution/tracking instrumentation gap rather than confirmed campaign failure. - LinkedIn data has stage timestamp sequencing anomalies that warrant audit before making permanent capital reallocations.
BATTLECARD: RIVALLY (UPDATED) ============================================================ 1. ONE-LINE POSITIONING ============================================================ Rivally positions as a points-based employee recognition platform for mid-market and distributed enterprise teams [S02, S04, S12, S16]. Old Battlecard Audit: - "Positioning: points-based recognition for mid-market": Verified via [S02, S04]. - "Rivally lacks a Slack integration": UNVERIFIED / CONTRADICTED. Refuted by [S04], which confirms the Slack integration worked out of the box. - "Rivally was acquired by WorkHuman in 2025": UNVERIFIED. No source in provided data supports this; Rivally announced an independent Series C round of $40M led by Northgate Ventures on 2025-11-04 [S01]. - "Strong in EU enterprise with multi-language support": Verified via [S12]. ============================================================ 2. PRICING WITH SOURCE AND DATE ============================================================ Winning Current List Price: - $7.00 per user/month, annual billing required for Recognition Starter tier (Source: pricing_page, 2026-08-12) [S17]. Pricing History and Conflicts: - 2026-01-20 (pricing_page): Listed at $5.00 per user/month, annual billing required [S03]. - 2026-04-01 (pricing_page): Listed at $5.00 per user/month for Recognition Starter tier [S08]. - 2026-06-02 (call_notes): Quoted $6.50 per user/month to a 500-seat prospect on an annual term [S13]. - 2026-08-12 (pricing_page): Updated to $7.00 per user/month, annual billing required [S17] (newer official source supersedes [S03] and [S08]). - 2026-08-14 (call_notes): Quoted $7.00 per user/month list, with a 15% discount offered for a 3-year term [S18]. - 2026-09-01 (press): "Rivally Pulse" add-on exits beta; priced separately as an add-on, not bundled [S23]. Note: specific add-on pricing data is missing from the provided records. Excluded Non-Factual Data: - Elena Sinclair's AE opinion on 2026-08-28 regarding aggressive discounting is excluded as unconfirmed rep opinion [S21]. ============================================================ 3. WHERE THEY WIN ============================================================ - Fast Deployment: Setup completed in under a week [S04]. - Native Collaboration Integrations: Slack integration functional out of the box [S04]; Microsoft Teams app v2 launched in public preview [S19]. - European Footprint and Compliance: Strong for distributed EU teams with praised multi-language support [S12]; EU data residency is generally available [S15] (pitched in [S05]). - Recognition Experience: Points-based recognition feed praised as engaging by users [S02, S16]. - Customer Support: Support response times praised as under 4 hours [S22]. ============================================================ 4. WHERE WE WIN ============================================================ - Reporting and Analytics Depth: Prospects cite analytics depth when selecting Bonusly over Rivally (e.g., 800-seat deal mention on 2026-09-03) [S25]. Rivally's analytics are limited [S02], reporting dashboards are basic compared to enterprise tools [S07], and data exports are CSV-only, complicating migration [S20]. - Enterprise User Management & Admin Tools: Rivally lacks SCIM provisioning, leading to painful manual user management [S10]; admin console lacks bulk recognition editing [S24]; overall admin tooling lags peers [S16]. - International Rewards Breadth: Rivally's rewards catalog in EMEA is thinner than its US catalog [S14]. Excluded Non-Factual Data: - Bryce Harmon's AE opinion on 2026-04-10 that Rivally's UI is "clunky" is excluded as unverified rep opinion [S09]. ============================================================ 5. OBJECTIONS AND RESPONSES ============================================================ Objection 1: "Rivally is cheaper at $5/user/month." Response: Rivally increased its Recognition Starter list price to $7.00 per user/month with required annual billing on 2026-08-12 [S17], up from its prior $5.00 rate [S03, S08]. Quotes range between $6.50 and $7.00 [S13, S18], and their survey tool (Rivally Pulse) is unbundled and requires an additional add-on fee [S23]. Objection 2: "Rivally is better suited for European teams with EU data residency." Response: While Rivally offers EU data residency [S15] and multi-language support [S12], its rewards catalog in EMEA is thinner than in the US [S14]. Furthermore, it lacks enterprise SCIM provisioning for user management [S10] and has CSV-only reporting exports [S20]. Objection 3: "Rivally offers faster onboarding and collaboration integrations." Response: While Rivally integrates with Slack [S04] and Teams [S19] with quick initial setup [S04], its admin console lacks bulk recognition editing [S24], its admin tooling lags peers [S16], and reporting dashboards remain basic [S07]. ============================================================ 6. RECENT CHANGES ============================================================ - 2025-11-04: Announced a $40M Series C funding round led by Northgate Ventures [S01]. - 2026-03-05: Launched "Rivally Pulse", a lightweight engagement survey add-on [S06]. - 2026-05-09: Hired ex-Workday VP EMEA to lead European expansion [S11]. - 2026-07-01: Opened Dublin office and announced general availability of EU data residency [S15]. - 2026-08-12: Updated pricing page, increasing Recognition Starter to $7 per user/month with annual billing [S17]. - 2026-08-20: Announced Microsoft Teams app v2 in public preview [S19]. - 2026-09-01: Rivally Pulse exited beta as a paid, unbundled add-on [S23]. ============================================================ 7. OUR 12-MONTH WIN/LOSS RECORD AGAINST RIVALLY ============================================================ Period: 2025-09 through 2026-08 (12 months) Source File: deals_with_competitor.csv Deals Breakdown: - 2025-09: Deal-7767F5 (loss), Deal-072E31 (win) - 2025-10: Deal-A9FD43 (win), Deal-F65C8F (win) - 2025-11: Deal-7AA785 (win), Deal-D263E0 (loss) - 2025-12: Deal-44C524 (win), Deal-935746 (loss) - 2026-01: Deal-0D0CD6 (win), Deal-E46EAB (win) - 2026-02: Deal-D5B790 (win), Deal-1D2392 (win) - 2026-03: Deal-5C636E (win), Deal-9066A6 (loss) - 2026-04: Deal-5645A5 (loss), Deal-72A02F (loss) - 2026-05: Deal-C6FFAA (loss) - 2026-06: Deal-67BE14 (win) - 2026-07: Deal-1B6969 (win) - 2026-08: Deal-F03E7B (win) Wins (13 deals): Deal-072E31, Deal-A9FD43, Deal-F65C8F, Deal-7AA785, Deal-44C524, Deal-0D0CD6, Deal-E46EAB, Deal-D5B790, Deal-1D2392, Deal-5C636E, Deal-67BE14, Deal-1B6969, Deal-F03E7B Losses (7 deals): Deal-7767F5, Deal-D263E0, Deal-935746, Deal-9066A6, Deal-5645A5, Deal-72A02F, Deal-C6FFAA Arithmetic: - Total Deals = 13 wins + 7 losses = 20 deals - Win Rate = 13 / 20 = 65.0% - Loss Rate = 7 / 20 = 35.0% Record: 13 wins - 7 losses (65.0% win rate across 20 deals) Note on Missing Deal Alias: Snippet S25 mentions a win against Rivally on 2026-09-03 for an 800-seat prospect [S25], but no deal alias is provided in the data and it falls outside the 2025-09 to 2026-08 12-month dataset, so it is not included in the 20-deal count above.
SEQUENCE PERFORMANCE: New Logo Nurture: - Sent: 1,386 (S1: 500, S2: 458, S3: 428) - Open Rate: 490/1,386 = 35.35% - Reply Rate: 90/1,386 = 6.49% (S1: 8.40%, S2: 6.55%, S3: 4.21%) - Meeting Rate: 27/1,386 = 1.95% - Weakest Step: Step 3 (open 28.04%, reply 4.21%, meeting 1.40%) Expansion Nurture: - Sent: 875 (S1: 300, S2: 300, S3: 275) - Open Rate: 565/875 = 64.57% - Reply Rate: 59/875 = 6.74% (S1: 7.33%, S2: 8.33%, S3: 4.36%) - Meeting Rate: 12/875 = 1.37% - Weakest Step: Step 3 (open 34.55%, reply 4.36%, meeting 1.09%) Cold Outbound - HR Leaders: - Sent: 1,785 (S1: 600, S2: 595, S3: 590) - Open Rate: 545/1,785 = 30.53% - Reply Rate: 8/1,785 = 0.45% (S1: 0.83%, S2: 0.34%, S3: 0.17%) - Meeting Rate: 0/1,785 = 0.00% - Weakest Step: Step 3 (reply 1/590 = 0.17%, 0 meetings) Cold Outbound - People Ops: - Sent: 1,163 (S1: 400, S2: 386, S3: 377) - Open Rate: 340/1,163 = 29.23% - Reply Rate: 29/1,163 = 2.49% (S1: 3.50%, S2: 2.33%, S3: 1.59%) - Meeting Rate: 6/1,163 = 0.52% - Weakest Step: Step 3 (open 21.22%, reply 1.59%, meeting 0.27%) TRACKING ERROR: Expansion Nurture Step 2: 340 opened / 300 sent (113.33%), opens exceed sent from duplicate tracking or bot pre-fetching. AUDIENCE OVERLAP (23 contacts): - Expansion Nurture & New Logo Nurture (2): CT-000301, CT-000624 - Cold Outbound - HR Leaders & Cold Outbound - People Ops (21): CT-000849, CT-000884, CT-000890, CT-000908, CT-001033, CT-001097, CT-001101, CT-001103, CT-001105, CT-001130, CT-001153, CT-001159, CT-001217, CT-001227, CT-001236, CT-001255, CT-001258, CT-001277, CT-001285, CT-001311, CT-001345 FAILURE MODES (<2% REPLY): - Cold Outbound - HR Leaders (0.45% total): Value mismatch. Solid opens (40% S1) with sub-1% replies and 0 meetings show ineffective copy/CTA. - Cold Outbound - People Ops Step 3 (1.59%): Follow-up fatigue without new value. RECOMMENDED CHANGES: - Cold Outbound - HR Leaders: Overhaul body copy with persona ROI proof points and low-friction CTA. - Cold Outbound - People Ops: Replace Step 3 follow-up with a tactical resource. - Fix First: Cold Outbound - HR Leaders (1,785 sent, 0 meetings).
WEEKLY MARKETING GOALS UPDATE (Q3-2026) Quarter Progress: Day 66 of 92 elapsed (66 / 92 = 71.74%) ============================================================ GOAL PERFORMANCE & PACING ============================================================ 1. SQMs (Sales Qualified Meetings) - QTD Actual: 230 - Target: 300 - Delta: 230 - 300 = -70 - Pace: Ahead Arithmetic: Expected pace = 300 * (66 / 92) = 215.22. Actual (230) > Expected (215.22); 76.67% of target achieved vs 71.74% quarter elapsed. 2. SQOs (Sales Qualified Opportunities) - QTD Actual: 84 - Target: 120 - Delta: 84 - 120 = -36 - Pace: Behind Arithmetic: Expected pace = 120 * (66 / 92) = 86.09. Actual (84) < Expected (86.09); 70.00% of target achieved vs 71.74% quarter elapsed. 3. DS2s - QTD Actual: 40 - Target: 75 - Delta: 40 - 75 = -35 - Pace: Behind Arithmetic: Expected pace = 75 * (66 / 92) = 53.80. Actual (40) < Expected (53.80); 53.33% of target achieved vs 71.74% quarter elapsed. 4. Closed-Lost MIA Rate - QTD Actual: 0.20 (20.00%) Arithmetic: closed_lost_mia / closed_lost_total = 5 / 25 = 0.20 - Target: 0.10 (10.00%, lower_better) - Delta: 0.20 - 0.10 = +0.10 (+10.00 percentage points) - Pace: Behind Arithmetic: Direction is lower_better; actual (20.00%) exceeds target ceiling (10.00%) by 10.00 percentage points. 5. Same-Quarter Close Count - QTD Actual: 10 - Target: 20 - Delta: 10 - 20 = -10 - Pace: Behind Arithmetic: Expected pace = 20 * (66 / 92) = 14.35. Actual (10) < Expected (14.35); 50.00% of target achieved vs 71.74% quarter elapsed. 6. Active Pipeline Coverage Against Target - QTD Actual: $3,000,000 - Target: $4,000,000 - Delta: $3,000,000 - $4,000,000 = -$1,000,000 - Pipeline Coverage: $3,000,000 / $4,000,000 = 0.75x (75.00%) - Pace: * Linear time pace: Ahead (Expected pacing = $4,000,000 * (66 / 92) = $2,869,565.22; actual $3,000,000 > $2,869,565.22, or 75.00% vs 71.74% quarter elapsed). * Absolute target coverage: Behind (75.00% coverage vs 100.00% full-quarter target, delta -$1,000,000). ============================================================ WHAT MOVED THIS WEEK ============================================================ Data on weekly movements is missing from the provided files. The dataset includes only cumulative QTD actuals (marketing_qtd.csv), target definitions (targets.csv), and quarter timing (quarter_meta.csv), with no prior-week snapshots, historical baselines, or weekly change logs provided. Consequently, specific week-over-week deltas or pipeline movements cannot be computed without inventing data.
Q3 weighted forecast stands at 115,976.75, derived from 44,729 across 7 COMMIT deals plus 35% of 203,565 across 24 BEST_CASE deals (44,729 + 71,247.75 = 115,976.75). However, all 7 in-quarter COMMIT deals lack documented why-buys (empty on 71 of 86 total pipeline deals), making the entire 44,729 committed baseline unverified. Additionally, 32 deals totaling 227,575 sit pushed into October, including one excluded COMMIT deal (Deal-D348E1, 13,770).
Missing data: Contact name, contact email, and company name are not provided in the dataset. Arithmetic: Total amount / seats: $5,100 / 150 seats = $34.00 per seat. Email word count: 48 words (< 120 words). Subject: Following up: 150-seat pricing recap for Deal-0D2F7A Hi team, Following up on my August 5 email recapping our July 28 demo and the $5,100 pricing for 150 seats. Do you have 15 minutes this week to discuss any questions on the proposal and next steps? Best, Alex Franklin
Marketing generated 46 SQMs against a target of 52, reaching 88.5% attainment (46 / 52 = 0.8846) with a 6-SQM shortfall (52 - 46 = 6). The webinar channel delivered strong engagement, contributing 18 of the 46 SQMs (18 / 46 = 39.13%), while paid search efficiency held steady at 150 dollars per SQM. Overall marketing spend and conversion rates from SQM to opportunity were not provided. Sales created 310000 dollars in new pipeline and locked in 3 same-quarter closes to fuel revenue momentum. The team advanced pipeline qualification by converting 14 SQOs and securing 9 DS2 meetings, yielding a DS2-to-SQO progression rate of 64.29% (9 / 14 = 0.6429). Pipeline targets, quota attainment, and average deal sizes were not provided. Customer Success lifted team NPS to 61 and protected baseline retention by saving 2 renewals. Heading into next week, the team has 3 open red-flag accounts prioritized for proactive intervention and support. Churn rate benchmarks, total portfolio size, and revenue figures associated with saved and red-flag accounts were not provided. PLG expanded top-of-funnel adoption with 412 new signups, achieving a 31% activation rate representing approximately 128 activated signups (412 * 0.31 = 127.72). Driving platform habit and culture impact, 38 companies reached the aha moment of 10 recognition gives, representing 9.22% of total signups (38 / 412 = 0.0922). Downstream conversion rates from activated signups to paid plans were not provided.
Partner Digest (2026-08-24 to 2026-09-04) Active Partners: Apex Rewards Co - Status: Active. Co-webinar locked for 09-15. - Sourced Pipeline: 2 deals, $275,000 - Arithmetic: $180,000 (Deal-DDAAF2) + $95,000 (Deal-2CF33E) = $275,000 - Deal Details: Both deals logged with UTM Source = Partner, currently in DS1. HRCloud Partners - Status: Active. Integration referral closed security review and moved to DS2. - Sourced Pipeline: 1 deal, $140,000 - Arithmetic: $140,000 (Deal-F1CDA5) = $140,000 - Deal Details: Deal-F1CDA5 logged with UTM Source = Partner, currently in DS2. CultureBridge - Status: Active. Lunch-and-learn produced two early-stage sourced opps. - Sourced Pipeline: 2 deals, $135,000 - Arithmetic: $60,000 (Deal-096E1D) + $75,000 (Deal-067213) = $135,000 - Deal Details: Deal-096E1D ($60,000) and Deal-067213 ($75,000), both logged with UTM Source = Partner. WorkWell Group - Status: Active. Planning call booked for 09-09 to restart joint playbook in Q4. - Sourced Pipeline: 0 deals, $0 - Arithmetic: $0 across 0 deals (no sourced deals this period). Quiet Partners: Recogniq: Quiet partner; no pipeline or activity recorded this period. KudosWave: Quiet partner; no pipeline or activity recorded this period. PeopleFirst Advisors: Quiet partner; no pipeline or activity recorded this period. TotalPerk: Quiet partner; no pipeline or activity recorded this period. Total Partner-Sourced Pipeline: - Total Deal Count: 2 + 1 + 2 + 0 = 5 deals - Total Amount Arithmetic: $180,000 + $95,000 + $140,000 + $60,000 + $75,000 = $550,000
Q1: Yes. All customer data is encrypted at rest using AES-256. [P1] Q2: Yes. Data in transit is encrypted with TLS 1.2 or higher. [P1] Q3: Yes. Bonusly maintains a SOC 2 Type II report, renewed annually, available to prospects under NDA. [P2] Q4: Customer data is retained for 90 days after the duration of the contract, after which it is deleted from production systems. [P3] Q5: The list is maintained at trust.bonusly.com. Customers receive 30 days notice before a new subprocessor is added. [P4] Q6: Yes. SAML 2.0 single sign-on is supported and available on the Enterprise plan. [P5] Q7: Production databases are backed up daily. Backups are encrypted and retained for 35 days. [P6] Q8: Unanswerable from the provided excerpts. Relevant document: ISO 27001 Certificate / Information Security Compliance Summary. Q9: Unanswerable from the provided excerpts. Relevant document: Service Level Agreement (SLA) / Master Services Agreement (MSA). Q10: Unanswerable from the provided excerpts. Relevant document: Business Associate Agreement (BAA) / HIPAA Compliance Addendum.
RECONCILIATION REPORT: SKILL SET vs. MANIFEST
================================================================================
(1) OVERLAPPING / DUPLICATE ALWAYS-TRIGGER PHRASES
================================================================================
Finding 1A: comms-drafter <-> email-drafter
- Severity: CRITICAL
- Action: MERGE
- Details: Five verbatim trigger phrases overlap directly between comms-drafter and email-drafter:
1. "write me an email"
2. "draft a follow-up"
3. "what should I say"
4. "bump email"
5. "contract nudge"
Both skills also trigger on pasting an existing message/email for feedback, review, or rating.
- Proposal: Merge email-drafter into comms-drafter as a unified external communications drafting skill, and deprecate email-drafter.
Finding 1B: weekly-pipeline-report <-> pipeline-intelligence-report
- Severity: WARNING
- Action: TRIM_DESC
- Details: Three pipeline status triggers overlap between weekly-pipeline-report and pipeline-intelligence-report:
1. "what's the pipeline look like" (pipeline-intelligence-report) vs. "what does pipeline look like" (weekly-pipeline-report)
2. "pipeline update" (pipeline-intelligence-report) vs. "run the pipeline update" / "update the pipeline" (weekly-pipeline-report)
3. "run the pipeline report" (pipeline-intelligence-report) vs. "do the pipeline report" / "generate the pipeline report" (weekly-pipeline-report)
- Proposal: Trim trigger descriptions in weekly-pipeline-report to restrict its scope strictly to demand generation pacing, business day cadence, and MTD/QTD SQM/SQO metrics, leaving macro pipeline health and scored tiering to pipeline-intelligence-report.
================================================================================
(2) CIRCULAR DELEGATION CHAIN
================================================================================
Finding 2: deal-strategy-coach <-> email-drafter
- Severity: WARNING
- Action: REVIEW
- Details: Circular delegation exists between deal-strategy-coach and email-drafter:
- deal-strategy-coach delegates drafting to email-drafter: "When drafting manager-to-prospect emails, use the email-drafter skill which automatically retrieves your Gmail signature..."
- email-drafter delegates diagnosis back to deal-strategy-coach: "If the user needs strategic deal coaching (stalled deal diagnosis, objection handling strategy, multithreading plans, forecast risk), point them to the deal-strategy-coach skill. If they need both strategy and a draft, do the draft here and suggest they use deal-strategy-coach for the deeper analysis."
(Note: pipeline-intelligence-report delegates to closed-lost-analysis via Mode 4, but that chain is strictly one-way.)
- Proposal: Break the circular dependency by allowing deal-strategy-coach to draft directly with signature extraction or enforcing a one-way handoff without reciprocal referral.
================================================================================
(3) DANGLING DELEGATION TARGETS (NON-EXISTENT SKILLS)
================================================================================
Finding 3: References to Unmanifested / Missing Skills
- Severity: CRITICAL
- Action: UPDATE_BODY
- Details: Multiple skills instruct delegation to target skills that do not exist in the manifest or file set:
1. bonusly-brand (referenced in comms-drafter, email-drafter, sales-forecast, and signalforge-claim-compressor)
2. prospect-research-multithreading (referenced in comms-drafter, deal-strategy-coach, and email-drafter)
3. skill-orchestrator (referenced in analysis-validator and signalforge-feedback)
4. signalforge-reports (referenced in pipeline-intelligence-report and weekly-pipeline-report)
5. Eight specialist skills in analysis-validator Section 12.4:
- bonusly-data-questions
- bonusly-product-questions
- bonusly-business-reporting-questions
- bonusly-rewards-questions
- bonusly-ppp-questions
- bonusly-feature-flag-questions
- bonusly-deal-desk-questions
- bonusly-datadog-questions
- Proposal: Update the bodies of referring skills to remove invalid skill invocations, substitute them with direct API/query instructions, or create the missing skill definitions in the repository.
================================================================================
(4) VERSION CONFLICT
================================================================================
Finding 4: analysis-validator (v3.5 vs. v3.6)
- Severity: WARNING
- Action: UPDATE_BODY
- Details: analysis-validator contains conflicting version declarations. The changelog lists both v3.5 and v3.6 released on the same date (May 9, 2026). The document header declares v3.6, the footer declares v3.6, but the Section 7 Validation Trail template hardcodes "Validator: analysis-validator v3.2".
- Surviving Skill: Version 3.6 survives, as it incorporates Gate 2-F (ID Resolution) while retaining Gate 1-L (Engagement Coverage Check) introduced in v3.5.
- Proposal: Update the Section 7 Validation Trail template string in analysis-validator from v3.2 to v3.6 to resolve the internal version discrepancy.
================================================================================
(5) MANIFEST DESCRIPTIONS EXCEEDING 1,024 CHARACTERS
================================================================================
Finding 5: Description Character Length Audit
- Severity: INFO
- Action: REVIEW
- Arithmetic:
Total manifest rows evaluated: 14
Length per declared skill:
- analysis-validator: 656 chars
- closed-lost-analysis: 897 chars
- comms-drafter: 996 chars
- deal-strategy-coach: 792 chars
- email-drafter: 965 chars
- model-selection: 676 chars
- next-to-close: 945 chars
- partner-digest: 1,004 chars
- pipeline-intelligence-report: 1,006 chars
- sales-forecast: 962 chars
- signalforge-claim-compressor: 1,006 chars
- signalforge-feedback: 708 chars
- stale-pipeline-report: 762 chars
- weekly-pipeline-report: 656 chars
Maximum description length = 1,006 characters (pipeline-intelligence-report, signalforge-claim-compressor).
Comparison: 1,006 <= 1,024.
Total manifest descriptions exceeding 1,024 characters: 0 (zero).
- Proposal: Maintain current descriptions as all 14 manifest entries are compliant with the 1,024-character threshold.
================================================================================
(6) HARDCODED PAGE IDS, DATES, AND PERSON NAMES
================================================================================
Finding 6: Embedded Hardcoded Identifiers Across Skill Bodies
- Severity: WARNING
- Action: UPDATE_BODY
- Details:
1. Confluence / Cloud / External IDs:
- Cloud ID: 73fe98de-a4a3-4869-9f8a-bb1eeed4cf7f (partner-digest, sales-forecast, signalforge-feedback)
- Space IDs: 1958248479 (partner-digest), 2232811524 (sales-forecast, signalforge-feedback)
- Page & Folder IDs: 2286616609, 2286321666, 2265382925, 2236940297, 2237825028, 2239365136, 2238283777 (partner-digest); 2257879045 (deal-strategy-coach); 2232582148 (sales-forecast); 2295136266, 2234417154, 2247295002 (signalforge-feedback)
- Google Sheet IDs: 1CLZeOsElVDF_LF0ZG_t2nfwvhnZ6bpwqM_nX3WEYzcw, 1ENuaEcCuLjdKhMvp8FK3Ys1ek5Aw9ZuOZhsHJJFoB_k (weekly-pipeline-report)
- HubSpot Portal ID: 1973303 (pipeline-intelligence-report, next-to-close, stale-pipeline-report)
- Slack IDs: Channel C0561C1JCPJ (stale-pipeline-report), User <@U03QLMBL7AR> (partner-digest)
- HubSpot Stage IDs: 150582536 (DS1), 150582537 (DS2), 150582538 (DS3), 150582539 (DS4), 1175632767 (DS5) (analysis-validator, deal-strategy-coach, next-to-close, pipeline-intelligence-report, stale-pipeline-report, weekly-pipeline-report)
2. Dates & Historical Snapshots:
- Static dates: March 28, 2023; May 4, 2026; May 9, 2026; May 16, 2026; May 19, 2026; April 26, 2026; April 27, 2026; 2026-06-10; Q1 2026; Q2 2026 (April 1 - June 30, 2026)
- Static benchmarks & actuals: Q1 2026 actuals ($365,152 vs $475,000; $2,490,532 vs $3,288,000 in weekly-pipeline-report); Pricing - 2026 matrix (deal-strategy-coach); population anchors ~452K / ~110,097 (analysis-validator)
3. Person Names & Roster IDs:
- Core AEs: Bryce Harmon (119337721), Hugo Lindqvist (77260721), Dana Mercer (83155923), Alex Franklin (84342457), Cole Ingram (83155924), Gavin Porter (1520255671) (analysis-validator, pipeline-intelligence-report)
- CSMs: Colleen Perry (77938470), Ellie Barton (79580306), Ashley Reyer (81969994), Megan Franz (321546903), Elena Sinclair (701163055), Youssef Elkhateeb (725397794), Amanda Czenkus (1556884388) (analysis-validator)
- Leadership & Ops: Alaina Loori (82535637), Shealagh Coughlin (119069206), Ben Castelli (348210196), Amani Phipps (210200121), John Thomas (78303262), Yasmin Wahid (89062643), Manish, Ben Lavin, Farid, Perseus, Elena (analysis-validator, sales-forecast, weekly-pipeline-report, deal-strategy-coach)
- External Partner Reps: Kelli, Jen Lee, Hani, Bryce, Sara (partner-digest)
- Proposal: Update skill bodies to dynamically resolve rosters, dates, and page targets via live API queries (e.g., HubSpot owner search, relative date calculations), moving static constants into dedicated configuration tables.
================================================================================
(7) MANIFEST DRIFT IN BOTH DIRECTIONS
================================================================================
Finding 7: Manifest vs. File Set Parity
- Severity: INFO
- Action: REVIEW
- Arithmetic:
- Total files in manifest: 14
- Total .SKILL.md files provided: 14
- Files with no manifest row: 14 - 14 = 0 (none)
- Manifest rows with no file: 14 - 14 = 0 (none)
Parity check: Exactly 14 manifest entries match 14 files on disk (1:1 correspondence).
- Proposal: Maintain existing parity and enforce automated CI file-to-manifest validation checks on future repository updates.
INCIDENT RUNBOOK: #incident-2026-08-29-reward-queue Step 1 - Thread Trace: [M01] - Action Taken: Acknowledged PagerDuty alert for reward-worker queue depth > 10k; assumed Incident Commander (IC) role. - Executed By: Bryce Harmon - Verification: Not stated in thread (needs confirmation). - State Change: No. - Rollback: Not applicable. Step 2 - Thread Trace: [M02] - Exact Command / Action Taken: bundle exec rake sidekiq:queue_depth - Executed By: Farid Osman - Verification: Command output reported reward queue at 48,213 pending jobs (normal is under 500). - State Change: No (read-only). - Rollback: Not applicable. Step 3 - Thread Trace: [M03] - Action Taken: Checked Sidekiq dead set (exact command not specified in thread; needs confirmation). - Executed By: Farid Osman - Verification: Identified 112 jobs in dead set, all with Redis::TimeoutError from around 13:58. - State Change: No (read-only). - Rollback: Not applicable. Step 4 - Thread Trace: [M04] - Exact Command / Action Taken: bin/rails runner 'FeatureFlag.disable(:auto_recognition_enqueue)' - Executed By: Farid Osman - Verification: Not stated in message [M04] (needs confirmation; subsequent queue drop reported in [M07]). - State Change: Yes. - Rollback: bin/rails runner 'FeatureFlag.enable(:auto_recognition_enqueue)' Step 5 - Thread Trace: [M05] - Action Taken: Cleared out the dead set from the console (exact command not specified in thread; needs confirmation). - Executed By: Elena Sinclair - Verification: Not stated in thread (needs confirmation). - State Change: Yes. - Rollback: Not provided in thread (needs confirmation). Step 6 - Thread Trace: [M06] - Exact Command / Action Taken: kubectl scale deployment/reward-worker --replicas=6 - Executed By: Bryce Harmon - Verification: Not stated in message [M06] (needs confirmation; queue drain reported in [M07]). - State Change: Yes (scaled from 3 to 6 replicas). - Rollback: kubectl scale deployment/reward-worker --replicas=3 Step 7 - Thread Trace: [M07] - Action Taken: Checked queue depth and drain rate (exact command not specified in thread; needs confirmation). - Executed By: Farid Osman - Verification: Observed queue depth at 9,400 and falling at ~1,200/min. - State Change: No (read-only). - Rollback: Not applicable. Step 8 - Thread Trace: [M08] - Exact Command / Action Taken: bundle exec rake sidekiq:queue_depth (and checked Datadog error rate). - Executed By: Cole Ingram - Verification: bundle exec rake sidekiq:queue_depth returned 0; error rate in Datadog confirmed back to baseline. - State Change: No (read-only). - Rollback: Not applicable. Step 9 - Thread Trace: [M09] - Exact Command / Action Taken: bin/rails runner 'FeatureFlag.enable(:auto_recognition_enqueue)' - Executed By: Bryce Harmon - Verification: Verified 40 new jobs processed cleanly in the next 3 minutes. - State Change: Yes. - Rollback: bin/rails runner 'FeatureFlag.disable(:auto_recognition_enqueue)' (defined in [M04]; not explicitly stated in [M09], needs confirmation). Step 10 - Thread Trace: [M10] - Exact Command / Action Taken: kubectl scale deployment/reward-worker --replicas=3 - Executed By: Bryce Harmon - Verification: Queue confirmed stable at 0; incident resolved. - State Change: Yes (scaled from 6 to 3 replicas). - Rollback: kubectl scale deployment/reward-worker --replicas=6 (not explicitly stated in [M10], needs confirmation).
FIRST ERROR WITH TIMESTAMP: - Timestamp: 2026-09-03T14:01:12Z - Service: reward-service - Log Level: ERROR - Message: Redis::TimeoutError: Connection to Redis at redis-primary:6379 timed out after 5s CASCADE SEQUENCE IN ORDER: 1. 2026-09-03T14:01:12Z (reward-service): Connection to Redis at redis-primary:6379 times out after 5s. 2. 2026-09-03T14:01:20Z to 14:01:40Z (reward-service): Retries exhausted for RewardGiveJob (logged at 14:01:20Z, 14:01:30Z, 14:01:40Z). 3. 2026-09-03T14:01:40Z to 14:02:28Z (sidekiq): Sidekiq reports RewardGiveJob failed due to Redis::TimeoutError and initiates retries. 4. 2026-09-03T14:02:30Z (sidekiq): Queue backlog builds up; sidekiq logs WARN "Queue reward depth above 10,000". 5. 2026-09-03T14:03:05Z (api-gateway): Upstream calls fail; api-gateway logs ERROR "502 upstream timeout calling reward-service /gives" (with recurring 502s logged at 14:03:48Z, 14:04:13Z, 14:05:16Z, and 14:06:52Z). 6. 2026-09-03T14:03:30Z (web-app): User-facing failures begin; web-app logs ERROR "Give form submission failed: upstream 502 from api-gateway" (with subsequent errors at 14:04:45Z, 14:05:42Z, and 14:06:49Z). 7. 2026-09-03T14:22:10Z (reward-service): Recovery begins; reward-service logs INFO "Redis connection restored; resuming job processing". 8. 2026-09-03T14:24:45Z (sidekiq): Backlog clears; sidekiq logs INFO "Queue reward depth below 500". SERVICES INVOLVED: - reward-service (originating failure, upstream timeout target) - sidekiq (background job runner, queue buildup) - api-gateway (proxy encountering upstream 502 timeouts) - web-app (client-facing application experiencing form submission failures) - Note: postgres logged INFO checkpoints (14:10:56Z to 14:20:59Z) without error; redis-primary:6379 is the targeted endpoint, but has no direct service logs in this dataset. JOBS INVOLVED: - RewardGiveJob (logged in datadog_logs.csv and sidekiq_jobs.csv: jobs J-00001 through J-00012) - RecognitionDigestJob (logged in sidekiq_jobs.csv: jobs J-00013 through J-00016) ARITHMETIC: - Outage duration (first error to Redis connection restored): 14:22:10Z - 14:01:12Z = 20 minutes, 58 seconds (1,258 seconds). - Time from first error to queue recovery (<500 depth): 14:24:45Z - 14:01:12Z = 23 minutes, 33 seconds (1,413 seconds). - Time from first error to first api-gateway 502 timeout: 14:03:05Z - 14:01:12Z = 1 minute, 53 seconds (113 seconds). - Time from first error to first web-app form failure: 14:03:30Z - 14:01:12Z = 2 minutes, 18 seconds (138 seconds). - Failed jobs count in sidekiq_jobs.csv: 12 RewardGiveJob failures + 4 RecognitionDigestJob failures = 16 failed job records total. DATADOG QUERY TO CONFIRM THE FIRST ERROR: service:reward-service status:error "Redis::TimeoutError: Connection to Redis at redis-primary:6379 timed out after 5s" WHAT THE LOGS DO NOT SHOW: - Root cause of the Redis outage (no direct logs from redis-primary or infrastructure metrics showing why the 5s timeout occurred). - Customer/user identifiers, account names, deal records, or company aliases (none are provided in the dataset). - Total volume of end-user form submissions lost or impacted. - Whether the 16 failed Sidekiq jobs succeeded automatically after 14:22:10Z or were dead-lettered.
FEATURE FLAG STATUS SUMMARY 1. recognition_streaks_v2 - State: on - Targeting Rules: segment:beta_companies - Companies/Segments On: segment:beta_companies (company count: 42) - Company Count: 42 - Code Implementation: app/models/recognition.rb Controls recording streaks: executes StreakTracker.record(give) when enabled. 2. points_budget_guardrails - State: on - Targeting Rules: all_companies - Companies/Segments On: all_companies (company count: 220) - Company Count: 220 - Code Implementation: app/services/budget_service.rb Controls budget enforcement: executes BudgetService.new(company).enforce!(giver, points) when enabled. 3. slack_dm_nudges - State: on - Targeting Rules: segment:region_na - Companies/Segments On: segment:region_na (company count: 87) - Company Count: 87 - Code Implementation: app/jobs/nudge_job.rb Controls sending Slack nudges: returns unless enabled; executes SlackDm.send_nudge(user). 4. redeem_flow_redesign - State: off - Targeting Rules: targeted_list - Companies/Segments On: None (state is off; targeted_list has company count: 12) - Company Count: 12 - Code Implementation: app/controllers/redeem_controller.rb Controls redemption UI: renders RedeemV2Component.new(company) if enabled; renders RedeemV1Component.new(company) if disabled. 5. analytics_dashboard_v3 - State: on - Targeting Rules: segment:tier_three - Companies/Segments On: segment:tier_three (company count: 65) - Company Count: 65 - Code Implementation: app/controllers/analytics_controller.rb Controls dashboard initialization: sets @dashboard = AnalyticsV3.new(company) when enabled. 6. ms_teams_app_v2 - State: off - Targeting Rules: targeted_list - Companies/Segments On: None (state is off; targeted_list has company count: 9) - Company Count: 9 - Code Implementation: app/services/teams_installer.rb Controls app installation: executes TeamsAppV2.install(company) when enabled. 7. legacy_give_modal - State: off - Targeting Rules: segment:legacy_plan - Companies/Segments On: None (state is off; segment:legacy_plan has company count: 14) - Company Count: 14 - Code Implementation: Missing (no code reference in flag_code.md). 8. survey_boosters_q3 - State: on - Targeting Rules: segment:legacy_plan - Companies/Segments On: segment:legacy_plan (company count: 7) - Company Count: 7 - Code Implementation: Missing (no code reference in flag_code.md). 9. paused_offboard_cleanup - State: off - Targeting Rules: Missing / blank - Companies/Segments On: None (state is off; company count: 0) - Company Count: 0 - Code Implementation: Missing (no code reference in flag_code.md). EXCEPTIONS SUMMARY Flags with no code reference: - legacy_give_modal - survey_boosters_q3 - paused_offboard_cleanup Flags with no targets: - paused_offboard_cleanup (company count is 0; targeting_rules field is blank/empty). ARITHMETIC & TOTALS - Total flags in export: 9 - Flags with state 'on': 5 (recognition_streaks_v2, points_budget_guardrails, slack_dm_nudges, analytics_dashboard_v3, survey_boosters_q3) - Flags with state 'off': 4 (redeem_flow_redesign, ms_teams_app_v2, legacy_give_modal, paused_offboard_cleanup) - Sum of company counts for 'on' flags: 42 + 220 + 87 + 65 + 7 = 421 - Sum of company counts for 'off' flags: 12 + 9 + 14 + 0 = 35 - Total company count across all rows: 421 + 35 = 456
**NDA-1 — [PARTY A] and Bonusly** - **Classification:** GREEN (standard approval) - **Driving Clause:** "1. Mutual confidentiality. Each party may disclose Confidential Information to the other for the purpose of evaluating a business relationship." - **Reasoning:** Standard mutual agreement with standard carve-outs, Delaware governing law, a reasonable 2-year term with 3-year survival, and no restrictive covenants. **NDA-2 — [PARTY B] and Bonusly** - **Classification:** YELLOW (counsel review) - **Driving Clause:** "4. Non-solicitation: 'During the term of this Agreement and for eighteen (18) months thereafter, neither party shall solicit for employment or hire any employee of the other party with whom it came into contact under this Agreement.'" - **Reasoning:** Contains an embedded non-solicitation and no-hire covenant extending 18 months past termination that requires counsel review before approval. **NDA-3 — [PARTY C] and Bonusly** - **Classification:** RED (full legal review) - **Driving Clause:** "2. Non-compete: 'For a period of three (3) years following the Effective Date, Recipient shall not, directly or indirectly, engage in or provide services to any business that competes with Discloser's business.'" - **Reasoning:** Imposes a severe 3-year non-compete, lacks all standard confidentiality carve-outs, establishes one-way obligations with an unusually long 5-year term, and mandates foreign governing law and exclusive jurisdiction in the Republic of Ireland.