เอกสารประกอบ
Anomaly Detection: ค้นหาวันที่ผิดปกติในข้อมูล Search Console
เปรียบเทียบแต่ละวันกับวันเดียวกันของสัปดาห์ในช่วงใกล้เคียงด้วยสถิติแบบทนทาน (robust statistics) แล้วทำเครื่องหมายวันที่พุ่งขึ้นหรือตกลงตามระดับความรุนแรง พร้อมแผนภูมิ EWMA สำหรับการเปลี่ยนแปลงแบบค่อยเป็นค่อยไป
Anomaly Detection จะตรวจสอบทุกวันในข้อมูล Search Console ของคุณโดยเทียบกับวันเดียวกันของสัปดาห์ในสัปดาห์ก่อนหน้าและถัดไป แล้วทำเครื่องหมายวันที่อยู่นอกช่วงปกติอย่างชัดเจน รองรับเมตริกคลิก การแสดงผล CTR หรืออันดับเฉลี่ย ใช้คะแนนที่อิงค่ามัธยฐาน เพื่อไม่ให้วันที่ผิดปกติมากเพียงวันเดียวทำให้ค่าฐานเพี้ยน และจัดระดับความผิดปกติแต่ละรายการตั้งแต่ Low ไปจนถึง Critical นอกจากนี้ยังมีแผนภูมิที่สองสำหรับเฝ้าดูการเปลี่ยนแปลงแบบค่อยเป็นค่อยไปซึ่งตรวจไม่พบจากการดูทีละวัน
วิธีให้คะแนนแต่ละวัน
- ค่าฐาน (Baseline) ค่าที่คาดไว้ของแต่ละวันคือค่ามัธยฐานของ 8 วันที่ใกล้ที่สุดซึ่งตรงกับวันเดียวกันของสัปดาห์ ทั้งก่อนและหลังวันนั้น โดยไม่รวมวันนั้นเอง วันจันทร์จะถูกเทียบกับวันจันทร์ด้วยกัน ดังนั้นการที่ทราฟฟิกลดลงในช่วงสุดสัปดาห์ตามปกติจึงไม่ถูกนับเป็นความผิดปกติ ต้องมีวันลักษณะนี้อย่างน้อย 3 วัน มิฉะนั้นวันนั้นจะไม่ถูกให้คะแนน
- ความแปรปรวน (Spread) ความแปรปรวนโดยทั่วไปคือค่า median absolute deviation (MAD) ของวันเหล่านั้น คูณด้วย 1.4826 เพื่อให้เทียบเคียงกับค่าเบี่ยงเบนมาตรฐานได้ เมื่อ MAD เป็นศูนย์ จะใช้ค่าเบี่ยงเบนสัมบูรณ์เฉลี่ยแทน
- คะแนน (Score) z-score คือระยะห่างของวันนั้นจากค่ามัธยฐานหารด้วยความแปรปรวนข้างต้น นี่คือ modified z-score ที่ NIST engineering handbook อธิบายไว้สำหรับการตรวจจับค่าผิดปกติ ซึ่งแนะนำเกณฑ์ตัดที่ 3.5
- เกณฑ์สองด่าน วันหนึ่งจะถือเป็นความผิดปกติก็ต่อเมื่อคะแนนถึงระดับ Sensitivity ที่คุณตั้งไว้ และห่างจากค่าที่คาดไว้อย่างน้อย 10% ด้วย เกณฑ์ข้อหลังช่วยไม่ให้ข้อมูลที่เล็กน้อยแต่สม่ำเสมอมากถูกทำเครื่องหมายจากการเปลี่ยนแปลงเพียงเล็กน้อย
Sensitivity มีค่าตั้งแต่ 1.0 ถึง 4.0 โดยค่าเริ่มต้นคือ 2.5 ยิ่งค่าต่ำ ยิ่งทำเครื่องหมายหลายวัน ระดับความรุนแรงคือคะแนนเป็นกี่เท่าของ sensitivity: ต่ำกว่า 1.5 เท่าคือ Low, ต่ำกว่า 2 เท่าคือ Medium, ต่ำกว่า 3 เท่าคือ High และตั้งแต่ 3 เท่าขึ้นไปคือ Critical
การอ่านผลลัพธ์
- การ์ดสรุป: Anomalies, Spikes, Drops, สัดส่วนของวันที่ถูกให้คะแนนซึ่งเป็นความผิดปกติ และวันที่ผิดปกติที่สุด (Most extreme day)
- Actual vs expected with confidence band แสดงเส้นข้อมูลจริง ค่ามัธยฐานของวันเดียวกันในสัปดาห์ และแถบประแบบเส้นประที่ ± sensitivity × ความแปรปรวนแบบทนทาน เครื่องหมายบนกราฟแสดงความผิดปกติ โดยใช้สีตามระดับความรุนแรง
- ตารางแสดง Date, Weekday, Actual, Expected, Deviation, Z-score, Severity และ Direction (Spike หรือ Drop)
ทิศทางพิจารณาตามค่าตัวเลข สำหรับ Position นั้น Spike หมายถึงตัวเลขเพิ่มขึ้น ซึ่งคืออันดับที่แย่ลง ส่วน Drop หมายถึงอันดับที่ดีขึ้น
เมื่อเปลี่ยนเมตริกหรือเลื่อนแถบ slider หลังจากรันแล้ว คะแนนจะถูกคำนวณใหม่ในเบราว์เซอร์ การรันครอบคลุมอย่างน้อย 90 วัน หากช่วงเวลาสั้นกว่านั้นจะขยายย้อนหลังไปให้ และหมายเหตุเหนือผลลัพธ์จะระบุวันที่ที่ใช้ ขั้นต่ำคือ 21 วัน
แผนภูมิ EWMA: การเปลี่ยนแปลงแบบค่อยเป็นค่อยไป
เปิด EWMA control chart (small persistent shifts) เพื่อตอบคำถามอีกแบบหนึ่ง ค่าเฉลี่ยเคลื่อนที่แบบถ่วงน้ำหนักเอ็กซ์โปเนนเชียล (EWMA) ที่ให้น้ำหนัก 0.3 กับข้อมูลใหม่ของแต่ละวัน จะวิ่งรอบค่ามัธยฐานของข้อมูลทั้งชุด โดยมีขีดจำกัดควบคุมที่ ± sensitivity × ความแปรปรวนแบบทนทาน ซึ่งแคบกว่าในช่วงที่ค่าเฉลี่ยยังอยู่ในช่วงเริ่มต้น หากมีหลายวันติดต่อกันที่อยู่นอกขีดจำกัดโดยไม่มีความผิดปกติรายวันเดี่ยว ๆ แสดงว่าระดับกำลังเลื่อนไปเรื่อย ๆ คู่มือของ NIST อธิบายว่าเหตุใด แผนภูมิ EWMA จึงจับการเปลี่ยนแปลงเล็กน้อยแบบค่อยเป็นค่อยไปที่การตรวจรายวันมองข้ามได้ เมื่อแผนภูมิรายงานช่วงเช่นนี้ ให้ระบุวันที่ด้วย Change Point Detection
ข้อจำกัดที่ควรทราบ
- มองทั้งย้อนหลังและไปข้างหน้า ค่าฐานใช้ทั้งสัปดาห์ที่ใหม่กว่าและเก่ากว่า จึงเป็นการทบทวนอดีตมากกว่าการแจ้งเตือนแบบเรียลไทม์ และคะแนนของวันล่าสุดอาจเปลี่ยนไปเมื่อมีข้อมูลสัปดาห์ถัดไปเพิ่มเข้ามา
- วันล่าสุดถูกประเมินจากประวัติเท่านั้น โดยมีวันเปรียบเทียบน้อยกว่า จึงควรกลับมาตรวจอีกครั้งหลังผ่านไปหนึ่งสัปดาห์
- วันที่ไม่มีข้อมูลนับเป็นศูนย์ ช่องว่างในข้อมูล หรือพร็อพเพอร์ตีที่เพิ่งเริ่มและมีอายุน้อยกว่าช่วงเวลาที่ใช้ จะทำให้เกิดการตกลงที่ไม่ใช่เรื่องจริง
- CTR และอันดับเปลี่ยนไปตามส่วนผสมของคำค้นหา วันหนึ่งอาจดูผิดปกติเพราะมีการค้นหาที่ต่างออกไปแสดงเว็บไซต์ของคุณ ไม่ใช่เพราะมีอะไรเสีย ควรตรวจดูคำค้นหาของวันนั้นก่อนตัดสินใจดำเนินการ
- เป็นเพียงการอธิบายสิ่งที่เกิด ไม่ได้บอกสาเหตุ ให้จับคู่วันที่ถูกทำเครื่องหมายกับการปล่อยเวอร์ชัน เหตุขัดข้อง และประวัติการอัปเดตการจัดอันดับ แล้วบันทึกเหตุผลไว้เป็นannotation
การแจ้งเตือนความผิดปกติเป็นการตรวจสอบแยกต่างหาก
กฎการแจ้งเตือน Traffic anomaly ไม่ได้ใช้รายงานนี้ซ้ำ แต่จะให้คะแนนเฉพาะคลิกของวันล่าสุดที่ข้อมูลนิ่งแล้วเทียบกับค่ามัธยฐานของช่วงเวลาล่าสุด มองหาเฉพาะการตกลง และมี sensitivity ของตัวเอง ดูการแจ้งเตือน เพื่อส่งการแจ้งเตือนเหล่านั้นไปยัง Slack, Microsoft Teams หรือ webhook