# Email Campaign Tiers — RSCRevolution2 Launch (March 27, 2026) ## Overview Contacts are split into **Paying (PT)**, **Verified (VT)**, and **Unverified (UT)** tiers, ordered from highest to lowest confidence. Each tier is a separate CSV ready for Resend import. **Total contacts across all tiers: 12,347** (zero duplicates across all 18 files). All tiers have been: - Deduplicated internally - Deduplicated across all tiers (no email appears in more than one file) - Cleaned of disposable/fake domains (mailinator, sharklasers, yopmail, etc.) - Cleaned of obviously fake emails (test@test.com, a@a.com, etc.) - Cleaned of users with all characters banned --- ## Paying Tiers (PT) These are users who made at least one payment via Stripe or PayPal. | File | Tier | Contacts | Description | |------|------|----------|-------------| | `paying_pt1.csv` | PT1 | 755 | **Verified email + forum email matches payment email.** Bulletproof — email confirmed real by both verification click and payment receipt. | | `paying_pt2.csv` | PT2 | 412 | **Verified email + payment email differs.** High confidence — they clicked the verification link so the forum email is real, but they use a different email for payments. | | `paying_pt3.csv` | PT3 | 1,395 | **Not verified + forum email matches payment email.** Good confidence — never clicked verify, but the email received payment receipts so it's a real inbox. | | `paying_pt4.csv` | PT4 | 92 | **Not verified + payment email differs + last game login within 5 years.** Moderate confidence — forum email is unconfirmed and doesn't match payment. Filtered to recent players only. | | `paying_pt5.csv` | PT5 | 1,004 | **Payment emails from former PT4 users.** These are the Stripe/PayPal emails used by paying customers whose forum email was unreliable. Confirmed real by payment transaction. | ### PT CSV Columns **PT1–PT4:** `email, first_name, last_name, unsubscribed, email_verified, forum_matches_payment, payment_emails, total_spent_usd, suspect` **PT5:** `email, first_name, last_name, unsubscribed, original_forum_email, total_spent_usd` ### PT Notes - PT4 was filtered to last login within 5 years (removed 316 users with 5+ year old logins) - PT4 users who have an alternative email in PT5 were removed from PT4 (899 users) - PT5 `first_name` is the player's in-game username, not their real name - PT5 `original_forum_email` shows which forum account this payment email belongs to --- ## Verified Tiers (VT) These are users who verified their email on the forum but never made a payment. All paying customers have been excluded. | File | Tier | Contacts | Description | |------|------|----------|-------------| | `verified_vt1.csv` | VT1 | 124 | **Login within 1 year + 50+ hours playtime.** Active, invested players. Avg 1,543 hrs playtime. | | `verified_vt2.csv` | VT2 | 141 | **Login within 2 years + 10+ hours playtime.** Recent and engaged. Avg 532 hrs playtime. | | `verified_vt3.csv` | VT3 | 355 | **Login within 5 years + 1+ hours playtime.** Lapsed but real players. Avg 352 hrs playtime. | | `verified_vt4b.csv` | VT4b | 36 | **Login within 5 years + under 1 hour playtime.** Recent but barely played. | | `verified_vt4c.csv` | VT4c | 300 | **5–7 years since login + 10+ hours playtime.** Old accounts but they were invested (avg 256 hrs). | | `verified_vt4d.csv` | VT4d | 362 | **5–7 years since login + under 10 hours playtime.** Old and low engagement. | | `verified_vt4e.csv` | VT4e | 647 | **7+ years since login + 10+ hours playtime.** Very old but had some investment (avg 94 hrs). | | `verified_vt4f.csv` | VT4f | 1,708 | **7+ years since login + under 10 hours playtime.** Very old, barely played. Highest bounce risk. | ### VT CSV Columns `email, first_name, last_name, unsubscribed` ### VT Notes - `first_name` is the player's in-game username - VT4b had no corresponding VT4a because all "within 5 years + some playtime" contacts qualified for VT3 - Sorted by playtime descending within each tier --- ## Unverified Tiers (UT) These are users who never verified their email and never made a payment. The riskiest group — the only proof they're real is their in-game activity (playtime and login recency). All contacts with 5+ year old logins or under 1 hour playtime have been excluded. | File | Tier | Contacts | Description | |------|------|----------|-------------| | `unverified_ut1.csv` | UT1 | 730 | **Login within 1 year + 50+ hours playtime.** Active invested players. Avg 844 hrs playtime. | | `unverified_ut2.csv` | UT2 | 912 | **Login within 2 years + 10+ hours playtime.** Recent and engaged. Avg 215 hrs playtime. | | `unverified_ut3.csv` | UT3 | 845 | **Login 2–5 years + 50+ hours playtime.** Lapsed but deeply invested. Avg 329 hrs playtime. | | `unverified_ut4.csv` | UT4 | 667 | **Login 2–5 years + 10–50 hours playtime.** Moderate engagement. Avg 25 hrs playtime. | | `unverified_ut5.csv` | UT5 | 1,862 | **Login within 5 years + 1–10 hours playtime.** Low engagement, highest bounce risk in this group. Avg 3.8 hrs playtime. | ### UT CSV Columns `email, first_name, last_name, unsubscribed` ### UT Notes - `first_name` is the player's in-game username - Sorted by playtime descending within each tier - ~73,000 users excluded (5+ year old logins, under 1 hour playtime, or no login at all) - 674 disposable/fake emails, 2,100 all-banned users, and 4,107 suspect emails removed before tiering --- ## Removed Contacts | Reason | Count | Source | Details | |--------|-------|--------|---------| | Disposable/fake domains | 674 (UT) + 9 (VT) + 25 (PT4) | All | mailinator.com, sharklasers.com, yopmail.com, test@test.com, a@a.com, etc. | | All characters banned | 2,100 (UT) + 165 (VT) | VT, UT | Users with no unbanned characters | | Suspect emails | 4,107 (UT) + 85 (VT) | VT, UT | Flagged by heuristics (high digit ratio, no vowels, gibberish) | | PT4 old logins | 316 | PT | Last game login 5+ years ago | | PT4 covered by PT5 | 899 | PT | Same user reachable via payment email | | UT old/inactive | ~73,000 | UT | 5+ year old logins, under 1 hour playtime, or never logged in | --- ## Recommended Send Order **Wave 1 — Safest (test your email):** 1. PT1 (755) **Wave 2 — High confidence:** 2. PT3 (1,395) 3. PT2 (412) 4. VT1 (124) 5. VT2 (141) **Wave 3 — Good confidence:** 6. PT5 (1,004) 7. VT3 (355) 8. UT1 (730) **Wave 4 — Moderate confidence (monitor bounces):** 9. PT4 (92) 10. UT2 (912) 11. VT4c (300) 12. VT4b (36) **Wave 5 — Lower confidence (send if bounces are healthy):** 13. UT3 (845) 14. UT4 (667) 15. VT4e (647) 16. VT4d (362) **Wave 6 — Highest risk:** 17. UT5 (1,862) 18. VT4f (1,708) --- ## Data Sources - `users.sql` — Forum user accounts (email, verification status) - `pk_players.sql` — Game characters (owner links to users.id, login dates, combat/skill stats) - `pk_player_cache.sql` — Player cache (total_played in milliseconds, keyed by pk_players.user) - `stripe_orders.sql` — Stripe payment records (email, forum_id, amount, status) - `pk_paypal_transactions.sql` — PayPal payment records (payer_email, user_id, amount) ## Scripts - `build_marketing_table.py` — Original script: parses SQL dumps, builds master marketing_campaign.csv - `build_tier3_by_playtime.py` — Builds Tier 3 contacts ranked by playtime from player cache data