--- id: prospect-evolution-review title: 'Revenue: Friday backend evaluation' enabled: true owner: goal:sales-weapon-ae-copilot mode: task schedule: kind: weekly timezone: America/New_York time: 14:18:00 dow: [Fri] delivery: [] metadata: tags: [cron:flexible-time] originating_chat_context_json: '{"chat_id":"d2262570-9e80-4954-824e-cbddf1cc3835","origin_provider":"main","chat_kind":"direct","provider":"main","event_kind":"message","require_mention":false,"device_id":"11d6f508-35e2-48ec-9e92-39b4972d1a29"}' presentation_locale: en-US --- SILENT backend evaluation for Sean Mattsson's Revenue Operating System. Read /home/hatch/workspace/goals/sales-weapon-ae-copilot/files/revenue-operating-system.md first. DELIVERY IS CLEARED (no chat output): end by writing changes to changes-log.json and the bookkeeping below. Sean gets the "what changed" report in the Friday 4pm Revenue Command Report, never from this job. OPTIMIZE ON REVENUE, NOT VANITY. Compute trailing-28-day funnel from opportunities.json, meetings-log.json, sent-log.json, triggers-log.json: 1. FUNNEL: contacted (drafts approved/sent) -> conversations (meaningful replies) -> meetings booked -> meetings held -> qualified opportunities (stage >= QUALIFIED OPPORTUNITY) -> proposals -> wins / losses. Pipeline $ created, pipeline $ advanced, revenue closed, average opportunity size, sales-cycle length (first touch to win where known). 2. CONVERSION: stage-to-stage rates across the 12 stages (TARGET > CONTACTED > ENGAGED > MEETING SET > DISCOVERY COMPLETE > QUALIFIED OPPORTUNITY > SOLUTION / ASSESSMENT > PROPOSAL > DECISION > WON). 3. SOURCE PERFORMANCE by lane (net_new, winback, expansion, renewal_replacement, strategic, referral, RFP, inbound): meetings, qualified opps, proposals, wins, revenue. Write the result into mix-state.json revenue_yield as {lane: {meetings, qualified_opps, proposals, wins, revenue}} with updated date. 4. SEGMENT PERFORMANCE: vertical, persona (title), trigger type, channel, ZIP: which produce meetings and revenue, which consume effort without progressing. 5. MEETING PRODUCTION PLAN compliance: check against mix-state.json targets (weekly_touch_target 150, meetings_target 12, min_net_new_meeting_pct 50). Report touches vs 150, meetings vs 12, net-new share vs 50%. If behind, recommend specific reallocations. 6. LANE REALLOCATION: shift up to 5 batch slots per week from the lowest-yielding lane to the highest-yielding lane, WITHIN the guardrails in mix-state.json (read them live — do not use hardcoded values). Never violate the Meeting Production Business Plan's net-new floor: net_new stays at/above 40 unless Sean orders otherwise. 7. CAP: bounce rate trailing 14d <5% -> raise daily_cap by 5 (absolute ceiling 40, hard, never a target); >8% -> lower daily_cap by 5. Update mix-state.json. 8. QUEUE DEPTH: any queue with <2 weeks runway at current batch size -> auto-refill research task noted in changes (the Tuesday batch does refills; here just flag + add the refill directive to changes). 9. TARGETING DIRECTIVE: one directive for next week's batches (which verticals, which trigger types, which personas) based on segment performance. 10. STALE-PIPELINE DETECTOR: scan opportunities.json + meetings-log.json for: opps with no activity 21+ days, proposals without follow-up 14+ days, meetings without next steps, interested-then-quiet prospects, renewals approaching without action, commitments Sean owes (from meeting notes), accounts contacted 3+ times with zero engagement. For each recommend Advance / Re-engage / Nurture / Disqualify with one-line reasoning. Recommendations only: do NOT auto-change stages. 11. OBJECTION INTELLIGENCE: tally objections-log.json by objection_type; note the top 2-3 and whether a tested response exists. Flag emerging patterns. 12. EXPERIMENTS: maintain experiments-log.json [{hypothesis, test, control, started, results, meeting_conversion, opp_conversion, status}]. Propose at most one new controlled test per week (one variable: subject, angle, CTA, persona, industry, trigger, spacing, value prop). Retire tests only on sufficient evidence; never rewrite everything on tiny samples. AUTO-APPLY (safe): lane reallocations within guardrails, cap changes, queue-refill directives, targeting directive, experiment launches. STRUCTURAL (proposals only, never auto-applied): killing a lane, changing guardrails, reordering weekday blocks, new machinery. BOOKKEEPING: append to changes-log.json: {"date": "YYYY-MM-DD", "changes": [...], "proposals": [...], "funnel": {key metrics}, "revenue_yield": {...}, "plan_compliance": {touches_vs_150, meetings_vs_12, net_new_pct}}. If no metric moved outside its band, append {"date": ..., "changes": [], "proposals": [], "note": "no changes: metrics within bands"}. Never invent numbers: every figure must trace to a log file.