วันที่เราแก้ไข Signup Pipeline ของเรา

ตัวเลขการสมัครสมาชิกของเราเพิ่มขึ้นทุกสัปดาห์ ทีมงานรู้สึกตื่นเต้น แต่ข้อมูลกลับดูผิดปกติ ผู้ใช้ไม่เคยกลับมาอีกเลย อีเมลดูแปลกๆ อัตราการเปิดใช้งาน (activation rate) ของเราลดลง

ผมดูข้อมูล ผมไม่พบการเติบโต แต่ผมพบสัญญาณรบกวน (noise)

ปัญหา

ผมรัน query เพื่อจัดกลุ่มการสมัครสมาชิกตาม IP address พบว่า IP address หนึ่งมีการลงทะเบียนบัญชีหลายร้อยบัญชีภายใน 24 ชั่วโมง โดยใช้ browser fingerprint เดียวกัน มีสคริปต์กำลังยิงมาที่ register endpoint ของเรา โดยใช้อีเมลแบบใช้แล้วทิ้ง (throwaway email domains) มันคือบอท ไม่ใช่คน

ระบบ Signup Pipeline ของเราเปิดกว้างเกินไป

วิธีแก้ไข

เราสร้างระบบป้องกัน 3 ชั้นภายในหนึ่ง sprint

ชั้นที่ 1: Throttling

เราใช้การจำกัดความเร็ว (rate limiting) สองรูปแบบ:

ชั้นที่ 2: Blocklists

ชั้นที่ 3: IP Blocklist

IP บางตัวมีความพยายามสูง พวกเขาละเมิดระบบของเราในหลายส่วน เราจึงใช้ hard blocklist โดย IP เหล่านี้จะถูกปฏิเสธในทุกคำขอ Middleware จะหยุดพวกเขาในทันที

ผลลัพธ์

ก่อนการแก้ไข:

หลังการแก้ไข:

บทเรียนที่ได้รับ

การเติบโตไม่ใช่แค่การได้ผู้ใช้มา แต่คือการได้ผู้ใช้จริงๆ การตัดสินใจเกี่ยวกับผลิตภัณฑ์ของคุณขึ้นอยู่กับข้อมูลที่ดี และข้อมูลนั้นเริ่มต้นที่ register endpoint ของคุณ

Source: https://dev.to/ogeobubu/the-day-we-fixed-our-signup-pipeline-3664