นี่คือโปรเจกต์เสริมแบบทำคนเดียวที่สร้างขึ้นเพราะรู้สึกเจ็บใจเวลาราคาน้ำมันลดลงในวันถัดจากที่เพิ่งเติมไป
ข้อมูลสาธารณะของ Opinet บอกได้ว่า "วันนี้ที่ไหนถูก" แต่บอกไม่ได้ว่า "ควรเติมวันนี้หรือควรรอ" ดังนั้นผมจึงนำข้อมูลราคารายวันของปั๊มน้ำมัน 11,500 แห่งทั่วประเทศตั้งแต่ปี 2022 มาผูกกับตัวแปรราคาน้ำมันดิบโลก (WTI·Dubai), อัตราแลกเปลี่ยน และภาษีน้ำมัน เพื่อสร้างโมเดลพยากรณ์การเปลี่ยนแปลงราคาใน 7 วัน แล้วแสดงเป็นสัญญาณไฟจราจรทุกเช้า ไม่ได้พูดแค่ว่า "น่าจะขึ้นไหม?" แต่บอกเป็นจำนวนเงิน เช่น "ถ้ารอจะประหยัดได้ประมาณ 40 วอนต่อลิตร"
หัวใจของการออกแบบไม่ใช่ตัวโมเดล แต่คือสิ่งนี้: บริการพยากรณ์จะจบเห่ทันทีถ้าตอบคำถามว่า "ทำไมต้องเชื่อสิ่งนี้?" ไม่ได้ ผมจึงให้ระบบตรวจคะแนนคำทำนายของเมื่อวานโดยอัตโนมัติทุกวัน แล้วเปิดเผยรายงานผลในแอปทั้งหมดตามจริง มีทั้งการให้คะแนนสะสมกว่า 30,000 รายการขึ้นไป, ความแม่นยำ 99% สำหรับคำทำนายว่า "จะไม่ขึ้น", รวมถึงสัดส่วนที่คำแนะนำว่า "ที่นี่ถูก" ถูกจริง ๆ ทั้งหมด ถ้าทายผิด ตัวเลขจะลดลงให้ผู้ใช้เห็น และด้วยเหตุนี้ผมเองก็ไม่สามารถทำโมเดลแบบลวก ๆ ได้
โครงสร้างทำให้ง่ายตามหลักต้นทุนคงที่ 0 วอน:
CSV รายวันจาก Opinet → DuckDB (ไทม์ซีรีส์ 4.6GB, โลคัล) → ฟีเจอร์ → พยากรณ์ → ให้คะแนน → สแนปช็อตสำหรับให้บริการ, อัตโนมัติเต็มรูปแบบทุกวัน 07:30 ด้วย launchd
การให้บริการใช้ FastAPI + vanilla JS ใน HTML ไฟล์เดียว (90KB), เฉพาะสมาชิกและสแนปช็อตใช้ Supabase, โฮสติ้งใช้แพลนฟรีของ Render (กัน sleep ด้วย ping จาก UptimeRobot)
ปั๊มน้ำมันที่รับสกุลเงินท้องถิ่น 6,473 แห่ง เชื่อมโยงกับข้อมูลสาธารณะของ KOMSCO ด้วยการแมตช์พิกัดในระยะ 150 เมตร + ชื่อร้าน
เรื่องที่เสียเวลาแก้มีแค่อย่างเดียว: วันหนึ่งปั๊มน้ำมัน 57% ถูกจัดเป็น 'รอดู' จนผมขุดอยู่สองวัน ปรากฏว่า "คัตที่การเปลี่ยนแปลงที่พยากรณ์ 40 วอน" ซึ่งตั้งไว้เป็นด่านกรอง outlier นั้นคือ p75 ของการกระจายที่เกิดขึ้นจริง เท่ากับกำลังถือว่า 1 ใน 4 เคสเป็น outlier เลย ปรับขึ้นเป็น p99.5 แล้วก็แก้ได้ ทำให้สัมผัสได้ว่าค่า threshold ควรกำหนดจาก quantile ไม่ใช่ความรู้สึก (บันทึกการพัฒนาโดยละเอียด: ลิงก์ velog)
สัปดาห์ที่แล้วผมโพสต์หนึ่งโพสต์ในคอมมูนิตี้สายประหยัด แล้วมีคนเข้ามา 730 คนในสองวัน และ 82% ของผู้สมัครสมาชิกเป็นกลุ่มคนวัย 30–40 ที่เดินทางไปกลับระหว่างบ้านกับที่ทำงาน ใช้ทุกฟีเจอร์ได้โดยไม่ต้องสมัครสมาชิก และทั้งหมดฟรี
ยังมีหลายอย่างที่กำลังคิดอยู่ เช่น การพยากรณ์ดีเซล (ตอนนี้มีให้แค่ค้นดู), หน่วยพื้นที่ที่ละเอียดกว่าระดับเมือง/อำเภอ/เขต ฯลฯ ลองใช้แล้วถ้ามีฟีดแบ็กอย่าง "คำทำนายในย่านเราแปลก" ส่งมาได้ครับ ผมจะตรวจสอบด้วยรายงานผลแล้วปรับแก้ต่อไป
ยังไม่มีความคิดเห็น