{
  "version": 1,
  "note": "Template. Scores are null on purpose. Fill them from POC evidence, not from vendor decks.",
  "scale": { "min": 0, "max": 5, "meaning": "0 = fails the test, 3 = meets it, 5 = clearly better than needed" },
  "candidates": ["native-connect-outbound-campaigns", "third-party-dialer-A"],
  "criteria": [
    { "id": "dial-modes", "name": "Dial modes you actually need (predictive, progressive, preview, agentless)", "weight": 10, "evidence": "Run each mode you plan to use on a 2-hour pilot list", "scores": { "native-connect-outbound-campaigns": null, "third-party-dialer-A": null } },
    { "id": "abandon-control", "name": "Abandon-rate control and reporting", "weight": 12, "evidence": "Abandon rate over your measurement window, exported, matches your own calculation", "scores": { "native-connect-outbound-campaigns": null, "third-party-dialer-A": null } },
    { "id": "compliance-controls", "name": "Time windows, per-recipient limits, DNC scrub hook", "weight": 15, "evidence": "Test a recipient with no time zone, one over the limit, one on your DNC list", "scores": { "native-connect-outbound-campaigns": null, "third-party-dialer-A": null } },
    { "id": "amd-quality", "name": "Answering machine detection on your own call samples", "weight": 10, "evidence": "Label 200+ calls by hand; count false positives and false negatives", "scores": { "native-connect-outbound-campaigns": null, "third-party-dialer-A": null } },
    { "id": "channels", "name": "Channel coverage you will use (voice, SMS, email, WhatsApp)", "weight": 8, "evidence": "One end-to-end send per channel with template approval", "scores": { "native-connect-outbound-campaigns": null, "third-party-dialer-A": null } },
    { "id": "audience-sync", "name": "Audience source and CRM or Customer Profiles sync", "weight": 10, "evidence": "Change a record in the source system; time how long until the campaign sees it", "scores": { "native-connect-outbound-campaigns": null, "third-party-dialer-A": null } },
    { "id": "agent-experience", "name": "Agent desktop, routing and whisper fit", "weight": 8, "evidence": "Five agents work a real shift; record connect latency and feedback", "scores": { "native-connect-outbound-campaigns": null, "third-party-dialer-A": null } },
    { "id": "reporting", "name": "Reporting and data export", "weight": 7, "evidence": "Dispositions exported to your warehouse without manual steps", "scores": { "native-connect-outbound-campaigns": null, "third-party-dialer-A": null } },
    { "id": "total-cost", "name": "Total cost at your volume, all line items", "weight": 12, "evidence": "Quote built from your minutes, agents and channels; includes Connect and telephony charges", "scores": { "native-connect-outbound-campaigns": null, "third-party-dialer-A": null } },
    { "id": "exit", "name": "Contract terms, data ownership, exit path", "weight": 8, "evidence": "Written answer on term length, cancellation, and data export format", "scores": { "native-connect-outbound-campaigns": null, "third-party-dialer-A": null } }
  ]
}
