Mean 0.854 · 20/40 perfect tests · $0.36 total · each card: the question → the correct answer (gold) → this model's actual answer
Now I have all the correct data. Let me provide the final audit report: --- **STATE DEFINITIONS:** - **DS2+ deals**: Deals at stages DS2, DS3, DS4, or DS5 - **Non-compliant why_buys**: Empty, missing, or placeholder text (tbd, n/a, see notes) - **Substantive why_buys**: 15+ characters OR LONG(n) format (truncated but present) - **Regressed deal**: Earlier-stage timestamp occurs after a later-stage timestamp --- **RESULTS:** **1. DS2+ deals non-compliant on why_buys:** - **Overall**: 101/124 = **81.45%** **By Owner:** | Owner | Non-compliant | Total DS2+ | % | |-------|---------------|------------|----| | Bryce Harmon | 15 | 18 | 83.3% | | Dana Mercer | 18 | 22 | 81.8% | | Alex Franklin | 48 | 61 | 78.7% | | Cole Ingram | 19 | 22 | 86.4% | | Farid Osman | 1 | 1 | 100.0% | **2. Deals with no DS1 timestamp**: **1** (Deal-57FF13 at DS1) **3. Deals with regressed stage timestamps**: **0** --- **THREE PROCESS FIXES:** 1. **WHY_BUYS COMPLETION**: 81.45% of DS2+ deals lack substantive why_buys. Implement required field validation at DS2 entry with minimum 50-character prompt; enforce completion before allowing stage progression. 2. **AUTOMATED TIMESTAMP VALIDATION**: Add automated validation to prevent out-of-order stage timestamps. Create monitoring rule that alerts when t_ds1 > t_ds2, t_ds2 > t_ds3, etc. to catch data entry errors in real-time. 3. **MANUAL DS1 ENTRY AUDIT**: 1 deal (Deal-57FF13) lacks DS1 timestamp. Require reps complete DS1 entry within 24 hours of initial contact, with CRM validation blocking stage advancement without it.
The analysis is complete. Here are the results: **Number of deals resolved:** 156 (all deals have matching owners in the owners table) **Deals whose owner id has no match in the owners table:** None **Owner ids that map to archived/deactivated owners:** None of the open deals belong to archived owners (Gavin Porter and Hugo Lindqvist have no deals in this open pipeline) **Total pipeline amount per resolved owner:** | Owner Name | Owner ID | Pipeline Amount | |------------|----------|-----------------| | Bryce Harmon | 119337721 | $1,054,144.00 | | Alex Franklin | 84342457 | $624,310.00 | | Dana Mercer | 83155923 | $341,195.00 | | Cole Ingram | 83155924 | $288,161.43 | | Farid Osman | 716654662 | $4,134.00 | | Elena Sinclair | 701163055 | $2,100.00 | **Total pipeline: $2,314,044.43**
## Call-to-Deal Mapping Integrity Report **(a) Orphan rows: count = 32** These are gong rows whose deal_id has NO match in deals_open. Sample aliases: - Deal-1E2498 - Deal-60C2C2 - Deal-8FA85D - Deal-8FC3F9 - Deal-3B7945 **(b) Duplicate conversation keys: count = 0** No rows have `calls_90d > distinct_conversation_keys`. All calls are distinct. **(c) Share of DS3+ open deals with at least one logged call: 23/66 = 34.85%** Sample DS3+ deals with logged calls: - Deal-25F752 (DS4, 3 calls) - Deal-E53952 (DS4, 5 calls) - Deal-5408B0 (DS4, 8 calls) - Deal-D348E1 (DS5, 8 calls) - Deal-C26D20 (DS5, 4 calls) Sample DS3+ deals WITHOUT logged calls: - Deal-9AAE5F (DS4) - Deal-403845 (DS5) - Deal-6787C2 (DS4) - Deal-2465CE (DS5) - Deal-62D607 (DS4)
```sql
-- Query: First calendar month giving stats per customer company
-- Excludes deleted givers filter per business rule: "must NOT be applied to historical giving counts"
SELECT
c.PROPERTY_COMPANY_ID AS customer_company_id,
c.PROPERTY_COMPANY_NAME AS customer_company_name,
COUNT(DISTINCT g.ENGAGEMENT_ID) AS unique_givers,
COUNT(g.ENGAGEMENT_ID) AS recognition_count,
COUNT(r.REDEMPTION_ID) AS successful_redemption_count
FROM
-- V2_DAILY.OBJECTS_CONTACTS contains current, populated contact data
HUBSPOT_HUB_1973303.V2_DAILY.OBJECTS_CONTACTS c
JOIN
-- PRODUCTION.HUBSPOT.DEALS is STALE (last sync 2023-03) - use V2_DAILY
HUBSPOT_HUB_1973303.V2_DAILY.OBJECTS_DEALS d
ON c.PROPERTY_HS_OBJECT_ID = d.PROPERTY_HUBSPOT_OWNER_ID
AND d.PROPERTY_PIPELINE = 'default'
AND d.PROPERTY_HS_IS_CLOSED = TRUE
WHERE
-- Extract first calendar month as customer
DATE_TRUNC('month', d.PROPERTY_CLOSEDATE) = DATE_TRUNC('month',
MIN(d.PROPERTY_CLOSEDATE) OVER (PARTITION BY c.PROPERTY_COMPANY_ID)
)
JOIN
-- PRODUCTION.HUBSPOT.GONG_HUBSPOT_MAP_FAST is RETIRED - do not use
-- Using GONG_HUBSPOT_MAP for conversation-to-deal mapping
PRODUCTION.HUBSPOT.GONG_HUBSPOT_MAP gm
ON d.PROPERTY_HS_OBJECT_ID = gm.HS_DEAL_ID
JOIN
-- PRODUCTION.HUBSPOT.GONG_TRANSCRIPTS_AGG for transcript engagement data
PRODUCTION.HUBSPOT.GONG_TRANSCRIPTS_AGG g
ON gm.CONVERSATION_KEY = g.CONVERSATION_KEY
LEFT JOIN
-- PRODUCTION.DEPRECATED_RECOGNITION.REDEMPTION_RECORDS_V2 is documented source for redemptions
PRODUCTION.DEPRECATED_RECOGNITION.REDEMPTION_RECORDS_V2 r
ON g.CONVERSATION_KEY = r.CONVERSATION_KEY
AND r.STATE = 'succeeded'
GROUP BY
c.PROPERTY_COMPANY_ID,
c.PROPERTY_COMPANY_NAME;
```
## CRM Audit Report ### COMPLETENESS PERCENTAGES **Companies (34 total):** - industry: 34/34 = **100.0%** - employee_count: 25/34 = **73.5%** - hq_country: 28/34 = **82.4%** **Contacts (52 total):** - email: 52/52 = **100.0%** - title: 40/52 = **76.9%** - persona: 37/52 = **71.2%** **Deals data:** NOT PROVIDED — cannot audit owner, stage, amount, close date, why-buys completeness or calculate pipeline-at-stake. --- ### DUPLICATE COMPANY CLUSTERS | Domain | Aliases | Fields in Conflict | |--------|---------|-------------------| | acme-corp.com | C-0A092931, C-0A092932 | industry: 'Technology' vs 'tech'; emp: 500 vs 510; country: 'US' vs 'USA' | | globex.io | C-0A092933, C-0A092934 | industry: 'SaaS' vs 'Technology' | **Survivor recommendation:** - acme-corp.com → **C-0A092931** (master record) - globex.io → **C-0A092933** (master record) --- ### INVALID EMAILS | Contact | Company | Issue | |---------|---------|-------| | CT-0010 | C-66D1FC | user0@ (empty domain) | | CT-0011 | C-66D1FC | user1@other-domain.com (wrong domain) | | CT-0081 | C-92D97D | user1@ (empty domain) | | CT-0192 | C-425E2A | user2@ (empty domain) | --- ### DOMAIN MISMATCHES (email domain ≠ contact's domain field) | Contact | Company | Email | |---------|---------|-------| | CT-0010 | C-66D1FC | user0@ ≠ 66d1fc.com | | CT-0011 | C-66D1FC | user1@other-domain.com ≠ 66d1fc.com | | CT-0081 | C-92D97D | user1@ ≠ 92d17d.com | | CT-0192 | C-425E2A | user2@ ≠ 425e2a.com | --- ### CRM vs ENRICHMENT DISCREPANCIES | Company | Field | CRM | Enrichment | Recommendation | |---------|-------|-----|------------|----------------| | C-66D1FC | industry | 'tech' | 'Computer Software' | Use Enrichment | | C-EC3025 | industry | 'Technology' | 'Computer Software' | Use Enrichment | | C-44EA29 | industry | 'tech' | 'Computer Software' | Use Enrichment | | C-92D97D | industry | 'Technology' | 'Computer Software' | Use Enrichment | | C-D04904 | industry | 'Technology' | 'Computer Software' | Use Enrichment | | C-77A95A | industry | 'Technology' | 'Computer Software' | Use Enrichment | | C-AA8DDA | industry | 'Technology' | 'Computer Software' | Use Enrichment | | C-B25F40 | industry | 'Tech ' | 'Computer Software' | Use Enrichment | | C-B25F40 | emp | '50' | '120' | Use Enrichment | | C-60C75F | industry | 'tech' | 'Computer Software' | Use Enrichment | | C-425E2A | industry | 'Tech ' | 'Computer Software' | Use Enrichment | --- ### MISSING COMPANY FIELDS (available via enrichment) Companies missing fields that enrichment has data for: **Missing hq_country (4):** - C-2D1F1B: Enrichment blank (same) - C-D73B89: Enrichment blank (same) - C-EC3025: Enrichment has "United States" → FIX - C-EE9FFB: No enrichment row **Missing employee_count (9):** - C-EC3025: CRM blank, Enrichment has 400 → FIX - C-96039F: CRM blank, Enrichment has 400 → FIX - C-44EA29: CRM blank, Enrichment has 400 → FIX - C-D04904: CRM blank, Enrichment has 400 → FIX - C-B23205: CRM blank, Enrichment has 400 → FIX - C-60C75F: CRM blank, Enrichment has 400 → FIX - C-7BBDFA: CRM blank, Enrichment has 400 → FIX - C-50D386: CRM blank, Enrichment has 400 → FIX - C-93C8BF: No enrichment row **Missing hq_country (2 more):** - C-2C60E5: CRM blank, Enrichment has 340 emp + blank country → cannot fix - C-EE9FFB: No enrichment row --- ### TOP 10 FIXES BY PIPELINE AMOUNT AT STAKE **Cannot calculate - deals data not provided in the extract.** The files contain only companies.csv, contacts.csv, and zoominfo_enrichment.csv. No deals with owner, stage, amount, close date, or why-buys are present.
⚠ Stream stalled mid tool-call (execute_code); the action was not executed. Ask me to retry if you want to continue.Only Deal-5AD03E is a discrepancy. Now let me provide the final summary:
## Summary
**Category counts:**
- competitor: 27
- no decision: 22
- timing: 20
- other: 9
- pricing: 7
- product gap: 3
- champion left: 2
**Side split:**
- buyer: 12
- unknown: 78
**Discrepancies (where tag disagrees with reason): 1 deal**
- Deal-5AD03E: Tag says Competitor, but reason indicates pricing/budget issue ("Wanted more defined budget access")
**Two patterns most worth acting on:**
1. **Competitor**: 27 deals - Strong indication of competitive pressure; need to investigate which competitors are winning and why
2. **No decision**: 22 deals - Many deals stalled due to lack of engagement; opportunity to improve follow-up processes
⚠ Stream stalled mid tool-call (execute_code); the action was not executed. Ask me to retry if you want to continue.
⚠ Stream stalled mid tool-call (execute_code); the action was not executed. Ask me to retry if you want to continue.Deal-A5E80A has:
- meetings_30d=2
- last_email=2026-09-04
- last_call=2026-09-02
- stage=DS1
- forecast=COMMIT
The recency calculation: days since last_email = 11 (Sep 4), days since last_call = 13 (Sep 2). So recency = 0 (very recent).
For DS1 with COMMIT forecast:
- tier = 'WATCH'
- is_risky = True (because DS1 with COMMIT is unusual - COMMIT typically starts at DS4+)
The meetings_30d=2 is positive engagement, but the forecast (COMMIT) strongly disagrees with the stage (DS1). A COMMIT forecast at DS1 suggests the deal should be further along, but it's actually at the very early stage. This is correctly identified as RISKY.
However, I should reconsider: the RISKY condition should be that the forecast (COMMIT) expects more progress than the engagement indicates. At DS1 with only 2 meetings in 30 days and a COMMIT forecast expecting close, this is indeed a mismatch.
The output looks correct. Let me provide the final JSON:
```json
{
"tier_counts": {
"LOCK": 2,
"ACTION": 8,
"BUILD": 16,
"REVIVE": 0,
"WATCH": 101,
"RISKY": 1
},
"tier_examples": {
"LOCK": ["Deal-C26D20", "Deal-403845"],
"ACTION": ["Deal-D348E1", "Deal-547B2B", "Deal-B7EBD1"],
"BUILD": ["Deal-25F752", "Deal-E53952", "Deal-5408B0"],
"REVIVE": [],
"WATCH": ["Deal-6787C2", "Deal-499BF6", "Deal-2D1F1B"],
"RISKY": ["Deal-A5E80A"]
},
"risky_deals": ["Deal-A5E80A"],
"lock_violations": 0,
"pipeline_shape": "Pipeline shape: 128 deals totaling $2,102,664. Forecast distribution - COMMIT: $77,929, BEST_CASE: $365,146, PIPELINE: $1,659,589. Focus on 8+deals in ACTION tier for immediate follow-up."
}
```
Extracted CRM fields from transcripts.csv → /Users/amaniphipps/transcripts_output.json **TX-001 (Deal-CFE7F4)**: Prospect (VP People) wants automation of anniversary/birthday awards to replace manual spreadsheet tracking. $40k budget, timeline before November open enrollment. Evaluated Achievers before. Security review set for Sept 12. **TX-002 (Deal-70BB30)**: Head of Total Rewards ties recognition to 30%+ hourly turnover. CFO approved $25k pilot. Decision by end Sept, Workday integration critical. Pilot agreement to be routed to legal. No competitors mentioned. **TX-003 (Deal-530B50)**: People Ops Manager needs visibility across 12 retail locations. $0 budget autonomy for store managers. CEO (previous Bucketlist user) must approve. No rush until Q1. CEO call to be scheduled. **TX-004 (Deal-180D02)**: VP People consolidating 3 tools that don't integrate with HRIS. <$15k threshold for board approval. 6-8 week procurement cycle. IT Security concerned about 3-month review history. No next step agreed. **TX-005 (Deal-F8767A)**: HR Director wants service milestone automation + equity analytics. Night-shift engagement 20 points lower. $12k budget, January deadline. Mid-pilot with Nectar. Exec team skeptical due to past failure. October 2 exec presentation agreed. **TX-006 (Deal-EE195F)**: HR Manager wants to cut 5hrs/month admin on plaques. Time > budget concern. Q1 start. COO prefers in-house. One-page overview to be sent to COO this week.
Based on CRM data and Slack thread: **1. Deal-547B2B** - Amount: $11,200 - Why close: Redlines returned clean, signing page is out, VP People confirmed signing tomorrow (per Slack 2026-09-04) - What left: Signatures on signing page **2. Deal-403845** - Amount: $9,000 - Why close: Order form is with their finance team; Dana confirms it's moving fine (per Slack) - What left: Finance approval on order form **3. Deal-B7EBD1** - Amount: $9,000 - Why close: In DS5/COMMIT closing Sept 10; no issues mentioned in Slack for this deal - What left: Standard DS5 finalization (no Slack-specific blockers) Note: Deal-2465CE ($5,400, also Sept 10) is explicitly blocked per Slack (champion left company, procurement froze vendors) and should not be considered close-ready despite CRM showing COMMIT.
Analyzing the transcripts against the product docs: **TG-001, Deal-EC3025** - Quote: "We need SCIM user provisioning — our security team will not approve any tool that requires manual account management." - Classification: **Real gap** — Product docs state: "SCIM user provisioning... are NOT currently listed as supported capabilities" - Amount: NOT PROVIDED in data **TG-002, Deal-D0D6B5** - 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." - Classification: **Real gap** — Product docs state: "SCIM user provisioning and ADP Workforce Now integrations are NOT currently listed as supported capabilities" - Amount: NOT PROVIDED in data **TG-003, Deal-CFE7F4** - Quote: "I tried to build a custom report combining recognition frequency with turnover and couldn't — is that possible on our current plan?" - Classification: **Plan gate** — Product docs show "Custom report builder | — | — | yes" (Enterprise tier only), and Alex confirms: "The custom report builder sits on our Enterprise tier" - Amount: NOT PROVIDED in data **TG-004, Deal-84DBA6** - Quote: "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." - Classification: **Rollout/enablement issue** — Product docs confirm "Slack and Microsoft Teams integration | yes | yes | yes" (available); prospect explicitly cites lack of training - Amount: NOT PROVIDED in data **TG-005, Deal-36C33F** - No prospect-voice gap raised. Alex admits mobile app gap; prospect responds: "Good to know. The web version should be fine for our office staff for now." - Classification: N/A (prospect acknowledges, doesn't demand) --- **SUMMARY: TRUE PRODUCT GAPS** Deal-EC3025: Prospect requires SCIM user provisioning to satisfy security approval — not supported per documentation (TG-001). Deal-D0D6B5: Prospect requires ADP Workforce Now integration as dealbreaker — not supported per documentation (TG-002). Amounts are absent from the provided data. Replication rate: 2/5 prospect lines indicate real gaps requiring product investment.
The calculations are correct. The days values in my initial verification were wrong because I was checking different deals. Let me now provide the final, clean output: **Snapshot date: 2026-09-05** **Stale threshold: 2026-08-29 (any engagement before this date is >7 days old)** Here are the stale deals (no email, call, or meeting since 2026-08-29): **Bryce Harmon (13 stale deals, $626,243.00 total)** Deal-2D1F1B: DS1, $240,000.00, 81 days Deal-66D1FC: DS1, $99,000.00, 16 days Deal-950043: DS1, $70,000.00, 19 days Deal-B23205: DS1, $45,000.00, 16 days Deal-7BBDFA: DS3, $37,440.00, 46 days Deal-332637: DS2, $36,000.00, 9 days Deal-1BEEBF: DS1, $31,500.00, 19 days Deal-C5658B: DS1, $23,400.00, 16 days Deal-40522D: DS3, $21,000.00, 19 days Deal-F0EBBB: DS3, $11,400.00, 24 days Deal-E25A09: DS1, $6,000.00, 9 days Deal-C9C286: DS2, $5,502.00, 9 days Deal-012CB1: DS1, $1.00, 23 days **Dana Mercer (14 stale deals, $261,645.00 total)** Deal-44EA29: DS2, $60,000.00, 10 days Deal-E51FB7: DS2, $43,875.00, 12 days Deal-B42F46: DS1, $27,000.00, 19 days Deal-BA3DDC: DS3, $23,400.00, 15 days Deal-9DDE86: DS2, $20,000.00, 15 days Deal-215CCA: DS3, $18,900.00, 17 days Deal-5EED42: DS3, $16,250.00, 11 days Deal-57887A: DS2, $15,000.00, 8 days Deal-B7EBD1: DS5, $9,000.00, 16 days Deal-3974EB: DS4, $9,000.00, 8 days Deal-F40F04: DS2, $8,100.00, 15 days Deal-87DDD1: DS1, $5,000.00, 19 days Deal-F336B6: DS3, $4,200.00, 15 days Deal-0660B4: DS4, $1,920.00, 16 days **Alex Franklin (19 stale deals, $109,536.00 total)** Deal-CC08D1: DS1, $24,000.00, 16 days Deal-E73427: DS3, $18,000.00, 10 days Deal-885F45: DS2, $9,300.00, 12 days Deal-C2FF3C: DS1, $8,316.00, 10 days Deal-3EED2C: DS2, $7,200.00, n/a Deal-0D2F7A: DS3, $5,100.00, 12 days Deal-6C60D4: DS3, $4,800.00, 12 days Deal-13FEBD: DS2, $4,680.00, 12 days Deal-9D0060: DS3, $3,840.00, 12 days Deal-690476: DS2, $3,600.00, 18 days Deal-C6D97A: DS4, $3,240.00, 8 days Deal-EE195F: DS3, $3,120.00, 8 days Deal-278DEC: DS3, $2,700.00, 8 days Deal-635B8E: DS3, $2,600.00, 18 days Deal-6883F3: DS1, $2,400.00, 16 days Deal-4A13AD: DS3, $2,160.00, 26 days Deal-F67D31: DS2, $1,800.00, 8 days Deal-5FDCE4: DS3, $1,600.00, 12 days Deal-BA571A: DS4, $1,080.00, 18 days **Cole Ingram (18 stale deals, $252,905.03 total)** Deal-D04904: DS2, $58,529.25, 11 days Deal-B25F40: DS3, $40,000.00, 8 days Deal-813836: DS2, $32,175.00, 11 days Deal-1BA595: DS2, $31,750.00, 11 days Deal-CFE1E8: DS3, $18,000.00, 11 days Deal-CD47A6: DS2, $12,168.00, 11 days Deal-627646: DS3, $11,193.00, 11 days Deal-FF809F: DS2, $7,781.20, 11 days Deal-AF932D: DS2, $7,225.40, 11 days Deal-A71728: DS2, $6,947.50, 11 days Deal-8BC9F5: DS2, $5,616.00, 10 days Deal-175395: DS3, $4,779.88, 11 days Deal-481E24: DS3, $4,140.00, 10 days Deal-C7F9BF: DS2, $3,360.00, 11 days Deal-2F3A66: DS3, $3,334.80, 11 days Deal-342E96: DS2, $2,700.00, 24 days Deal-E568D5: DS3, $1,875.00, 11 days Deal-FD9F4E: DS5, $1,330.00, 10 days **Elena Sinclair (1 stale deals, $2,100.00 total)** Deal-57FF13: DS1, $2,100.00, n/a --- **Summary:** - Bryce Harmon: 13 stale deals, $626,243.00 total - Dana Mercer: 14 stale deals, $261,645.00 total - Alex Franklin: 19 stale deals, $109,536.00 total - Cole Ingram: 18 stale deals, $252,905.03 total - Elena Sinclair: 1 stale deals, $2,100.00 total
The data is being read correctly. Now let me produce the final formatted report: Based on my analysis of the data provided, here are the results for each sales rep: ## Activity Summary | Owner | Emails | Calls | Meetings | Total Activities | DS2 Deals (30d) | Activities/DS2 | Activity Mix | |-------|--------|-------|----------|------------------|-----------------|----------------|--------------| | Alex Franklin | 307 | 36 | 41 | 384 | 18 | 21.33 | 80.0% / 9.4% / 10.7% | | Bryce Harmon | 162 | 0 | 43 | 205 | 4 | 51.25 | 79.0% / 0.0% / 21.0% | | Cole Ingram | 96 | 14 | 1 | 111 | 2 | 55.50 | 86.5% / 12.6% / 0.9% | | Farid Osman | 38 | 0 | 34 | 72 | 1 | 72.00 | 52.8% / 0.0% / 47.2% | | Dana Mercer | 84 | 18 | 11 | 113 | 1 | 113.00 | 74.3% / 15.9% / 9.7% | | Elena Sinclair | 0 | 0 | 0 | 0 | 0 | N/A | N/A | ## Rankings by Efficiency (activities per DS2 entry, lowest = most efficient) 1. Alex Franklin: 21.33 activities/DS2 2. Bryce Harmon: 51.25 activities/DS2 3. Cole Ingram: 55.50 activities/DS2 4. Farid Osman: 72.00 activities/DS2 5. Dana Mercer: 113.00 activities/DS2 6. Elena Sinclair: N/A (no DS2 deals in period) ## Key Findings **Most efficient rep:** Alex Franklin (21.33 activities per DS2 entry) **Highest volume rep:** Alex Franklin (384 total activities) The most efficient rep and highest volume rep are the same person (Alex Franklin). **Key observations:** - Alex Franklin drives 6 DS2 deals (18 total) with the lowest activity-to-DS2 ratio - Bryce Harmon has no calls recorded but a high meeting-focused approach (21% meetings) - Farid Osman has the highest meeting percentage (47.2%) with no calls - Elena Sinclair had no activities in the period
All deals have engagement records. The engagements file appears to contain rolling 30-day activity counts per deal. Since the question asks for "activity volume by type in the last 30 days", and the engagements file provides exactly that (30-day rolling counts), I should sum all of them. Let me now provide the complete QTD scorecard: --- **QTD SCORECARD FOR ALEX FRANKLIN AS OF 2026-09-05** **BOOKINGS VS QUOTA** - QTD Bookings: $150,000 - Quota: $200,000 - Attainment: 75.0% **NEW VS EXPANSION SPLIT** - New: $113,500 (5 deals) - Expansion: $36,500 (3 deals) - Split: 75.7% New / 24.3% Expansion **ACTIVE PIPELINE BY STAGE** - DS1: $284,621 - DS2: $353,760 - DS3: $552,705 - DS4: $23,574 - DS5: $45,730 - Total: $1,260,390 **ROLLING 90-DAY DS2-TO-WON RATE** - Rate: 7.2% (8 won / 111 entered DS2 in last 90 days) **WIN/LOSS SUMMARY** - Wins: 9 - Losses: 27 - Top loss reason: Lost- Timing (1 year or more) (13 losses, 48.1% of total) **ACTIVITY VOLUME (LAST 30 DAYS)** - Emails: 807 - Calls: 112 - Meetings: 128 - Notes: 50 --- **COACHING OBSERVATIONS** 1. **Bookings at 75% of quota despite healthy activity volume**: At $150K on $200K QTD quota, the AE is 25% below target. However, activity metrics are strong (807 emails, 128 meetings in last 30 days), suggesting execution issues rather than lead quality problems. 2. **DS2-to-won rate of 7.2% is critically low**: Only 8 of 111 deals that entered DS2 in the rolling 90-day window closed won. The 27 total losses—with 48% attributed to "Lost- Timing (1 year or more)"—indicates prospects are self-filtering due to longer sales cycles, requiring earlier engagement of economic buyers. 3. **Pipeline concentration in DS3 despite low win rate**: DS3 holds the largest pipeline ($552,705, 44% of total) but historically converts at poor rates (DS2-to-won is 7.2%). With $1.26M in active pipeline but only 9 total wins, focus should shift to accelerating deals through DS3→DS4/DS5 rather than maintaining volume.
Now I need the deal amounts and stages. Let me check if there's another file or if I need to query this data. Looking at the data provided, I don't see any file containing deal amounts and stages. The two CSV files only contain deal-contact relationships. Let me verify this is the complete dataset and report accordingly. **Analysis Complete** I found **12 flagged deals** (single-threaded or under-threaded), but I cannot provide the amount and stage information as that data is **missing** from the provided files. The files only contain: - `deal_contacts.csv`: Deal-contact-persona relationships with engagement dates - `unengaged_contacts.csv`: Unengaged contact information by company Here are the flagged deals with the analysis I can perform: | Deal Alias | Active Count | Personas Present | Personas Missing | Most Valuable to Add | On-File Unengaged | |------------|--------------|------------------|------------------|---------------------|-------------------| | Deal-EC3025 | 1 | champion | economic buyer, HR admin, IT security, finance | economic buyer | Chief People Officer (economic buyer) | | Deal-92D97D | 1 | HR admin | economic buyer, champion, IT security, finance | economic buyer | none on file | | Deal-50D386 | 2 | HR admin, champion | economic buyer, IT security, finance | economic buyer | Chief People Officer (economic buyer) | | Deal-D0D6B5 | 3 | champion (all same persona) | economic buyer, HR admin, IT security, finance | economic buyer | Chief People Officer (economic buyer) | | Deal-5BFE3B | 2 | champion (both same persona) | economic buyer, HR admin, IT security, finance | economic buyer | none on file | | Deal-36C33F | 1 | IT security | economic buyer, champion, HR admin, finance | economic buyer | Chief People Officer (economic buyer) | | Deal-885F45 | 2 | champion, economic buyer | HR admin, IT security, finance | finance | IT Security Lead (IT security) | | Deal-FCBE5B | 1 | champion | economic buyer, HR admin, IT security, finance | economic buyer | none on file | | Deal-5408B0 | 2 | HR admin, champion | economic buyer, IT security, finance | economic buyer | Chief People Officer (economic buyer) | | Deal-C6D97A | 3 | champion (all same persona) | economic buyer, HR admin, IT security, finance | economic buyer | none on file | | Deal-F9A08A | 1 | champion | economic buyer, HR admin, IT security, finance | economic buyer | Chief People Officer (economic buyer) | **Missing data**: Deal amounts and stages are not present in the provided CSV files.
From the rep's last 10 calls analysis:
**What they lead with in the first five minutes:**
- Calls TT-001, TT-002, TT-003, TT-005, TT-006, TT-008, TT-010: "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."
- Call TT-004: "I put together a short agenda — security review first, then pricing."
- Call TT-009: "You asked for straight pricing last time, so let's start there."
**How they handle the three most common objections:**
1. "Budget is locked until next fiscal year — I can't add a new line item right now." (TT-001, TT-003, TT-006, TT-010)
Response: "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."
2. "We already do recognition with a spreadsheet and quarterly gift cards — why would we change?" (TT-004, TT-007, TT-009)
Response: "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. "This is good, but can we revisit it next quarter? Open enrollment starts in October and we're underwater." (TT-002, TT-005, TT-008)
Response: "Makes sense. What if we scope a 90-day pilot with one department so you have internal data before next quarter's planning?"
**Next step agreement rate:** 8/10 = 80%
- Agreed: TT-001 ("Yes, Thursday at 2pm works — send the invite and I'll bring our HRIS manager."), TT-002, TT-003, TT-005, TT-006, TT-008, TT-009, TT-010
- Not agreed: TT-004 (prospect: "We need to see what the budget committee says before anything moves."), TT-007 (prospect: "I need to think about it — there's no urgency on our side.")
**Competitors a prospect raised:**
- Awardco (TT-003)
- Workhuman (TT-005)
- Kudos (TT-007)
**Coaching notes:**
1. Lead with social proof (400-person retailer case study) in 7 out of 10 calls, but TT-009 started with pricing — consider whether deviation hurts momentum on this metric.
2. Three different objection responses are used effectively, but TT-011 prospect said "no urgency" and got no proposal — need a closing technique for objections without reciprocal action.
⚠ Stream stalled mid tool-call (execute_code); the action was not executed. Ask me to retry if you want to continue. ⚠ Stream stalled mid tool-call (execute_code); the action was not executed. Ask me to retry if you want to continue.## Q3 2026 Forecast ### Deals Inside Quarter (2026-07-01 to 2026-09-30) **COMMIT Total:** $65,359 Number of COMMIT deals: 6 - Deal-D348E1: $13,770 - Deal-547B2B: $11,200 - Deal-B7EBD1: $9,000 - Deal-403845: $9,000 - Deal-A2B47C: $6,360 - Deal-2465CE: $5,400 - Deal-499BF6: $1,249 Wait, I count 7 deals but the sum is for 6. Let me recount: $13,770 + $11,200 + $9,000 + $9,000 + $6,360 + $5,400 + $1,249 = $56,979 **BEST_CASE Total:** $123,177 Number of BEST_CASE deals: 17 Top 5 by amount: 1. Deal-2D7423: $38,935 2. Deal-25F752: $24,000 3. Deal-E53952: $19,656 4. Deal-5EED42: $16,250 5. Deal-FA32A0: $11,116 **Weighted Forecast:** $93,217 Calculation: COMMIT ($56,979) + 35% of BEST_CASE ($123,177 × 0.35 = $43,162) = $99,141 Wait, let me recalculate: $56,979 + $43,162 = $100,141 Actually, let me be more careful: - COMMIT: $13,770 + $11,200 + $9,000 + $9,000 + $6,360 + $5,400 + $1,249 = $56,979 - BEST_CASE: $38,935 + $24,000 + $19,656 + $16,250 + $11,116 + $10,800 + $9,890 + $9,720 + $7,200 + $3,840 + $3,780 + $3,600 + $3,240 + $3,150 + $3,120 + $3,060 + $2,916 = $130,457 - Weighted: $56,979 + (0.35 × $130,457) = $56,979 + $45,660 = $102,639 ### Deals Excluded (outside quarter 2026-10-01 to 2026-10-15) Number of excluded deals: 31 Total amount: $366,342.40 ### Top 5 BEST_CASE Deals (Inside Quarter) 1. Deal-2D7423: $38,935 (close 2026-09-30) 2. Deal-25F752: $24,000 (close 2026-09-25) 3. Deal-E53952: $19,656 (close 2026-09-30) 4. Deal-5EED42: $16,250 (close 2026-09-30) 5. Deal-FA32A0: $11,116 (close 2026-09-25) ## Data quality The extract contains 85 deals with no clear indication of pipeline value (only one deal has why_buys_chars data). The stage field shows some deals in DS1-DS5, but the forecast_category is the actual grouping used here. There are 31 deals outside the quarter totaling $366K+, representing 81% of the pipeline value, which suggests significant timing risk if close dates are unreliable. The data appears complete but lacks opportunity to verify stage progression or deal health indicators beyond forecast_category.
Based on the analysis of the plg_company_cohort_2023.csv file, here are the results: ## 2x2 Cohort Results | Segment | Cohort Size | Retained (active) | 24-Month Retention Rate | |---------|-------------|-------------------|------------------------| | Both signals (givers + redemption) | 47 | 31 | 66.0% | | Givers-only | 49 | 23 | 46.9% | | Redemption-only | 28 | 9 | 32.1% | | Neither signal | 94 | 38 | 40.4% | **Companies excluded from denominator: 0** - All 218 companies were included in the analysis. The entire file contains companies 25+ months old, and current_status = 'active' indicates retention at 24 months. ## Signal with Largest Retention Lift **GIVERS SIGNAL** with 17.7 percentage point lift - Givers signal present (both + givers-only): 31/96 = 56.2% retention - Givers signal absent (redemption-only + neither): 47/122 = 38.5% retention - **Lift: 56.2% - 38.5% = 17.7pp** Redemption signal lift: 10.7pp (53.3% vs 42.7%) ## What This Does and Does Not Prove **What it does prove:** - Within this 218-company cohort, companies with both activation signals (5+ givers AND 1+ redemptions in month 1) have the highest 24-month retention rate (66.0%) - The givers signal (5+ unique givers in month 1) shows a stronger positive association with retention than the redemption signal in this sample - Companies with only one signal or neither underperform those with both signals **What it does not prove:** - Causation: This is observational correlation, not proof that givers cause retention - Generalizability: Results apply only to this specific cohort of 218 companies from the extract - Optimal thresholds: The 5-user cutpoint may not be optimal for all segments - Why the relationship exists: The mechanism behind why giver-rich companies retain better is unexplained
Now let me prepare the final report with all the requested information: --- **ARR RECONCILIATION REPORT** As of 2026-09-05 **1. TOTALS** | Source | ARR Total | |--------|-----------| | Billing (MRR × 12, active only) | $604,739.28 | | CRM (hubspot_arr) | $603,581.76 | **2. VARIANCE: $1,157.52** **3. DECOMPOSITION** | Bucket | Amount | Details | |--------|--------|---------| | Missing records in CRM | +$28,449.24 | C-21629AA4 (Billing ARR = $28,449.24) | | Missing records in billing | -$16,497.24 | C-0D5BBE3A (CRM ARR = $16,497.24) | | Status mismatch | -$13,158.48 | C-0C8323BF, C-0DC4FB8C (cancelled in billing but active ARR in CRM) | | Rounding/other | +$2,364.00 | C-0D66DF9E (-$16), C-0F7269D7 (+$2,400), C-14D70CE0 (-$20) | **4. MISMATCHED ACCOUNTS WITH SUGGESTED OWNERS** | Account | Issue | Suggested Owner | |---------|-------|-----------------| | C-21629AA4 | Active in billing, missing from CRM | Revenue Ops - CRM data sync | | C-0D5BBE3A | In CRM, no billing record | Revenue Ops - investigate missing subscription | | C-0C8323BF | Cancelled in billing, still in CRM | Customer Success - subscription status sync | | C-0DC4FB8C | Cancelled in billing, still in CRM | Customer Success - subscription status sync | **5. TERM VIOLATIONS** Business rule: Subscriptions with term ≠ 12 months must have `cf_agreement_end_date` populated. | Company Alias | Subscription ID | Term | Violation | |---------------|-----------------|------|-----------| | C-1794A52C | SUB-0002 | 24 months | cf_agreement_end_date is NULL | | C-22170CA1 | SUB-0019 | 36 months | cf_agreement_end_date is NULL | **DECIMAL VERIFICATION:** +$28,449.24 - $16,497.24 - $13,158.48 + $2,364.00 = **+$1,157.52** ✓
**Core KVMs 2026-08 vs 2026-07** | KVM | July | Aug | Abs Δ | Rel Δ | Dir | |---|---|---|---|---|---| | giving_rate | 0.6023 | 0.6027 | +0.0004 | +0.07% | ↑ | | redemptions_per_user | 1.7300 | 1.7302 | +0.0002 | +0.01% | ↑ | | 1:1 meetings engagement | 0.4469 | 0.4472 | +0.0003 | +0.06% | ↑ | | pulse check engagement | 0.6006 | 0.5086 | -0.0920 | -15.31% | ↓ | **Largest relative move:** pulse_engagement (-50.13% relative change) driven by tier_three/enterprise segment.
**Redemption Summary (Last completed month: August 2026)** Redemption count: 36 Total spend: $2,781.00 Unique redeemers: 35 Redemptions per redeemer: 1.03 Provider mix (by spend): - custom: 38.0% - Snappy: 30.0% - TangoCard: 18.0% - Tremendous: 14.0% Sum of provider shares: 100.0% Top 5 countries by redemptions: - US: 21 - CA: 7 - GB: 2 - AU: 2 - CH: 1
## Churn-Save Eligibility Analysis ### Eligibility Rules Applied - R1: health_score < 60 - R2: churn_save_eligible_amount > 0 - R3: renewal_date within 120 days of 2026-09-05 (i.e., on or before 2026-12-04) ### Qualified Accounts for Churn-Save Offer | Account | At-Stake Amount | Play | Signal | |---------|-----------------|------|--------| | C-0F6C0F34 | $49,707 | executive touch | Large ARR ($86,741) with growing usage; needs strategic engagement | | C-0B827671 | $25,365 | usage revival | Declining usage trend, low utilization (113/202 seats = 56%) | | C-0B360C78 | $35,748 | executive touch | Growing usage with active champion; momentum to sustain | | C-0B0F1BAB | $5,494 | commercial concession | Flat usage, no champion, low health score (38); price/term negotiation likely | | C-0E9C27D1 | $41,235 | executive touch | High ARR ($75,093), flat usage; C-level engagement needed | | C-0CEF69FD | $32,621 | commercial concession | Growing usage but no active champion; needs budget/contract discussion | | C-0D3278C7 | $17,602 | usage revival | Declining usage, critically low utilization (126/380 seats = 33%) | **Total at-risk amount: $207,772** ### Non-Qualifying Accounts | Account | Reason | |---------|--------| | C-0CA21961 | Renewal date 2026-12-28 is beyond 120-day window (threshold 2026-12-04) | | C-0BC71BDD | churn_save_eligible_amount = $0.00 | | C-0BA71F12 | Renewal date 2027-04-11 is beyond 120-day window | | C-0F6694C3 | churn_save_eligible_amount = $0.00 | | C-0BE96399 | churn_save_eligible_amount = $0.00 | | C-0F876796 | Renewal date 2027-02-06 is beyond 120-day window | | C-0FCCD2DF | churn_save_eligible_amount = $0.00 | | C-10A56B0F | churn_save_eligible_amount = $0.00 | | C-8C2E8F00 | health_score 73 ≥ 60 (not at risk) | | C-0B843542 | health_score 63 ≥ 60 (not at risk) | | C-14264ABD | health_score 87 ≥ 60 (not at risk) | | C-0B2895EF | health_score 73 ≥ 60 (not at risk) | | C-0EE1203E | health_score 88 ≥ 60 (not at risk) | | C-0FC7A215 | health_score 62 ≥ 60 (not at risk) | | C-0D035262 | health_score 85 ≥ 60 (not at risk) | | C-0D6CC8E3 | health_score 77 ≥ 60 (not at risk) | | C-0B2213A9 | health_score 69 ≥ 60 (not at risk) | | C-0D0B047C | health_score 70 ≥ 60 (not at risk) | | C-21FEBCBB | health_score 65 ≥ 60 (not at risk) | | C-172EEFBC | health_score 75 ≥ 60 (not at risk) | | C-0C3848D2 | health_score 73 ≥ 60 (not at risk) | | C-0D890324 | health_score 81 ≥ 60 (not at risk) | | C-0AAA9434 | health_score 75 ≥ 60 (not at risk) | ### Summary 7 accounts qualify with $207,772 at stake. The play assignment follows: executive touch for high-ARR accounts needing strategic support, usage revival for declining/under-utilized accounts, and commercial concession for accounts with contract/budget issues.
## Expansion Kit: C-0DDFC9A7 ### Seat Coverage - Licensed seats: 150 - Headcount: 400 - Coverage: 37.5% (150/400) ### Usage Health (2 lines) 1. Users grew 44%: 88 (Mar) → 126 (Aug) 2. At 84% of licensed capacity: 126/150 seats used ### Headroom - Seats: 24 seats remaining (150 - 126) - ARR at current $60/seat/yr: $1,440 additional potential ### Who Replied - Maria S., People Operations Coordinator - Cannot buy (explicitly redirected to Dana) ### Right Buyer - Dana R., VP People (budget/seat expansion authority per Maria) ### Reply Email (62 words) ``` Hi Maria, Great to hear the recognition feed is active and users are climbing. We're seeing strong momentum with 126 active users in August alone—a 44% increase from March. You're right that Dana oversees expansion decisions. I'll reach out directly to discuss data she needs as usage continues to grow. Thanks for the introduction path—appreciate your partnership. Best, Cole ```
**CSM Prep: Mid-Onboarding Call for C-0D284E42** **What is complete (data field proves it):** - Integration Slack: connected (integration_slack: 2026-08-12) - Allowance set: yes (allowance_set: 2026-08-13) - Admins added: 2 admins added (admins_added: 2) - First recognition given: yes (first_recognition_at: 2026-08-15 14:22) **What is not complete:** - Integration HRIS: NOT connected (integration_hris: blank) - First redemption: NOT happened (first_redemption_at: blank) **Early engagement signals:** - Active givers: 3 → 15 (110% growth over 25 days) - 2026-08-11: 3 givers - 2026-09-04: 15 givers - Momentum: Up 12 net new givers from day 1 **Three things to cover on the call:** 1. HRIS integration is missing — schedule setup walk-through 2. First redemption hasn't occurred — discuss benefits tracking and encourage users to redeem 3. Celebrate engagement growth (3→15 givers) and reinforce continued participation
All 20 accounts are renewing within the 90-day window. Total ARR renewing: $1,048,715.00. ARR at risk (MEDIUM/HIGH): $359,409.00. Company: C-0B144C78 CSM: Cole Ingram ARR: $30,899.00 Date used: 2026-11-02 Seat utilization: 75% 12-month usage trend: +12% Risk rating: LOW Evidence: Healthy utilization at 75% and stable/increasing usage trend of 12% Company: C-0B20DB64 CSM: Dana Mercer ARR: $21,770.00 Date used: 2026-10-07 Seat utilization: 57% 12-month usage trend: 0% Risk rating: LOW Evidence: Healthy utilization at 57% and stable/increasing usage trend of 0% Company: C-0B344485 CSM: Elena Sinclair ARR: $64,384.00 Date used: 2026-11-16 Seat utilization: 78% 12-month usage trend: +13% Risk rating: LOW Evidence: Healthy utilization at 78% and stable/increasing usage trend of 13% Company: C-0B369871 CSM: Dana Mercer ARR: $85,128.00 Date used: 2026-10-29 Seat utilization: 75% 12-month usage trend: +12% Risk rating: LOW Evidence: Healthy utilization at 75% and stable/increasing usage trend of 12% Company: C-0B7A7546 CSM: Elena Sinclair ARR: $35,062.00 Date used: 2026-10-25 Seat utilization: 89% 12-month usage trend: +10% Risk rating: LOW Evidence: Healthy utilization at 89% and stable/increasing usage trend of 10% Company: C-0B7D2C30 CSM: Dana Mercer ARR: $65,901.00 Date used: 2026-09-15 Seat utilization: 58% 12-month usage trend: -39% Risk rating: MEDIUM Evidence: Seat utilization at 58% with declining usage trend of -39% FLAGGED DISAGREEMENT: ChurnZero=2026-09-10 vs Chargebee=2026-09-15; trust Chargebee (multi-year contract known wrong in ChurnZero) Company: C-0BBC4E7A CSM: Cole Ingram ARR: $56,374.00 Date used: 2026-10-10 Seat utilization: 68% 12-month usage trend: -1% Risk rating: LOW Evidence: Healthy utilization at 68% and stable/increasing usage trend of -1% Company: C-0BBE3E60 CSM: Dana Mercer ARR: $30,993.00 Date used: 2026-09-26 Seat utilization: 65% 12-month usage trend: -39% Risk rating: MEDIUM Evidence: Seat utilization at 65% with declining usage trend of -39% FLAGGED DISAGREEMENT: ChurnZero=2027-09-26 vs Chargebee=2026-09-26; trust Chargebee (multi-year contract known wrong in ChurnZero) Company: C-0BC34584 CSM: Cole Ingram ARR: $16,740.00 Date used: 2026-10-22 Seat utilization: 66% 12-month usage trend: +2% Risk rating: LOW Evidence: Healthy utilization at 66% and stable/increasing usage trend of 2% Company: C-0BCDB8C2 CSM: Cole Ingram ARR: $54,427.00 Date used: 2026-09-18 Seat utilization: 55% 12-month usage trend: -38% Risk rating: MEDIUM Evidence: Seat utilization at 55% with declining usage trend of -38% FLAGGED DISAGREEMENT: ChurnZero=2026-09-18 vs Chargebee=2026-09-18; dates match - use Chargebee Company: C-0CB2C1B4 CSM: Dana Mercer ARR: $40,628.00 Date used: 2026-11-20 Seat utilization: 82% 12-month usage trend: +9% Risk rating: LOW Evidence: Healthy utilization at 82% and stable/increasing usage trend of 9% Company: C-0D2AB865 CSM: Elena Sinclair ARR: $38,022.00 Date used: 2026-09-22 Seat utilization: 61% 12-month usage trend: -39% Risk rating: MEDIUM Evidence: Seat utilization at 61% with declining usage trend of -39% FLAGGED DISAGREEMENT: ChurnZero=2026-09-10 vs Chargebee=2026-09-22; trust Chargebee Company: C-0D5BBE3A CSM: Dana Mercer ARR: $39,740.00 Date used: 2026-11-09 Seat utilization: 83% 12-month usage trend: +15% Risk rating: LOW Evidence: Healthy utilization at 83% and stable/increasing usage trend of 15% Company: C-0EC6999D CSM: Elena Sinclair ARR: $79,419.00 Date used: 2026-10-03 Seat utilization: 28% 12-month usage trend: +12% Risk rating: MEDIUM Evidence: Low seat utilization at 28% with usage trend of 12% Company: C-0F5D2323 CSM: Cole Ingram ARR: $90,647.00 Date used: 2026-09-29 Seat utilization: 28% 12-month usage trend: 0% Risk rating: MEDIUM Evidence: Low seat utilization at 28% with usage trend of 0% FLAGGED DISAGREEMENT: ChurnZero=2026-09-10 vs Chargebee=2026-09-29; trust Chargebee (multi-year) Company: C-0F9F8F13 CSM: Dana Mercer ARR: $46,230.00 Date used: 2026-10-18 Seat utilization: 57% 12-month usage trend: +1% Risk rating: LOW Evidence: Healthy utilization at 57% and stable/increasing usage trend of 1% Company: C-0FB9D5AF CSM: Cole Ingram ARR: $63,158.00 Date used: 2026-11-13 Seat utilization: 72% 12-month usage trend: +13% Risk rating: LOW Evidence: Healthy utilization at 72% and stable/increasing usage trend of 13% Company: C-0FC4DBB8 CSM: Elena Sinclair ARR: $94,732.00 Date used: 2026-11-05 Seat utilization: 77% 12-month usage trend: +12% Risk rating: LOW Evidence: Healthy utilization at 77% and stable/increasing usage trend of 12% Company: C-0FD551AB CSM: Elena Sinclair ARR: $48,815.00 Date used: 2026-10-14 Seat utilization: 56% 12-month usage trend: 0% Risk rating: LOW Evidence: Healthy utilization at 56% and stable/increasing usage trend of 0% Company: C-22170CA1 CSM: Cole Ingram ARR: $45,646.00 Date used: 2026-11-24 Seat utilization: 85% 12-month usage trend: +11% Risk rating: LOW Evidence: Healthy utilization at 85% and stable/increasing usage trend of 11% ================================================================================ SUMMARY ================================================================================ Total ARR renewing: $1,048,715.00 ARR at risk (MEDIUM/HIGH): $359,409.00 Flagged date disagreements (4 accounts): - C-0B7D2C30: ChurnZero=2026-09-10, Chargebee=2026-09-15 - C-0BBE3E60: ChurnZero=2027-09-26, Chargebee=2026-09-26 - C-0D2AB865: ChurnZero=2026-09-10, Chargebee=2026-09-22 - C-0F5D2323: ChurnZero=2026-09-10, Chargebee=2026-09-29 Trust decision: Chargebee dates used for all 4 accounts (multi-year contract C-0B7D2C30, C-0BBE3E60, C-0D2AB865, C-0F5D2323 are explicitly noted as wrong in ChurnZero; remaining 3 have minor date variation best resolved to Chargebee as authoritative contract source). ARR at risk breakdown: - MEDIUM risk: $65,901 + $30,993 + $54,427 + $38,022 + $79,419 + $90,647 = $359,409.00 - HIGH risk: $0 - LOW risk: $593,306.00
I've analyzed all 80 tickets from the CSV. Let me synthesize them into themes, ranking by ARR exposure. **Theme 1 | Billing & Seat Count Discrepancies** - Count: 18 tickets - Share: 22.5% - Distinct accounts: 3 (C-0E9C27D1, C-0B2213A9, C-14264ABD) - ARR affected: $151,000 - Ticket IDs: IC-460071, IC-460069 - Recommendation: Audit tier-pricing engine and seat-count calculations for annual renewals; reconcile billing with licensed seat counts. **Theme 2 | HRIS Provisioning Failures** - Count: 10 tickets - Share: 12.5% - Distinct accounts: 3 (C-0B2213A9, C-0DDFC9A7, C-0F6C0F34) - ARR affected: $84,000 - Ticket IDs: IC-460059, IC-460062 - Recommendation: Fix HRIS sync workers to handle bulk new-hire provisioning; add idempotency to prevent duplicate retry loops. **Theme 3 | Slack Integration Breakdowns** - Count: 9 tickets - Share: 11.25% - Distinct accounts: 5 (C-0B843542, C-10A56B0F, C-0BA71F12) - ARR affected: $17,300 - Ticket IDs: IC-460041, IC-460047 - Recommendation: Stabilize Slack OAuth flow; persist integration tokens and add health-check monitor for disconnections. **Theme 4 | Gift Card Redemption Failures** - Count: 10 tickets - Share: 12.5% - Distinct accounts: 6 (C-0FCCD2DF, C-0F876796, C-14264ABD) - ARR affected: $30,600 - Ticket IDs: IC-460025, IC-460035 - Recommendation: Implement idempotency for gift card purchases; ensure failed orders do not deduct points; retry email delivery logic. **Theme 5 | Recognition Points Not Posting** - Count: 14 tickets - Share: 17.5% - Distinct accounts: 8 (C-0D3278C7, C-0BE96399, C-0D0B047C) - ARR affected: $21,500 - Ticket IDs: IC-460004, IC-460001 - Recommendation: Reconcile "delivered" status with points ledger; add end-to-end tracing for recognition pipeline. **Theme 6 | Checkout Redemption Spin/Failure** - Count: 5 tickets - Share: 6.25% - Distinct accounts: 3 (C-0CEF69FD, C-0B827671, C-14264ABD) - ARR affected: $26,600 - Ticket IDs: IC-460025, IC-460030 - Recommendation: Optimize checkout API; add timeout handling; display user-friendly error when payment processing hangs. **Theme 7 | Single-Account Noise: Points Balance Updates** - Count: 6 tickets - Share: 7.5% - Distinct accounts: 1 (C-0D6CC8E3) - ARR affected: $4,200 - Ticket IDs: IC-460008, IC-460019 - Recommendation: Add manual balance refresh option; investigate nightly sync jobs for this account specifically.
**Rank of Three Most Similar Existing Customers with Public Case Studies** **Prospect C-82AF3719:** Technology, Mid-Market, employee_recognition, NA-West --- **1. C-64171065** - **Industry:** Technology ✓ - **Size band:** Mid-Market ✓ - **Use case:** employee_recognition ✓ - **Region:** NA-East ✗ (differs) - **Has case study:** true ✓ - **Similarity score:** 6/6 (industry, size, use case, case study all match; only region differs) **2. C-11C31562** - **Industry:** Manufacturing ✗ - **Size band:** Mid-Market ✓ - **Use case:** employee_recognition ✓ - **Region:** NA-West ✓ - **Has case study:** true ✓ - **Similarity score:** 5/6 (same size, use case, region, case study; industry differs) **3. C-A13C193D** - **Industry:** Technology ✓ - **Size band:** Mid-Market ✓ - **Use case:** retention ✗ - **Region:** NA-West ✓ - **Has case study:** true ✓ - **Similarity score:** 5/6 (same industry, size, region, case study; use case differs) --- **No other customers** with case studies exist in the data that match more fields than these top three. All other case study customers either differ in industry (Education), size (Enterprise/SMB), use case, or region more significantly.
## Channel Performance - Trailing 6 Months (Mar-Aug 2026) ### Paid Channels | Channel | Spend | SQMs | SQOs | Cost/SQM | Cost/SQO | SQM-to-SQO % | Pipeline | Pipeline/$ | |---------|-------|------|------|----------|----------|--------------|----------|------------| | paid_search | $36,000 | 40 | 18 | $900.00 | $2,000.00 | 45.0% | $720,000 | $20.00 | | linkedin_ads | $24,000 | 25 | 8 | $960.00 | $3,000.00 | 32.0% | $96,000 | $4.00 | | paid_social | $18,000 | 0 | 0 | undefined | undefined | undefined | $0 | $0.00 | ### Organic Channels | Channel | Volume | SQMs | SQOs | SQO Rate % | Pipeline | Pipeline/$ | |---------|--------|------|------|------------|----------|------------| | organic_search | 30 | 30 | 10 | 33.3% | $90,000 | $0.00* | | referral | 15 | 15 | 6 | 40.0% | $48,000 | $0.00* | | webinars | 12 | 12 | 5 | 41.7% | $60,000 | $6.67 | *Zero spend for organic channels (no acquisition cost) ### Flagged Records (SQO date precedes SQM date) - **CT-000044** (linkedin_ads): SQM=2026-07-23, SQO=2026-07-18 - **CT-000041** (linkedin_ads): SQM=2026-06-14, SQO=2026-06-09 ### Reallocation Recommendation **PAID SOCIAL** should be paused or reassessed - $18,000 spend over 6 months with ZERO SQMs suggests either tracking gaps or ineffective channel performance. **Shift ~$6,000/month from paid_social to paid_search** - paid_search delivers $20 pipeline/$ (best ROI), 45% SQM-to-SQO conversion, and $900 cost per SQM. **Maintain organic channels** - organic_search ($900K pipeline), referral ($48K), and webinars ($60K) generate substantial pipeline at zero acquisition cost. Referral has the highest SQO rate (40%). **Confidence: MEDIUM** - paid_search has robust sample size (40 SQMs); linkedin_ads has moderate sample with 2 flagged records; paid_social tracking gap creates uncertainty; organic samples are small (12-30 contacts each). **Investigate the two flagged linkedin_ads contacts** where SQO dates incorrectly precede SQM dates (CT-000044, CT-000041).
Battlecard updated. Key changes:
1. **Pricing conflict resolved**: New source S17 (2026-08-12) shows $7/user/mo list price, overriding older $5 sources. Quote variance noted.
2. **Slack integration error corrected**: Old card claimed "lacks Slack integration" is contradicted by S04 ("Slack integration worked out of the box").
3. **Acquisition unverified**: Old card stated "acquired by WorkHuman in 2025" but no snippet supports this.
4. **Win/loss record**: 13 wins, 7 losses, 65% win rate from 20 deals in deals_with_competitor.csv. Arithmetic: 13 + 7 = 20 total deals examined (2025-09 to 2026-08).
Processing the sequences: **Per Sequence Metrics:** | Sequence | Step | Sent | Open Rate | Reply Rate | Meeting Rate | Weakest Step | |---|---|---|---|---|---|---| | New Logo Nurture | 1 | 500 | 210/500=42% | 42/500=8.4% | 12/500=2.4% | Step 1 | | New Logo Nurture | 2 | 458 | 160/458=34.9% | 30/458=6.6% | 9/458=2.0% | Step 2 | | New Logo Nurture | 3 | 428 | 120/428=28.0% | 18/428=4.2% | 6/428=1.4% | Step 3 | | Expansion Nurture | 1 | 300 | 130/300=43.3% | 22/300=7.3% | 5/300=1.7% | Step 1 | | Expansion Nurture | 2 | 300 | 340/300=113.3% | 25/300=8.3% | 4/300=1.3% | Step 2 | | Expansion Nurture | 3 | 275 | 95/275=34.5% | 12/275=4.4% | 3/275=1.1% | Step 3 | | Cold Outbound - HR Leaders | 1 | 600 | 240/600=40% | 5/600=0.8% | 0/600=0% | Step 1 | | Cold Outbound - HR Leaders | 2 | 595 | 175/595=29.4% | 2/595=0.3% | 0/595=0% | Step 2 | | Cold Outbound - HR Leaders | 3 | 590 | 130/590=22.0% | 1/590=0.2% | 0/590=0% | Step 3 | | Cold Outbound - People Ops | 1 | 400 | 150/400=37.5% | 14/400=3.5% | 3/400=0.8% | Step 1 | | Cold Outbound - People Ops | 2 | 386 | 110/386=28.5% | 9/386=2.3% | 2/386=0.5% | Step 2 | | Cold Outbound - People Ops | 3 | 377 | 80/377=21.2% | 6/377=1.6% | 1/377=0.3% | Step 3 | **Tracking Errors:** - Expansion Nurture, Step 2: opened=340 > sent=300 (113.3% rate) **Audience Overlap:** - None found. audiences.csv shows each contact appears in exactly one sequence (HR Leaders: 97 contacts, People Ops: 34 contacts, New Logo Nurture: 42 contacts, Expansion Nurture: 17 contacts). **Failure Modes (<2% Reply Rate):** - Cold Outbound - HR Leaders: All steps at 0.2-0.8% reply (spam/not targeted) - Cold Outbound - People Ops, Step 2: 2.3% (near threshold) **Fix Priority:** Cold Outbound - HR Leaders (fix first) and Cold Outbound - People Ops (fix second). The HR Leaders sequence shows completely failed engagement (0 meetings, <1% replies). The People Ops sequence has declining reply rates (3.5%→2.3%→1.6%). Both are cold outbound sequences lacking relevant targeting signals. Start with HR Leaders, then People Ops.
**Weekly Marketing Goals Update – Q3-2026 (66/92 days elapsed)** **SQMs:** QTD actual 230 | target 300 | delta -70 | pace: **ahead** (76.7% of target vs 71.7% time elapsed) **SQOs:** QTD actual 84 | target 120 | delta -36 | pace: **behind** (70.0% of target vs 71.7% time elapsed) **DS2s:** QTD actual 40 | target 75 | delta -35 | pace: **behind** (53.3% of target vs 71.7% time elapsed) **Closed-lost MIA rate:** QTD actual 0.20 (5/25) | target 0.10 | delta +0.10 | pace: **behind** (200% of target vs 100% acceptable; lower is better) **Same-quarter closes:** QTD actual 10 | target 20 | delta -10 | pace: **behind** (50.0% of target vs 71.7% time elapsed) **Active pipeline:** QTD actual $3.0M | target $4.0M | delta -$1.0M | pace: **ahead** (75.0% of target vs 71.7% time elapsed) *Note: Weekly movement data not provided in source files; QTD figures presented as measured.*
COMMIT: 7 deals = $44,729. BEST_CASE: 24 deals = $203,565. Q3 forecast: $44,729 + 35% x $203,565 = $115,977. Exclude $227,575 in 32 deals closing after quarter end, including 1 COMMIT (Deal-D348E1, $13,770). Forecast unreliable: 85 deals missing owner, 71 missing why-buy, close dates pushed post-quarter-end.
Created: /Users/amaniphipps/deals/deal_0D2F7A_followup.txt **Follow-up email (87 words):** References August 5 outbound email with pricing recap. Asks "What's the best way to move forward with the VP People to discuss implementation timeline?" Tone matches prior outreach—direct, solution-focused.
**Marketing:** This week we achieved 46 SQMs against a 52 target, falling 6 short of goal. The webinar channel was our top performer, delivering 18 of the total SQMs. Paid search maintained efficiency with a cost per SQM of $150. **Sales:** Sales closed 14 SQOs and scheduled 9 DS2 meetings, generating $310,000 in new pipeline. Same-quarter closes totaled 3 deals for the week. **CS:** We saved 2 renewals this week, and Team NPS improved to 61. However, 3 red-flag accounts remain open heading into next week. **PLG:** PLG added 412 new signups with a 31% activation rate. Of these, 38 companies reached the aha moment of 10 recognition gives.
**Partner Digest: 2026-08-24 to 2026-09-04** **Active Partners:** **Apex Rewards Co** — active | 2 sourced opps in DS1 (Deal-DDAAF2 ($180,000), Deal-2CF33E ($95,000)) | co-webinar locked for 09-15 | Pipeline: $275,000 **HRCloud Partners** — active | 1 sourced opp (Deal-F1CDA5, $140,000) | opp moved to DS2 after security review | Pipeline: $140,000 **CultureBridge** — active | 2 sourced opps (Deal-096E1D ($60,000), Deal-067213 ($75,000)) | lunch-and-learn generated opps (both early stage) | Pipeline: $135,000 **WorkWell Group** — active | 0 sourced deals | planning call booked for 09-09 | Pipeline: $0 **Quiet Partners:** Recogniq — quiet | no activity this period KudosWave — quiet | no activity this period PeopleFirst Advisors — quiet | no activity this period TotalPerk — quiet | no activity this period
Based on your files, here are the questionnaire answers: **Q1:** Yes, 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 the duration of the contract plus 90 days, after which it is deleted from production systems. [P3] **Q5:** A current 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 (and SCIM user provisioning) is available on the Enterprise plan. [P5] **Q7:** Production databases are backed up daily; backups are encrypted and retained for 35 days. [P6] **Q8:** Unanswerable. The policy excerpts do not address ISO 27001 certification. A full information security policy document would be needed to answer this. **Q9:** Unanswerable. The policy excerpts do not specify a contractual uptime SLA percentage. Service Level Agreement documentation would be needed to answer this. **Q10:** Unanswerable. The policy excerpts do not address HIPAA Business Associate Agreement capability or willingness. A specific HIPAA compliance or BAA policy document would be needed to answer this.
Based on my analysis of the 14 skills against the manifest, here are the reconciliation findings: --- ## (1) ALWAYS-Trigger Phrase Overlaps/Duplicates **CRITICAL — TRIM_DESC** Two skills have overlapping trigger phrases for email/drafting requests: - `deal-strategy-coach` triggers on: "price is too high", "champion went dark", "what stage should this be in", "what's going on with this deal" - `email-drafter` triggers on: "write me an email", "draft a follow-up", "help me reply", "what should I say", "bump email", "contract nudge" **Overlap:** Both handle communications about stalled deals. A request like "my champion went dark, what should I say?" could trigger either skill. The overlap is in intent-to-communicate scenarios. **Proposal:** Consolidate communication triggers into email-drafter only. deal-strategy-coach should focus on strategic diagnosis, not drafting. email-drafter already has broader drafting coverage. --- ## (2) Circular Delegation Chain **WARNING — REVIEW** Chain: `pipeline-intelligence-report` → `closed-lost-analysis` → `deal-strategy-coach` → `pipeline-intelligence-report` The pipeline-intelligence-report skill delegates to closed-lost-analysis for Loss Intel tab content. closed-lost-analysis delegates to deal-strategy-coach's "Mode 4: Active Pipeline Risk Match" when detecting multithreading gaps. deal-strategy-coach, when diagnosing stalled deals, could recommend pipeline-intelligence-report runs to assess deal health - creating circular dependency. **Proposal:** Break the cycle by having deal-strategy-coach NOT delegate TO pipeline-intelligence-report. Instead, deal-strategy-coach should call pipeline-intelligence-report queries directly when needed, or use next-to-close for deal prioritization. --- ## (3) Dangling Delegation Targets **CRITICAL — DELETE_SKILL or MERGE** Multiple skills reference `prospect-research-multithreading` which does NOT exist in the manifest: - `closed-lost-analysis` Section 12.4: references this skill - `deal-strategy-coach` Step 0 and Section 12.4: references this skill This skill is referenced but not declared anywhere in the manifest. **Proposal:** Either add `prospect-research-multithreading` to the manifest, or remove the references and inline the contact lookup logic. Given the skill's importance, recommend adding it to the manifest. --- ## (4) Version Conflicts **WARNING — REVIEW** From the provided memory: "version conflict only analysis-validator (3.5/3.6 same date → survive 3.6)" The analysis-validator.SKILL.md shows: - Version: 3.6 - Last Updated: May 9, 2026 (v3.6 — G2-F: ID Resolution...) There's no version 3.5 artifact present, but the memory indicates a version conflict was resolved by keeping v3.6. This appears already reconciled, but worth flagging that version management should be audited. **Proposal:** VERIFY - Confirm only v3.6 exists and remove any v3.5 artifacts if found. --- ## (5) Descriptions Exceeding 1,024 Characters **INFO — count: 2** From the provided memory: "max 1006, pipeline-intelligence-report / signalforge-claim-compressor" Both skills have description lengths of 1006 characters - very close to the 1,024 limit but not clearly exceeding it. The memory flags these as borderline cases. **Proposal:** TRIM_DESC - Reduce these descriptions by 50-100 characters to provide buffer room. --- ## (6) Hardcoded Page IDs, Dates, Person Names **CRITICAL — UPDATE_BODY** Multiple hardcoded values found in skill bodies: | Skill | Hardcoded Item | Value | |---|---|---| | pipeline-intelligence-report | Stage IDs | 150582536, 150582537, 150582538, 150582539, 1175632767 | | closed-lost-analysis | Owner IDs | 119337721, 83155923, 83155924, 84342457, 1520255671, etc. | | closed-lost-analysis | Industry/Company | Nectar, Awardco, Motivosity, WorkTango | | analysis-validator | Dates | April 26, 2026; May 9, 2026; March 28, 2023 | | analysis-validator | Population | ~452K provisioned users, ~110K dormant | | deal-strategy-coach | Pricing | 2026 pricing table with specific tiers | | pipeline-intelligence-report | Owner IDs | Same AE IDs repeated | Per memory: "enforce [LIVE QUERY] tags on update" for these items. **Proposal:** UPDATE_BODY - Replace hardcoded values with [LIVE QUERY] tags or make them configurable references. --- ## (7) Manifest Drift **INFO — count: 0** All 14 skills in the manifest have corresponding .SKILL.md files provided. No manifest rows are missing files, and no extra files exist beyond the 14 manifest entries. --- ## Summary Table | # | Finding | Severity | Action Type | |---|---|---|---| | 1 | ALWAYS-trigger overlap: email-drafter ↔ deal-strategy-coach | CRITICAL | TRIM_DESC | | 2 | Circular chain: pipeline-intelligence-report → closed-lost-analysis → deal-strategy-coach → pipeline-intelligence-report | WARNING | REVIEW | | 3 | Dangling target: prospect-research-multithreading | CRITICAL | DELETE_SKILL or MERGE | | 4 | Version conflict: analysis-validator (3.5/3.6) | WARNING | REVIEW | | 5 | Descriptions at limit: pipeline-intelligence-report, signalforge-claim-compressor | INFO | TRIM_DESC | | 6 | Hardcoded values: stage IDs, dates, owner IDs, pricing | CRITICAL | UPDATE_BODY | | 7 | Manifest drift | INFO | None (all 14 account for) | --- **Total findings:** 7 - CRITICAL: 2 - WARNING: 3 - INFO: 2
# Runbook: reward-queue incident (2026-08-29) ## Runbook Steps | Step | Action / Command | Executed By | Verification | Rollback | Source | |------|------------------|-------------|--------------|----------|--------| | 1 | PagerDuty alert triggered | System | Alert fired for reward-worker queue depth > 10k | N/A | [M01] | | 2 | `bundle exec rake sidekiq:queue_depth` | Farid Osman | Output: reward queue at 48,213 pending jobs (normal < 500) | N/A | [M02] | | 3 | Console inspection of dead set | Farid Osman | Dead set: 112 jobs, all Redis::TimeoutError from ~13:58 | N/A | [M03] | | 4 | `bin/rails runner 'FeatureFlag.disable(:auto_recognition_enqueue)'` | Farid Osman | **NEEDS CONFIRMATION**: Immediate verification not stated | `bin/rails runner 'FeatureFlag.enable(:auto_recognition_enqueue)'` | [M04] | | 5 | Cleared dead set from console | Elena Sinclair | **NEEDS CONFIRMATION**: Post-clear verification not stated | **NEEDS CONFIRMATION**: Dead-set cleanup is irreversible; no rollback procedure documented | [M05] | | 6 | `kubectl scale deployment/reward-worker --replicas=6` | Bryce Harmon | Queue rate improved; **verification occurs in M07** | `kubectl scale deployment/reward-worker --replicas=3` | [M06] | | 7 | Monitor queue depth reduction | Farid Osman | Reports: 9,400 jobs, falling ~1,200/min | N/A | [M07] | | 8 | `bundle exec rake sidekiq:queue_depth` → 0 | Cole Ingram | Command returns 0; Datadog error rate baseline | N/A | [M08] | | 9 | `bin/rails runner 'FeatureFlag.enable(:auto_recognition_enqueue)'` | Bryce Harmon | 40 new jobs processed cleanly in 3 min | `bin/rails runner 'FeatureFlag.disable(:auto_recognition_enqueue)'` | [M09] | | 10 | `kubectl scale deployment/reward-worker --replicas=3` | Bryce Harmon | Queue stable at 0 | `kubectl scale deployment/reward-worker --replicas=6` | [M10] | ## Summary - **Root cause observed**: Redis::TimeoutError in dead set (112 jobs) - **Mitigation actions**: Disabled enqueue, cleared dead set, scaled workers from 3→6 - **Resolution**: Queue depth reached 0, error rate baseline, workers scaled back to 3
## Failure Sequence Analysis ### First Error **Timestamp:** 2026-09-03T14:01:12Z **Service:** reward-service **Message:** `Redis::TimeoutError: Connection to Redis at redis-primary:6379 timed out after 5s` ### Cascade in Order 1. 14:01:12Z — reward-service — Redis::TimeoutError (connection timeout) 2. 14:01:20Z — reward-service — Redis::TimeoutError: retry exhausted for RewardGiveJob 3. 14:01:30Z — reward-service — Redis::TimeoutError: retry exhausted for RewardGiveJob 4. 14:01:40Z — reward-service — Redis::TimeoutError: retry exhausted for RewardGiveJob 5. 14:01:40Z — sidekiq — RewardGiveJob failed: Redis::TimeoutError; retrying in 60s 6. 14:02:28Z — sidekiq — RewardGiveJob failed: Redis::TimeoutError; retrying 7. 14:02:30Z — sidekiq — Queue reward depth above 10,000 8. 14:03:05Z — api-gateway — 502 upstream timeout calling reward-service /gives 9. 14:03:30Z — web-app — Give form submission failed: upstream 502 from api-gateway 10. 14:03:48Z — api-gateway — 502 upstream timeout calling reward-service 11. 14:04:13Z — api-gateway — 502 upstream timeout calling reward-service 12. 14:04:22Z — sidekiq — RewardGiveJob failed: Redis::TimeoutError; retrying 13. 14:04:45Z — web-app — Give form submission failed: upstream 502 14. 14:05:16Z — api-gateway — 502 upstream timeout calling reward-service 15. 14:05:26Z — sidekiq — RewardGiveJob failed: Redis::TimeoutError; retrying 16. 14:05:42Z — web-app — Give form submission failed: upstream 502 17. 14:06:47Z — sidekiq — RewardGiveJob failed: Redis::TimeoutError; retrying 18. 14:06:49Z — web-app — Give form submission failed: upstream 502 19. 14:06:52Z — api-gateway — 502 upstream timeout calling reward-service ### Service and Job Involved - **Service:** reward-service - **Job Class:** RewardGiveJob (worker: sidekiq) Sidekiq jobs J-00001 through J-00016 in `sidekiq_jobs.csv` confirm 16 RewardGiveJob failures and 4 RecognitionDigestJob failures (J-00013-J-00016), all stemming from the same Redis::TimeoutError. ### Datadog Query for First Error ``` service:reward-service AND @level:ERROR AND "Redis::TimeoutError: Connection to Redis" AND @timestamp:"2026-09-03T14:01:12Z" ``` ### What Logs Do Not Show - The **initial Redis unresponsiveness** — i.e., when Redis first became unreachable (logs start at the timeout error, not at the network-level failure or memory exhaustion event) - **Network-level diagnostic details** (packet loss, connection refused, etc.) - **Root cause** of Redis failure (memory pressure, OOM, network partition, replication lag) - **Total queue backlog** before the 10,000 depth warning - Any **correlation with RecognitionDigestJob** failures (though J-00013-J-00016 appear after the initial Redis timeout)
### Feature Flag Summary | Flag | State | Controls | Companies | Targeting Rules | |------|-------|----------|-----------|-----------------| | recognition_streaks_v2 | on | Streak tracking in recognition.rb | 42 | segment:beta_companies | | points_budget_guardrails | on | Budget enforcement in budget_service.rb | 220 | all_companies | | slack_dm_nudges | on | Slack DM nudge job in nudge_job.rb | 87 | segment:region_na | | redeem_flow_redesign | off | Redeem flow UI in redeem_controller.rb | 12 | targeted_list | | analytics_dashboard_v3 | on | V3 dashboard in analytics_controller.rb | 65 | segment:tier_three | | ms_teams_app_v2 | off | Teams V2 install in teams_installer.rb | 9 | targeted_list | | legacy_give_modal | (not in code) | — | 14 | segment:legacy_plan | | survey_boosters_q3 | (not in code) | — | 7 | segment:legacy_plan | | paused_offboard_cleanup | (not in code) | — | 0 | (empty) | **Flags with no code reference:** legacy_give_modal, survey_boosters_q3, paused_offboard_cleanup **Flags with no targets:** paused_offboard_cleanup (0 companies)
**NDA-1 — GREEN** Standard mutual NDA with typical 2-year term (3 years survival), comprehensive Delaware governing law, and full carve-outs. No problematic terms. --- **NDA-2 — YELLOW** Standard mutual NDA with Delaware governing law and typical carve-outs. The clause that drives counsel review: "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." An 18-month employee non-solicitation requires counsel approval to assess enforceability in relevant jurisdictions. --- **NDA-3 — RED** Multiple red flags: (1) One-way confidentiality when both parties likely share information; (2) Governing law: "the laws of the Republic of Ireland" (unusual jurisdiction for US context); (3) No carve-outs stated; (4) 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." The broad 3-year non-compete plus Ireland governing law require full legal review.