You've built a relationship graph in Affinity: years of connection layers, interaction depth scores, warm introductions baked into the system. Then you decide to move. You hit export. And 40% of what made that graph valuable simply evaporates—not because Affinity is hostile, but because relationship depth is structurally incompatible with a flat CSV. The damage is real. Affinity stores relationship distance (first-degree, second-degree, warm intro paths) as a live, scored network. When you export, you get contacts and notes. You don't get the graph. The scoring logic, interaction recency weights, and the human effort that built those confidence scores—gone. Teams that rebuild carelessly lose 60–90 days of deal velocity because no one remembers which contacts actually matter. This playbook shows exactly what survives an Affinity export, what dies, and how to rebuild relationship depth in 60 days without repeating the manual work twice. What actually exports from Affinity First, the good news: core contact data moves cleanly. CSV export includes: Contact fields: name, email, phone, title, company Company fields: name, domain, ARR, employee count, location Notes and history: interaction timestamps, meeting notes, email threads (as text) Custom fields: any fields you've manually added and populated Tags: most user-created tags (though some automation tags may not export cleanly) This is your safety net. If you move methodically, you will not lose the raw contact record. What dies in the export: the 40% orphan problem Affinity's value lives in the relationships between contacts, and that relationship layer does not export. Specifically: Relationship graph structure: first-degree, second-degree, warm-intro paths stored as a network—not in the CSV Interaction-weighted scoring: Affinity's native "interaction recency" scoring that prioritizes recent deal activity—you lose the weightings Connection-depth metadata: how you met (direct intro, mutual connection, inbound) stored as relationship attributes Activity velocity signals: Affinity's inference engine tracks email opens, deal stage changes, and updates the relationship weight—those inferences don't export Warm-intro routing logic: the paths Affinity suggests to reach a contact through your network—generated on the fly from the live graph You retain the fact that a contact exists and that you've communicated. You lose the why they matter right now and who can introduce you . The export captures your address book. It does not capture your network. Rebuild that first, or deals will stall while teams remember which contacts matter. The 60-day rebuild map: four phases Phase 1: Data import and reconciliation (Days 1–10) Goal: get all contacts into your new system with no duplicates and no orphaned records. Export from Affinity in three passes: Contacts (full dump with all custom fields) Companies (separate file to avoid flat company data in contact rows) Notes and interaction history (one row per note for threading) Stage in a CSV staging area before import (Google Sheets, Airtable, or a clean spreadsheet). Do not import directly—you will need to inspect for corruption. Check for data quality issues: Duplicate contact records (same email, different rows) — merge these before import Empty or test records — delete Malformed company references — note which contacts point to non-existent company IDs Custom field encoding issues (accented characters, Unicode) — test one row before bulk import Map fields to your new system. If you're moving to Orin's CRM , create a field mapping document: Affinity "Title" → Orin contact role Affinity "Company" → Orin company link Affinity custom fields → Orin custom field equivalents (create new fields if needed) Import in batches: 500–1000 contacts at a time, verify each batch, then move to the next. If you have 5,000+ contacts, this takes 5–7 days. Do not skip this step. Phase 2: Relationship re-entry (Days 11–35) Goal: rebuild the graph structure—who introduced whom, which contacts are warm, which are cold, and why they're in your system at all. This is the unglamorous work, but it's where you recover the 40% loss. You have three options: Option A: Audit-driven re-entry (lowest cost, highest time) For each contact imported, audit your notes and emails to reconstruct how you know them . Log entries in a "relationship source" field: "Direct intro from [person]", "Inbound from website", "Warm intro from [company]", "Cold outreach". For warm intros, create a contact-to-contact relationship field (if your system supports it) that links the intermediary. Assign relationship "temperature": Hot (active deal, recent communication), Warm (known contact, no active deal but high trust), Cold (prospect, no relationship yet). Timeline: 2–3 minutes per contact × your active contact count. For a 500-contact CRM, this is 17–25 hours of focused work. Option B: Leverage Affinity's interaction export (medium cost, faster) Export all interactions from Affinit