ในการเลือกตั้ง 2566 ครั้งนี้ Cleverse ร่วมมือกับ THE STANDARD ในการจัดทำเว็บไซต์รายงานสดผลการเลือกตั้ง ซึ่งผมขอมาเล่าส่วนที่เกี่ยวข้องกับการคำนวณตัวเลขที่นั่ง ส.ส. ในระหว่างที่กำลังนับคะแนนในแต่ละหน่วยเลือกตั้ง
ระบบเลือกตั้งแบบบัตรสองใบ
การเลือกตั้งในปี 2566 เราใช้ระบบเลือกตั้งแบบบัตรสองใบ แบ่งเป็นการเลือก ส.ส. แบบแบ่งเขต 400 คน และการเลือก ส.ส. แบบบัญชีรายชื่อ 100 คน
ในการเลือก ส.ส. แบบแบ่งเขต ผู้ชนะของเขตนั้นคือผู้สมัครที่ได้คะแนนสูงสุดในเขตนั้น
จากภาพจะเห็นว่า ผู้สมัคร ก. ได้คะแนนสูงสุด จึงเป็นผู้ชนะในเขตนั้น
สำหรับในส่วนของ ส.ส. แบบบัญชีรายชื่อนั้น จำนวน ส.ส. ในแต่ละพรรค จะเป็นสัดส่วนเดียวกันกับจำนวนคะแนนเสียงในระบบบัญชีรายชื่อของทั้งประเทศรวมกัน
จากภาพ ด้านซ้ายเป็นคะแนนเสียงในส่วนของบัตรบัญชีรายชื่อทั่วประเทศรวมกัน ด้านขวาเป็นที่นั่ง ส.ส. บัญชีรายชื่อ ที่จะได้ จะเห็นได้ว่าเป็นสัดส่วนเดียวกัน
โจทย์และความท้าทายของการรายงานจำนวนที่นั่ง ส.ส. ระหว่างการนับคะแนน
เนื่องจากการรายงานผลการเลือกตั้งแบบเรียลไทม์นั้นจะต้องแสดงผลคะแนนเสียงที่นับไปแล้วถึงปัจจุบัน รวมถึงต้องคำนวณจำนวนที่นั่ง ส.ส. ‘ที่คาดว่าจะได้’ โดยที่อาจจะยังนับคะแนนไม่ครบทุกหน่วยเลือกตั้ง
การเลือกวิธีในการคำนวณว่าจะรายงานจำนวนที่นั่ง ส.ส. เท่าใดนั้นเป็นสิ่งที่ทางเราให้ความสำคัญ เนื่องจากจะส่งผลถึงการรับรู้ของประชาชนและแนวโน้มการจัดตั้งรัฐบาลในคืนวันเลือกตั้ง
โดยแกนหลักที่เราจะใช้ในการพิจารณาคือมิติของ Conservative-Presumptive โดยมีรายละเอียด ดังนี้
- Conservative หมายถึง การรายงานจำนวนที่นั่งแบบที่ต้องมั่นใจมากว่าผู้สมัครคนใดจะเป็นผู้ชนะ ถึงจะตัดสินใจรายงาน
- Presumptive หมายถึง การรายงานผลแบบที่ใช้ข้อมูลเท่าที่มีในการคาดเดาว่าผู้สมัครคนใดจะเป็นผู้ชนะ โดยไม่จำเป็นต้องนับคะแนนจนครบทุกใบ
จากตัวอย่างที่นับคะแนนไปได้ 5% ถ้าใช้เกณฑ์ที่ Presumptive อาจรายงานไปได้เลยว่าผู้สมัคร ข. เป็นผู้ชนะในเขตนี้ ถึงแม้ว่าเมื่อนับคะแนนไปเรื่อยๆ แล้วมีโอกาสที่ผู้สมัคร ก. จะมีคะแนนแซงขึ้นมาก็เป็นได้
ด้าน Presumptive เองก็มีเฉดของความ Presumptive มากน้อยด้วยเหมือนกัน ซึ่งความเร็วในการแสดงผลคะแนนตั้งแต่เนิ่นๆ ก็จะแลกมาด้วยความแม่นยำที่ลดลงในการรายงานผล เช่น ตัวเลขที่นั่งอาจมีการเปลี่ยนแปลงในภายหลัง ความท้าทายของการรายงานผลที่นั่ง ส.ส. ระหว่างการนับคะแนน จึงเป็นการเลือกว่าจะเลือกอยู่ตรงไหนในแกนของ Conservative-Presumptive
แนวทางของเว็บไซต์รายงานผลการเลือกตั้ง 2566 โดย THE STANDARD ร่วมกับ Cleverse
ทางทีมของเราเมื่อได้โจทย์นี้มาก็ไปลองทำ User Interview เพื่อที่จะดูว่า User ในกลุ่มต่างๆ จะมีความเข้าใจในการรายงานผลที่นั่งในแบบต่างๆ หรือไม่ และ User แต่ละคนจะชอบการรายงานผลแบบใด
หลังสรุปผลเราจึงตัดสินใจให้ User สามารถเลือกได้ว่าต้องการเห็นข้อมูลแบบใด โดยสามารถเลือกได้ระหว่างการคำนวณแบบปกติและการคาดการณ์ 500 ที่นั่ง ถ้ามาวางในแกน Conservative-Presumptive ก็น่าจะวางได้ ดังนี้
เราตัดสินใจไม่เลือกทางที่ Conservative สุดๆ เนื่องจากจะต้องรอนับคะแนน 90-100% ถึงจะรายงานผลตัวเลขที่นั่งได้ ซึ่งทำให้ User ไม่ได้ข้อมูลใดๆ เกี่ยวกับผลการเลือกตั้งระหว่างการนับคะแนนเลย
UI ในการ Toggle เพิ่มเปิดการคาดการณ์ 500 ที่นั่ง
สำหรับรายละเอียดของการคำนวณในแบบต่างๆ ที่เราตัดสินใจเลือกใช้เป็นดังต่อไปนี้
การคำนวณแบบปกติในส่วนของ ส.ส. แบบแบ่งเขต
สำหรับการคำนวณ ส.ส. แบบเขต แนวคิดของเราคือ ในกรณีที่นับคะแนนไปแล้ว 20% แล้วถ้าผลคะแนนออกมาว่าผู้สมัครที่ได้ที่ 1 มีคะแนนสูงกว่าผู้สมัครคนอื่นๆ อย่างมาก เราก็ควรจะอนุมานได้ว่าผู้สมัครคนนั้นจะเป็นผู้ชนะเมื่อนับคะแนนครบ 100%
แต่ในอีกกรณีที่นับคะแนนไปแล้ว 80% แต่คะแนนของที่ 1 กับที่ 2 นั้นห่างกันเพียงเล็กน้อย เราก็จะยังไม่สามารถอนุมานได้ว่าผู้สมัครคนใดจะเป็นผู้ชนะในเขตนั้น
สำหรับวิธีการคำนวณ เราจะใช้ข้อมูลคะแนนเสียงที่นับแล้วและข้อมูลเปอร์เซ็นต์การนับคะแนน โดยมีสมมติฐานว่าคะแนนที่นับแล้วปัจจุบันจะมีสัดส่วนที่ใกล้เคียงกับคะแนน 100%
ตัวอย่างในภาพคือการขยายคะแนนที่นับแล้ว 40% เป็นคะแนนที่นับแล้ว 100%
แน่นอนว่าถ้าเราขยายโดยตรงจะพบว่า ผู้ชนะในเขตก็ยังเป็นคนเดิม สิ่งที่เราทำต่อมาคือ กำหนดค่าความคลาดเคลื่อนของคะแนนที่ยังไม่ได้นับ ตัวอย่างเช่น ความคลาดเคลื่อน 10% แสดงว่า 90% ของคะแนนที่ยังไม่ได้นับจะมีสัดส่วนเดียวกับคะแนนที่นับแล้ว ส่วนที่เหลืออีก 10% จะไม่ได้มีสัดส่วนตามนั้น
ในกรณีนี้เราจะเห็นได้ว่า คะแนน 94% ของคะแนนทั้งหมด จะเป็นสัดส่วนเดียวกับคะแนนที่นับแล้ว (40% + 90% x 60%) ส่วนที่เหลืออีก 6% จะไม่ได้มีสัดส่วนตามนั้น เพื่อที่จะยืนยันผลการแพ้-ชนะของเขตนี้ เราจึงต้องคิดในมุม Worst-Case Scenario ซึ่งก็คือกรณีที่คะแนน 6% นั้นเป็นของผู้สมัครที่ได้ลำดับ 2 ทั้งหมด ซึ่งถ้าคิด Worst-Case Scenario แล้วผู้สมัครอันดับ 1 ยังคงคะแนนนำ เราจะสามารถยืนยันได้ว่า ผู้สมัครลำดับที่ 1 เป็นผู้ชนะในเขตนี้ แต่ถ้าผู้สมัครที่ได้ลำดับ 2 พลิกมานำผู้สมัครที่ได้ลำดับ 1 ใน Worst-Case Scenario เราจะยังไม่ยืนยันผล และจะรอให้คะแนนเข้ามาเยอะกว่านี้ก่อน
จากตัวอย่างในภาพ ซ้ายคือการนับคะแนนไปแล้ว 20%
จะเห็นว่าถ้ารวมกรณี Worst-Case ไป จะไม่สามารถยืนยันผู้ชนะได้
แต่ถ้าเป็นกรณีภาพขวาที่นับไปแล้ว 40%
ถึงแม้ว่าเป็นกรณี Worst-Case แต่ผู้สมัคร ก. ก็ยังชนะอยู่ดี
ดังนั้นเราจึงสามารถยืนยันผลของเขตนี้ได้ว่าผู้สมัคร ก. เป็นผู้ชนะ
การคำนวณแบบปกติในส่วนของ ส.ส. แบบบัญชีรายชื่อ
ในส่วนของ ส.ส. แบบบัญชีรายชื่อ การคำนวณที่อาจนิยมใช้กันคือ กำหนดตัวเลขคะแนนเสียงต่อ 1 ที่นั่งขึ้นมา โดยอาจอิงจากคะแนนเสียงในการเลือกตั้งปีก่อนหน้า เช่น ถ้าปี 2562 มีคะแนนบัตรดีทั้งหมด 35,561,556 คะแนน ก็ใช้เลข 355,615 คะแนนต่อ 1 ที่นั่ง จากนั้นถ้าระหว่างการนับคะแนนมีพรรคใดได้ถึง 355,615 ก็จะได้ไป 1 ที่นั่ง
วิธีข้างต้นจัดอยู่ในหมวดวิธีที่ Conservative เพราะที่นั่งที่แสดงผลได้จะมีความแน่นอนสูง แต่ข้อเสียคือ เมื่อนับคะแนนไป 10% เราจะเห็นตัวเลขของ ส.ส. บัญชีรายชื่อแค่ 10 คนหรือน้อยกว่า ซึ่งตามหลักแล้วสัดส่วนของคะแนนที่ยังไม่ได้นับก็เป็นสัดส่วนที่ใกล้เคียงกับสัดส่วนของคะแนนที่นับแล้วไม่มากก็น้อย
เราจึงสามารถใช้วิธีที่ใกล้เคียงกับการคำนวณของ ส.ส. แบบแบ่งเขต คือการกำหนดค่าความคลาดเคลื่อนของคะแนนที่ยังไม่ได้นับ และคำนวณหาว่าคะแนนจำนวนเท่าใดที่น่าจะไม่คลาดเคลื่อนจากสัดส่วนของคะแนนที่นับแล้ว
จากตัวอย่างด้านบน
แท่งซ้ายคือสัดส่วนคะแนนที่นับแล้ว ซึ่งเป็น 50% ของคะแนนทั้งหมด
สำหรับอีก 50% ที่เหลือจะมีการเผื่อการคลาดเคลื่อนไว้ 70%
ส่วนอีก 30% จะคิดว่าเป็นสัดส่วนเดียวกันกับคะแนนที่นับแล้ว
ด้วยวิธีนี้ทำให้เราสามารถคำนวณ ส.ส. บัญชีรายชื่อ ได้มากขึ้น แต่ยังคงความมั่นใจในจำนวนที่นั่งอยู่ โดยสาเหตุที่เลือกใช้ค่าความคลาดเคลื่อนของ ส.ส. แบบบัญชีรายชื่อ สูงกว่าแบบแบ่งเขตนั้น ก็เป็นเพราะว่าค่าความผันผวนของคะแนนแบบบัญชีรายชื่อนั้นมีสูง โดยเฉพาะสัดส่วนในแต่ละภูมิภาคที่ต่างกัน จึงเลือกใช้ค่าที่สูงกว่าในการคำนวณ
การคำนวณแบบคาดการณ์ 500 ที่นั่ง
สำหรับการคำนวณแบบนี้ เราเลือกการคำนวณที่ Presumptive ที่สุด เพื่อให้สามารถแสดงผล ส.ส. ได้ถึง 500 ที่นั่ง
การคำนวณ ส.ส. แบบแบ่งเขต จะเลือกให้ผู้สมัครที่มีคะแนนสูงสุดเป็นผู้ชนะในเขตนั้น จะทำให้ได้ตัวเลข ส.ส. เขต 400 ที่นั่ง (อาจน้อยกว่านั้นถ้ามีเขตที่ยังไม่มีคะแนนเข้ามา)
การคำนวณ ส.ส. แบบบัญชีรายชื่อ จะใช้คะแนนรวมของคะแนนที่นับแล้วทั้งหมดเป็นฐานคะแนนในการคำนวณ ส.ส. บัญชีรายชื่อ วิธีนี้จะทำให้ได้ ส.ส. บัญชีรายชื่อ 100 ที่นั่ง
ด้วยวิธีนี้เราจะได้ตัวเลข ส.ส. ทั้งหมด 500 ที่นั่ง แต่ด้วยความที่เป็นวิธีที่ Presumptive ที่สุด ดังนั้นตัวผลการรายงานอาจมีการปรับเปลี่ยนได้เสมอ
การเลือกแหล่งข้อมูลที่แสดงผล
เนื่องจากการเลือกตั้งครั้งนี้มีทั้งแหล่งข้อมูลจาก กกต. และจากอาสาสมัครสื่อมวลชนที่รวมกันตัวเพื่อรายงานคะแนนตามหน่วยต่างๆ เราเลยให้ผู้ใช้งานเลือกได้เลยว่าต้องการดูข้อมูลจากแหล่งข้อมูลใด แถมยังมีอีกโหมดหนึ่งด้วยก็คือโหมดอัตโนมัติ โดยระบบจะเลือกคะแนนจากเขตที่มากที่สุดมาแสดงผลให้
สรุป
การเลือกใช้วิธีการคำนวณแบบต่างๆ ก็จะมีข้อดี-ข้อเสียที่แตกต่างกันไป บทความนี้มีจุดประสงค์ที่จะอธิบายรายละเอียดการคำนวณและเบื้องหลังวิธีการคิดของเรา เพื่อให้ผู้ใช้งานได้เข้าใจถึงความท้าทายของโจทย์ และเรียนรู้ไปด้วยกันกับเรา
ผมขอฝากผลงานของ Cleverse กับ THE STANDARD ในส่วนของการรายงานผลการเลือกตั้งด้วยครับ เป็นงานที่เราตั้งใจทำกันเต็มที่จริงๆ ที่: https://election2566.thestandard.co
อ้างอิง: