สองเขตขายที่ดูเท่ากันบนแผนที่ ไม่เท่ากันเลยในสนามจริง
เขตขายถูกวาดใหม่ทุกครั้งที่พอร์ตลูกค้าโตขึ้น และรูปร่างที่วาดง่ายที่สุด — เส้นเขตการปกครองหรือวงกลมที่วาดด้วยมือ — ก็มักเป็นรูปร่างที่เกี่ยวข้องน้อยที่สุดกับสิ่งที่เซลส์คนหนึ่งจะวิ่งได้จริงในหนึ่งวัน
สี่คน หนึ่งเมือง แผนที่สองแบบที่ไม่เหมือนกันเลย
เส้นสีเทาคือเขตของกรุงเทพฯ ซึ่งเป็นรูปที่แผนที่แบ่งพื้นที่ขายส่วนใหญ่ถูกวาดทับ ส่วนพื้นที่สีคือระยะที่แต่ละคนขับรถไปถึงได้จริงภายในกรอบเวลา ลองเลื่อนกรอบเวลาดู แล้วจะเห็นว่าสองอย่างนี้แทบไม่เกี่ยวกัน
อะไรพัง
เขตขายถูกวาดใหม่ทุกครั้งที่พอร์ตลูกค้าโต และวิธีที่วาดใหม่ได้เร็วที่สุด — เส้นเขตการปกครอง วงกลมรัศมี หรือ polygon ที่กะด้วยสายตาบนหน้าจอ — บอกแค่พื้นที่ ไม่ได้บอกความครอบคลุมจริง ปัญหาสามข้อด้านล่างคือสิ่งที่ช่องว่างนั้นทำให้เสียไป เมื่อเริ่มจัดสรรเขตใหม่
เส้นเขตอำเภอหรือเขตคือรูปร่างที่ทุกคนมีอยู่แล้ว แต่มันไม่บอกอะไรเรื่องเวลาขับ — ตำบลที่อยู่คนละฝั่งคลอง ทางด่วนที่ไม่มีทางลงใกล้ ๆ หรือระบบซอยทางเดียว อาจทำให้สองที่อยู่ในเขตเดียวกันห่างกันเป็นชั่วโมง ขณะที่ที่อยู่ในเขตข้างเคียงกลับใกล้แค่สิบนาที
สองเขตที่มีพื้นที่ใกล้เคียงกันบนแผนที่ อาจต่างกันหลายเท่าตัวในแง่ที่เซลส์คนหนึ่งวิ่งได้จริงในหนึ่งวันทำงาน เพราะความหนาแน่นของถนนและสภาพจราจรไม่เท่ากันทั่วกรุงเทพฯ วงกลมรัศมีหรือ polygon ที่วาดด้วยมือไม่สะท้อนสิ่งนี้เลย
แต่ละชั้นข้อมูลถูก join กันด้วย PCODE ไม่ใช่ด้วยชื่อที่คนพิมพ์ — การถอดเสียงอย่างเป็นทางการของวัฒนาคือ “Vadhana” ดังนั้นระบบเขตขายที่ join เขตด้วยชื่อภาษาอังกฤษ อาจตกเขตหนึ่งไปเงียบ ๆ โดยที่ดูเหมือนทำงานถูกต้อง
มันมีต้นทุนเท่าไร
ฝ่ายขายมีจำนวนเซลส์และเป้าหมายการเข้าเยี่ยมต่อสัปดาห์อยู่แล้ว ตัวแปรที่ควรวัดคือเขตขายเองกินเวลาไปเท่าไรในแต่ละวันของเซลส์แต่ละคน
จำนวนเซลส์ในทีม × จำนวนบัญชีลูกค้าที่เซลส์แต่ละคนต้องดูแลต่อสัปดาห์ × สัดส่วนของวันทำงานที่หมดไปกับการขับรถแทนที่จะขาย
ใส่ตัวเลขของคุณเองในเครื่องคำนวณendpoint ที่คุณจะได้ใช้
GET/v1/geocodeแปลงสมุดบัญชีลูกค้า — สเปรดชีตที่อยู่ลูกค้า — ให้เป็นพิกัด ก่อนที่จะจัดสรรอะไรได้เลย
GET/v1/admin-areas/reverseยืนยันว่าแต่ละบัญชีลูกค้าอยู่ในจังหวัด อำเภอ ตำบลใดจริง ๆ เพื่อให้รายงานเขตขายอ้างอิงกับเขตการปกครองที่ธุรกิจใช้รายงานอยู่แล้ว
POST/v1/matrixจับคู่เซลส์ทุกคนกับบัญชีลูกค้าทุกรายในคำขอเดียว เพื่อให้การจัดสรรตัดสินด้วยเวลาขับ ไม่ใช่ด้วยว่าที่อยู่ตกอยู่ในเขตไหน
GET/v1/isochroneเขตขายในฐานะพื้นที่ที่เซลส์คนหนึ่งวิ่งได้จริงในช่วงเวลาทำงาน เป็น polygon ที่เอาที่อยู่ไปทดสอบได้
คำขอที่คุณรันได้
geocode ที่อยู่บัญชีลูกค้าหนึ่งราย แล้วตามด้วย matrix ระหว่างเซลส์ทุกคนกับบัญชีลูกค้าเป็นชุด ทั้งสองยิงเข้า API จริง
# 1. The account book is a spreadsheet of addresses. Nothing can be
# assigned until each one is a coordinate — with the province in the
# query, because amphoe names repeat across provinces.
curl -H "X-MapScale-Key: $MAPSCALE_API_KEY" \
"https://api.mapscale.io/v1/geocode?q=%E0%B8%96.%E0%B8%9E%E0%B8%A3%E0%B8%B0%E0%B8%A3%E0%B8%B2%E0%B8%A1%204%20%E0%B8%9A%E0%B8%B2%E0%B8%87%E0%B8%81%E0%B8%B0%E0%B8%9B%E0%B8%B4%20%E0%B8%81%E0%B8%A3%E0%B8%B8%E0%B8%87%E0%B9%80%E0%B8%97%E0%B8%9E&lang=th&limit=1"
# 2. Every rep against every account in one call. Assign on the durations
# this returns, not on which patch the address happened to fall in.
curl -X POST -H "X-MapScale-Key: $MAPSCALE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"sources":[[100.5537,13.8020],[100.5602,13.7373],[100.5100,13.7263]],"targets":[[100.5790,13.7240],[100.6045,13.6680],[100.4570,13.7205]],"profile":"driving"}' \
"https://api.mapscale.io/v1/matrix"สิ่งที่เรายืนยันได้จริง
polygon เขตขายมาจาก Valhalla 3.5.1 เครื่องเดียวกับที่ใช้ทั่วทั้งเว็บนี้ บนข้อมูลถนน OpenStreetMap ทั่วประเทศไทย ไม่ใช่รูปทรงที่วาดด้วยมือ ขอบเขตการปกครองมาจาก RTSD / UNOCHA COD-AB เผยแพร่บน HDX ภายใต้ CC BY-IGO นำมาเก็บเป็นไฟล์ static และลดรายละเอียดเพื่อใช้แสดงผล — อ่านหมายเหตุเรื่องความครอบคลุมเพื่อดูว่าข้อมูลถนนบางตรงไหน แทนคำโฆษณาแบบเหมารวม
เอาข้อมูลของคุณมา
รีวิว 30 นาทีกับที่อยู่ชุดจริงของคุณ ไม่ใช่ชุดข้อมูลสาธิต คุณจะเห็นอัตราความผิดพลาดก่อนเห็นราคา