ระบุโอกาสในการขายใหม่ๆ ในภาคสนามด้วยข้อมูลเชิงลึกเกี่ยวกับสถานที่

การสร้างผู้มีโอกาสเป็นลูกค้าแบบธุรกิจต่อธุรกิจตามธรรมเนียมมักอาศัยการซื้อไดเรกทอรีแบบคงที่หรือรายชื่ออุตสาหกรรมเพื่อกำหนดศักยภาพของเขตแดน อย่างไรก็ตาม ชุดข้อมูลจุดที่น่าสนใจ (POI) แบบคงที่เหล่านี้จะล้าสมัยในทันที เนื่องจากมักไม่มีสถานะการดำเนินงานล่าสุดหรือการจัดหมวดหมู่ประเภทสถานที่แบบละเอียด ทีมขายภาคสนามจึงเสี่ยงต่อการเสียเวลาอันมีค่าไปกับการติดตามธุรกิจที่ปิดถาวร จัดหมวดหมู่ผิด หรือไม่เกี่ยวข้องกับโปรไฟล์ลูกค้าในอุดมคติ

คู่มือนี้จะแสดงเวิร์กโฟลว์ในการลดช่องว่างดังกล่าวโดยใช้ ข้อมูลเชิงลึกของ Places และ Places API การแมปสมุดธุรกิจปัจจุบันกับ รหัสสถานที่ จะช่วยให้คุณใช้ BigQuery เพื่อแยกธุรกิจที่ดำเนินการทั้งหมดในเขตแดนที่ยังไม่ได้อยู่ในฐานข้อมูลการจัดการลูกค้าสัมพันธ์ (CRM) ได้ คู่มือนี้จะแสดงวิธีสร้างเครื่องมือการยกเว้นดังกล่าวเพื่อส่งรายชื่อผู้มีโอกาสเป็นลูกค้าที่ได้รับการยืนยันและกำหนดเป้าหมายอย่างเฉพาะเจาะจงไปยังตัวแทนภาคสนาม

แผนภาพแสดงข้อมูล CRM ที่มีอยู่ซึ่งประมวลผลโดยใช้ Places API และข้อมูลเชิงลึกเกี่ยวกับสถานที่ใน BigQuery เพื่อสร้างผู้มีโอกาสเป็นลูกค้าใหม่ที่ได้รับการยืนยัน

แอปพลิเคชันตัวอย่าง

ลองพิจารณาผู้ให้บริการ ณ จุดขาย (POS) ที่วางแผนการขยายการขายภาคสนามในนิวยอร์กซิตี้ โดยปกติแล้ว องค์กรจะดึงรายงานเกี่ยวกับ สถานประกอบการด้านอาหารและเครื่องดื่มทั้งหมดต่อรหัสไปรษณีย์ วิธีนี้มีความเสี่ยงที่ตัวแทนฝ่ายขายจะพึ่งพาข้อมูลที่ล้าสมัย เช่น สถานที่ที่ปิดถาวร หรือโอกาสในการขายที่ไม่เกี่ยวข้อง เช่น ครัวจัดเลี้ยงส่วนตัวที่ไม่มีหน้าร้าน ลองนึกถึงแนวทางที่ทันสมัยกว่าโดยใช้ข้อมูลเชิงลึกเกี่ยวกับสถานที่ ซึ่งใช้ประโยชน์จากขนาดระดับโลกและข้อมูลล่าสุดของ Google Maps ที่ได้รับการตรวจสอบจากแหล่งข้อมูลหลายแห่ง ข้อมูลเชิงลึกเกี่ยวกับสถานที่รองรับหมวดหมู่สถานที่เกือบ 500 หมวดหมู่และแอตทริบิวต์กว่า 70 รายการ ซึ่งช่วยให้คุณปรับแต่งผู้มีโอกาสเป็นลูกค้าได้อย่างแม่นยำสูงตาม ประเภทธุรกิจที่เฉพาะเจาะจง (เช่น scandinavian_restaurant) เวลาทำการ และข้อเสนอ บริการ (เช่น accepts_credit_cards) การอ้างอิงข้อมูลเชิงลึกเกี่ยวกับสถานที่ กับ CRM ภายในจะช่วยให้คุณมอบรายชื่อผู้มีโอกาสเป็นลูกค้าที่มีศักยภาพสูงซึ่งยังไม่ได้ติดต่อ ให้แก่ทีมขายได้

เวิร์กโฟลว์ของโซลูชัน

คู่มือนี้มีกรอบเทคนิคในการสร้าง "แผนที่โอกาสในการขาย" แบบไดนามิกที่กรองโอกาสในการขายปัจจุบันของคุณออกโดยอัตโนมัติ เหลือเพียงโอกาสในการขายใหม่สุทธิที่ใช้ในการดำเนินงานเพื่อให้ทีมขายติดตาม

สถาปัตยกรรม 4 ขั้นตอน

  1. กำหนดประเภทสถานที่เป้าหมาย: แมปโปรไฟล์ลูกค้าในอุดมคติกับ ประเภทสถานที่
  2. ระบุพื้นที่ที่มีศักยภาพสูง: เรียกใช้ฟังก์ชันการนับสถานที่ใน BigQuery เพื่อสร้างฮีตแมปความหนาแน่นของธุรกิจเป้าหมายในการดำเนินงาน
  3. แปลงข้อมูล CRM เป็นรหัสสถานที่: ประมวลผลระเบียน CRM ที่ไม่มีโครงสร้าง ผ่านไปป์ไลน์การล้างข้อมูล โดยใช้ Address Validation, Geocoding และ Places API เพื่อหารหัสสถานที่สำหรับลูกค้าเดิม
  4. ยกเว้นช่องว่าง: ผนวกรหัสสถานที่ของ CRM กับข้อมูลเชิงลึกเกี่ยวกับสถานที่ใน BigQuery เพื่อกรองลูกค้าเดิมออกแบบไดนามิก และแสดงผลรายชื่อผู้มีโอกาสเป็นลูกค้าใหม่

ข้อกำหนดเบื้องต้น

ก่อนเริ่มต้น โปรดตรวจสอบว่าคุณมีสิ่งต่อไปนี้

  • โปรเจ็กต์ Google Cloud:

    • โปรเจ็กต์ Google Cloud ที่เปิดใช้การเรียกเก็บเงิน
  • การเข้าถึงข้อมูล:

  • Google Maps Platform:

  • สิทธิ์ IAM:

    • ตรวจสอบว่าบัญชีผู้ใช้หรือบัญชีบริการมีบทบาท IAM ต่อไปนี้เพื่อเรียกใช้ คําค้นหาและจัดการชุดข้อมูล
      บทบาท รหัส
      ผู้แก้ไขข้อมูล BigQuery roles/bigquery.dataEditor
      ผู้ใช้ BigQuery roles/bigquery.user
  • การรับรู้ต้นทุน:

    • บทแนะนำนี้ใช้คอมโพเนนต์ Google Cloud ที่เรียกเก็บเงินได้ โปรดทราบว่า ค่าใช้จ่ายที่อาจเกิดขึ้นเกี่ยวข้องกับสิ่งต่อไปนี้
      • BigQuery: เรียกเก็บเงินสำหรับสล็อตการประมวลผลที่ใช้หรือข้อมูลที่ประมวลผล ระหว่างการดำเนินการค้นหา
      • ข้อมูลเชิงลึกเกี่ยวกับสถานที่: เรียกเก็บเงินตามการใช้งานการค้นหา
      • Google Maps Platform: เรียกเก็บเงินต่อคำขอสำหรับ Address Validation API, Geocoding API และ การค้นหาข้อความ API

ขั้นตอนที่ 1: กำหนดประเภทสถานที่เป้าหมาย

ข้อมูลเชิงลึกเกี่ยวกับสถานที่รองรับหมวดหมู่สถานที่เกือบ 500 หมวดหมู่และแอตทริบิวต์กว่า 70 รายการ (เช่น เวลาทำการของร้านค้า ประเภทการชำระเงิน และสถานะการดำเนินงาน) การค้นหา ทั้งชุดข้อมูลโดยไม่เลือกจะไม่มีประสิทธิภาพและมีค่าใช้จ่ายสูง

ในขั้นตอนพื้นฐาน ให้ใช้ LLM เช่น Gemini เพื่อแปลโปรไฟล์ลูกค้าภายในเป็นประเภทสถานที่ ซึ่งใช้เมื่อสร้างคําค้นหาสำหรับข้อมูลเชิงลึกเกี่ยวกับสถานที่ คำจำกัดความของอนุกรมวิธานระดับมหภาคนี้ ช่วยให้มั่นใจได้ว่าการค้นหา BigQuery ในภายหลังจะกำหนดเป้าหมายได้สูง ซึ่งจะช่วยลดค่าใช้จ่ายในการประมวลผลการคำนวณ

ตัวอย่างเช่น หากคุณกำลังออกแบบเวิร์กโฟลว์สำหรับระบบจุดขาย คุณสามารถระบุรายการประเภทสถานที่ให้ Gemini และใช้พรอมต์ต่อไปนี้

"สมมติว่าคุณเป็นนักวิเคราะห์ตลาด จากประเภทสถานที่ของ Google Maps ที่รองรับ ผู้ให้บริการระบบจุดขายควรให้ความสำคัญกับประเภทใดเป็นหลัก ให้เหตุผลในการตัดสินใจของคุณ"

จากพรอมต์นี้ Gemini จะวิเคราะห์อนุกรมวิธานและแสดงผลชุดย่อยที่กำหนดเป้าหมายของประเภทสถานที่ที่เกี่ยวข้องเพื่อใช้ในตัวกรอง BigQuery types ดังนี้

หมวดหมู่หลัก เหตุผลรองรับ ประเภทสถานที่สำคัญ
อาหารและเครื่องดื่ม ต้องมีการประมวลผลธุรกรรมที่รวดเร็ว การจัดการโต๊ะ การออกตั๋วคำสั่งซื้อ และการจัดการทิป restaurant, bar, cafe, coffee_shop
Shopping ต้องมีการติดตามสินค้าคงคลัง การสแกนบาร์โค้ด การประมวลผลการคืนสินค้า และการผสานรวมโปรแกรมสะสมคะแนนที่มีประสิทธิภาพ clothing_store, grocery_store, supermarket, convenience_store
บริการและสุขภาพและความเป็นอยู่ที่ดี ต้องมีการจองการนัดหมาย การกำหนดเวลา โปรไฟล์ลูกค้า และการติดตามค่าคอมมิชชันแบบผสานรวม hair_salon, beauty_salon, spa, massage
ความบันเทิง สันทนาการ และกีฬา ต้องจัดการกับลูกค้าที่เข้ามาอย่างรวดเร็ว สแกนตั๋วดิจิทัล และขายอาหารและเครื่องดื่มได้อย่างรวดเร็ว movie_theater, amusement_park, bowling_alley, stadium

ในคู่มือนี้ เราจะมุ่งเน้นไปที่ประเภทสถานที่ที่แนะนำสำหรับหมวดหมู่อาหารและเครื่องดื่ม

ขั้นตอนที่ 2: แยกจำนวนธุรกิจเพื่อระบุพื้นที่ที่มีศักยภาพสูง

หากต้องการระบุพื้นที่ที่มีโอกาส คุณต้องมีมุมมองระดับมหภาคเกี่ยวกับความหนาแน่นของธุรกิจก่อน คุณทำได้โดยการเรียกใช้ฟังก์ชัน Places Count (เช่น PLACES_COUNT_PER_H3 หรือ PLACES_COUNT_PER_GEO) ใน BigQuery

แม้ว่าคุณจะค้นหาชุดข้อมูลได้โดยตรง แต่ฟังก์ชัน Places Count เป็นคำค้นหา SQL ที่กำหนดไว้ล่วงหน้า ซึ่งได้รับการเพิ่มประสิทธิภาพและไม่ได้บังคับใช้เกณฑ์ขั้นต่ำของการรวมข้อมูลมาตรฐานของสถานที่ขั้นต่ำ 5 แห่ง (การค้นหาโดยตรงแบบมาตรฐานจะละเว้นแถวที่มีธุรกิจ 1-4 ราย อย่างไรก็ตาม ฟังก์ชันเหล่านี้จะช่วยให้คุณเห็นได้อย่างชัดเจนว่าแม้แต่ผู้มีโอกาสเป็นลูกค้าเพียงรายเดียวก็มีอยู่) ที่สำคัญ ฟังก์ชันเหล่านี้จะแสดงผลอาร์เรย์ที่มีรหัสสถานที่ได้สูงสุด 250 รายการต่อ พื้นที่ทางภูมิศาสตร์โดยใช้คอลัมน์ sample_place_ids ซึ่งจะให้ทั้ง แผนที่ความหนาแน่นเชิงสถิติสำหรับนักวางแผนเขตแดนและ ตัวระบุพื้นฐานที่จำเป็นสำหรับการสร้างโอกาสในการขาย

การค้นหาต่อไปนี้แสดงวิธีดึงรูปหลายเหลี่ยมที่ซับซ้อนแบบไดนามิก (ขอบเขตทั้งหมดของนิวยอร์กซิตี้) โดยใช้ชุดข้อมูลสาธารณะ แล้วส่ง ข้อมูลทางภูมิศาสตร์นั้นไปยังฟังก์ชัน Places Count การใช้ดัชนีเชิงพื้นที่ H3 ที่ความละเอียดที่กว้างขึ้น (8) ทั่วทั้งเมืองจะช่วยให้คุณสร้างแผนที่ความหนาแน่นระดับมหภาคได้

นอกจากนี้ การเลือกคอลัมน์ทั้งหมด (SELECT *) จะทำให้ฟังก์ชันแสดงผลคอลัมน์ geography ซึ่งเป็นรูปหลายเหลี่ยมที่แสดงถึงเซลล์ H3 ซึ่งจะช่วยให้คุณนำเข้าผลลัพธ์ BigQuery ไปยังเครื่องมือ Business Intelligence (เช่น Looker Studio) ได้ทันทีเพื่อสร้างการแสดงข้อมูลผ่านภาพแผนที่แบบแบ่งตามสี ซึ่งแสดงจุดที่ได้รับความนิยมในตลาด

-- Illustrative logic: Extracting target business counts per H3 cell across New York City
DECLARE geo GEOGRAPHY;

-- Get the geography for New York City using the Overture Maps public dataset
SET geo = (SELECT geometry FROM `bigquery-public-data.overture_maps.division_area`
  WHERE country = 'US' AND subtype = 'locality' AND names.primary = 'New York' LIMIT 1);

SELECT *
FROM `YOUR_PROJECT_NAME.places_insights___us.PLACES_COUNT_PER_H3`(
  JSON_OBJECT(
      'geography', geo,
      'h3_resolution', 8,
      'types',['restaurant', 'bar', 'cafe', 'coffee_shop'],
      'business_status', ['OPERATIONAL']
  )
)
ORDER BY count DESC;

ภาพแผนที่แสดงหกเหลี่ยม H3 สีเขียวที่มีความทึบแสงแตกต่างกันเหนือเมืองนิวยอร์ก
ซึ่งบ่งบอกถึงความหนาแน่นของธุรกิจสูงในแมนฮัตตัน

ดังที่เห็นในภาพที่ได้ มีพื้นที่ที่มีความหนาแน่นสูงอย่างชัดเจน ของธุรกิจเป้าหมายทั่วทั้งแมนฮัตตัน ในส่วนที่เหลือของเอกสารนี้ เราจะเจาะลึกและมุ่งเน้นความพยายามในการสร้างผู้มีโอกาสเป็นลูกค้าในโซนที่มีศักยภาพสูงอย่างใดอย่างหนึ่งต่อไปนี้ ซึ่งก็คือพื้นที่ใกล้กับUnion Square

ขั้นตอนที่ 3: ทำให้ข้อมูล CRM เป็นมาตรฐานสำหรับรหัสสถานที่

หากต้องการวิเคราะห์การยกเว้น คุณต้องแปลงระเบียน CRM เป็น Place ID ก่อน เนื่องจากข้อมูล CRM มักไม่มีโครงสร้าง การส่งข้อความดิบไปยัง Search API จึงทำให้ อัตราการจับคู่ต่ำ ใช้ไปป์ไลน์ 2 ขั้นตอนนี้เพื่อล้างข้อมูลที่อยู่ พิจารณาความครอบคลุมของ API ในภูมิภาค และรับประกันว่าคุณจะดึงรหัสสถานที่ประกอบธุรกิจที่ถูกต้องสำหรับ BigQuery

สมมติว่าคุณมีลูกค้าร้านอาหาร 5 รายต่อไปนี้ใน CRM ซึ่งอยู่ในนิวยอร์กซิตี้

ชื่อสถานที่ ที่อยู่
Boucherie Union Square 225 Park Ave S, New York, NY 10003, United States
Gramercy Tavern 42 E 20th St, New York, NY 10003, United States
Barn Joo Union Square 35 Union Square W, New York, NY 10003, United States
LOS TACOS No.1 200 Park Ave S, New York, NY 10003, United States
Union Square Cafe 101 E 19th St, New York, NY 10003, United States

เนื่องจากระเบียนเหล่านี้ประกอบด้วยข้อความที่ไม่มีโครงสร้าง คุณจึงไม่สามารถรวมระเบียนเหล่านี้กับข้อมูลข้อมูลเชิงลึกเกี่ยวกับสถานที่ใน BigQuery ได้โดยตรง แต่ให้ประมวลผลแต่ละแถว ผ่านไปป์ไลน์ต่อไปนี้เพื่อจัดรูปแบบข้อความให้เป็นมาตรฐานและดึงรหัสสถานที่

ขั้นตอนที่ 3ก: การล้างข้อมูลที่อยู่และการจับคู่โดยตรง

สร้างมาตรฐานให้กับข้อมูลที่อยู่ก่อน เลือก API ตามประเทศเป้าหมาย

ตัวเลือกที่ 1: Address Validation API

สำหรับภูมิภาคที่รองรับ ให้ส่งชื่อและที่อยู่ธุรกิจ CRM ที่ต่อกันไปยัง API ตรวจสอบอาร์เรย์ result.geocode.placeTypes ของ การตอบกลับ:

  • การจับคู่สถานประกอบการ: หากมี establishment หรือ point_of_interest แสดงว่า API แก้ไขธุรกิจสำเร็จแล้ว ผนวกข้อความนี้ placeId ลงในชุดข้อมูล แล้วไปที่ระเบียน CRM ถัดไป ไม่จำเป็นต้องเรียก API เพิ่มเติมสำหรับรายการนี้
  • ไม่ตรงกับสถานประกอบการ: หากไม่มีธุรกิจประเภทดังกล่าว API จะยืนยันองค์กรธุรกิจอย่างชัดเจนไม่ได้ รหัสสถานที่ที่แสดงผลจะแสดงถึงลักษณะทางภูมิศาสตร์ (เช่น อาคาร ถนน หรือเมือง) อย่าใช้รหัสสถานที่นี้กับ BigQuery เนื่องจากจะทำให้การรวมการยกเว้นล้มเหลว ให้บันทึก result.address.formattedAddress แล้วไปที่ ขั้นตอนที่ 3b แทน

ตัวเลือกที่ 2: Geocoding API

สำหรับภูมิภาคที่ Address Validation ไม่รองรับ ให้ส่งเฉพาะที่อยู่ CRM ไปยัง Geocoding API อย่าใส่ชื่อธุรกิจ เนื่องจาก Geocoding API อาจ แสดงผลลัพธ์ที่คาดเดาไม่ได้ แตกไฟล์ formattedAddress ที่ได้และ ไปยังขั้นตอนที่ 3b

สถาปัตยกรรมขั้นสูง: การจัดการข้อมูลที่ไม่มีโครงสร้างด้วย LLM

หากข้อมูล CRM มีคุณภาพต่ำมาก เช่น ชื่อธุรกิจและที่อยู่ปะปนกัน ในช่องหมายเหตุแบบข้อความอิสระเดียว ให้ประมวลผลระเบียนล่วงหน้าด้วย LLM เช่น Gemini คุณสามารถป้อนพรอมต์ให้ Gemini แยกวิเคราะห์ชื่อธุรกิจจากสถานที่ตั้งอย่างชัดเจน ก่อนที่จะป้อนลงในไปป์ไลน์นี้

ขั้นตอนที่ 3ข: แก้ไขนิติบุคคล

หากขั้นตอนที่ 3กแสดงเฉพาะที่อยู่ที่ทำความสะอาดแล้ว ให้ต่อท้ายด้วยชื่อธุรกิจ CRM เดิม แล้วส่งไปยัง Text Search API การกำหนดที่อยู่ให้เป็นมาตรฐานก่อนจะช่วยเพิ่มอัตราการจับคู่ได้อย่างมาก

ใช้ Field Mask (X-Goog-FieldMask: places.id) และตั้งค่า "pageSize": 1 เพื่อให้ระบบแสดงเฉพาะรหัสสถานที่ที่ตรงกันมากที่สุด เพื่อเพิ่มประสิทธิภาพและลดต้นทุน

ตัวอย่างคำขอค้นหาข้อความ:

curl -X POST -d '{
  "textQuery" : "Gramercy Tavern 42 E 20th St, New York, NY 10003-1324, USA",
  "pageSize": 1
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: places.id' \
'https://places.googleapis.com/v1/places:searchText'

เอาต์พุตของไปป์ไลน์

หลังจากประมวลผลระเบียน CRM ผ่านไปป์ไลน์ 2 ขั้นตอนนี้แล้ว ไม่ว่าจะดึงข้อมูลรหัส ได้สำเร็จในขั้นตอนที่ 3ก หรือแก้ไขโดยใช้การค้นหาข้อความในขั้นตอนที่ 3ข เป้าหมายสุดท้ายคือการต่อท้ายคอลัมน์ place_id ใหม่ลงในชุดข้อมูล ตอนนี้ตารางผลลัพธ์พร้อมให้อัปโหลดลงใน BigQuery เป็นรายการยกเว้นแล้ว

ชื่อสถานที่ ที่อยู่ รหัสสถานที่
Boucherie Union Square 225 Park Ave S, New York, NY 10003, United States ChIJc1Vf7KFZwokR1YL2Rn9oxi8
Gramercy Tavern 42 E 20th St, New York, NY 10003, United States ChIJvSQIgqFZwokRFYQbJdzceSs
Barn Joo Union Square 35 Union Square W, New York, NY 10003, United States ChIJQ7XpyqNZwokRQpVfvGEViWM
LOS TACOS No.1 200 Park Ave S, New York, NY 10003, United States ChIJFZh0PABZwokRVzoJu0o-mLY
Union Square Cafe 101 E 19th St, New York, NY 10003, United States ChIJxTHke6JZwokRCLWVd99eDBw

ขั้นตอนที่ 4: ดําเนินการวิเคราะห์การยกเว้นช่องว่างใน BigQuery

เมื่อแมปลูกค้าเดิมกับรหัสสถานที่แล้ว ให้ใช้ฟังก์ชันจำนวนสถานที่ เพื่อค้นหาผู้มีโอกาสเป็นลูกค้าใหม่

ในตัวอย่างนี้ เราจะค้นหาธุรกิจเป้าหมายที่ดำเนินการอยู่ (ร้านอาหาร บาร์ คาเฟ่ และร้านกาแฟ) ภายในรัศมี 850 เมตรจาก Union Square (40.73595, -73.99043) เราจะเพิ่มฟังก์ชัน PLACES_COUNT_PER_H3 เป็นความละเอียด 10 เพื่อให้ได้มุมมองที่ละเอียดยิ่งขึ้นสำหรับการกำหนดเส้นทางระดับถนน

เนื่องจากฟังก์ชันจะแสดงรหัสสถานที่เป็นอาร์เรย์ในsample_place_idsคอลัมน์ เราจึงต้องUNNESTอาร์เรย์เพื่อใส่ธุรกิจที่คาดหวังแต่ละรายในแถวของตัวเอง จากนั้นเราจะดำเนินการ LEFT JOIN กับรหัสสถานที่ของลูกค้าที่เรารู้จัก

การค้นหาด้านล่างใช้คำสั่ง CASE เพื่อแจ้งผลลัพธ์แทนที่จะกรองออกทั้งหมด เพื่อพิสูจน์ว่าตรรกะการยกเว้นใช้ได้สำหรับการสาธิตนี้ นอกจากนี้ ยังจัดเรียงลูกค้าเดิมไว้ที่ด้านบนสุดของตารางผลลัพธ์อย่างชัดเจน เพื่อให้คุณยืนยันได้ว่าระบบจับคู่ลูกค้าเดิมได้สำเร็จ

การค้นหา SQL

WITH existing_customers AS (
  -- 1. Simulate the uploaded CRM table
  SELECT * FROM UNNEST([
    'ChIJc1Vf7KFZwokR1YL2Rn9oxi8', -- Boucherie Union Square
    'ChIJvSQIgqFZwokRFYQbJdzceSs', -- Gramercy Tavern
    'ChIJQ7XpyqNZwokRQpVfvGEViWM', -- Barn Joo Union Square
    'ChIJFZh0PABZwokRVzoJu0o-mLY', -- LOS TACOS No.1
    'ChIJxTHke6JZwokRCLWVd99eDBw'  -- Union Square Cafe
  ]) AS place_id
),

target_area_businesses AS (
  -- 2. Query Places Insights for target businesses in the radius
  SELECT
    h3_cell_index,
    place_id
  FROM `places_insights___us.PLACES_COUNT_PER_H3`(
    JSON_OBJECT(
      'geography', ST_GEOGPOINT(-73.99043, 40.73595),
      'geography_radius', 850,
      'h3_resolution', 10,
      'types',['restaurant', 'bar', 'cafe', 'coffee_shop'],
      'business_status', ['OPERATIONAL']
    )
  ),
  UNNEST(sample_place_ids) AS place_id
)

-- 3. The "Proof" Output: Flag them instead of filtering them out
SELECT
  t.h3_cell_index,
  t.place_id,
  -- Flag whether the LEFT JOIN found a match in the CRM table
  CASE
    WHEN e.place_id IS NOT NULL THEN 'Existing Customer (To Be Excluded)'
    ELSE 'Net-New Lead'
  END AS lead_status,
  CONCAT('https://www.google.com/maps/search/?api=1&query=Place&query_place_id=', t.place_id) AS actionable_maps_url
FROM target_area_businesses t
LEFT JOIN existing_customers e
  ON t.place_id = e.place_id
ORDER BY
  -- Explicitly sort the existing customers to the top (0 comes before 1)
  CASE WHEN e.place_id IS NOT NULL THEN 0 ELSE 1 END ASC;

ผลการค้นหา

ต่อไปนี้คือตัวอย่างเอาต์พุตของคําค้นหา ซึ่งแสดงวิธีระบุลูกค้าเดิมสําเร็จและแยกออกจากผู้มีโอกาสเป็นลูกค้าใหม่ภายในเซลล์ H3 แบบละเอียดเดียวกัน

โปรดสังเกตว่าคําค้นหาใช้คําสั่ง CONCAT เพื่อสร้างURL ของ Maps แบบข้ามแพลตฟอร์มโดยใช้ place_id ซึ่งจะสร้างคอลัมน์ actionable_maps_url โดยอัตโนมัติ เพื่อให้ฝ่ายขายมีลิงก์ที่คลิกได้ทันทีเพื่อโหลดธุรกิจที่แน่นอน ในแอป Google Maps บนมือถือ หรือเบราว์เซอร์

h3_cell_index place_id lead_status actionable_maps_url
8a2a100d2767fff ChIJQ7XpyqNZwokRQpVfvGEViWM ลูกค้าเดิม (ไม่รวม) https://www.google.com/maps/search/?api=1&query=Place&query_place_id=ChIJQ7XpyqNZwokRQpVfvGEViWM
8a2a100d20effff ChIJvSQIgqFZwokRFYQbJdzceSs ลูกค้าเดิม (ไม่รวม) https://www.google.com/maps/search/?api=1&query=Place&query_place_id=ChIJvSQIgqFZwokRFYQbJdzceSs
8a2a100d2397fff ChIJc1Vf7KFZwokR1YL2Rn9oxi8 ลูกค้าเดิม (ไม่รวม) https://www.google.com/maps/search/?api=1&query=Place&query_place_id=ChIJc1Vf7KFZwokR1YL2Rn9oxi8
8a2a100d2397fff ChIJFZh0PABZwokRVzoJu0o-mLY ลูกค้าเดิม (ไม่รวม) https://www.google.com/maps/search/?api=1&query=Place&query_place_id=ChIJFZh0PABZwokRVzoJu0o-mLY
8a2a100d23b7fff ChIJxTHke6JZwokRCLWVd99eDBw ลูกค้าเดิม (ไม่รวม) https://www.google.com/maps/search/?api=1&query=Place&query_place_id=ChIJxTHke6JZwokRCLWVd99eDBw
8a2a1072c96ffff ChIJ6atD-WRZwokRULgcZ4TWin8 ผู้มีโอกาสเป็นลูกค้าใหม่ https://www.google.com/maps/search/?api=1&query=Place&query_place_id=ChIJ6atD-WRZwokRULgcZ4TWin8
8a2a1072c96ffff ChIJ09yg-llZwokRKAgp0jg6TCU ผู้มีโอกาสเป็นลูกค้าใหม่ https://www.google.com/maps/search/?api=1&query=Place&query_place_id=ChIJ09yg-llZwokRKAgp0jg6TCU

แสดงภาพโอกาสในการขายด้วย Places UI Kit

คุณสามารถส่ง place_ids ไปยัง Places UI Kit เพื่อสร้างแดชบอร์ดการสร้างผู้มีโอกาสเป็นลูกค้าภายในที่สมบูรณ์สำหรับฝ่ายขาย แทนที่จะระบุ URL ของ Maps แบบดิบ คุณสามารถวางคอมโพเนนต์ที่สร้างไว้ล่วงหน้าสำหรับ เว็บ Android และ iOS ได้ในทุกแพลตฟอร์ม คอมโพเนนต์เหล่านี้จะแสดงข้อมูลจุดที่น่าสนใจที่สมบูรณ์โดยอัตโนมัติ เช่น รูปภาพ คะแนน และเวลาทำการ โดยที่คุณไม่ต้องเขียนโค้ด UI ของส่วนหน้าหรือจัดการการตอบกลับของ API ด้วยตนเอง

ขีดจำกัดข้อมูล

ฟังก์ชัน Places Count จะแสดงผลรหัสสถานที่สูงสุด 250 รายการต่อเซลล์ทางภูมิศาสตร์ ในอาร์เรย์ sample_place_ids หากพื้นที่หนาแน่นมาก ระบบจะจำกัดรายชื่อผู้มีโอกาสเป็นลูกค้าที่สร้างขึ้นสำหรับเซลล์นั้นๆ ไว้ที่ 250 ราย หากต้องการให้ได้ลูกค้าเป้าหมายทั้งหมดในตลาดที่มีการแข่งขันสูง ให้ลองใช้กลยุทธ์ต่อไปนี้

  • ใช้ตัวกรองการค้นหาที่เฉพาะเจาะจง: แทนที่จะจัดกลุ่มหลายประเภทไว้ในการค้นหาเดียว (เช่น ตัวอย่างด้านบน) ให้เรียกใช้การค้นหาแยกกันสำหรับสถานที่แต่ละประเภท
  • ลดขอบเขตเชิงพื้นที่: ลดพื้นที่การค้นหาโดยรวมโดยใช้geography_radiusที่เล็กลง หรือแบ่งพื้นที่ออกเป็นกลุ่มย่อยๆ ที่ละเอียดยิ่งขึ้นโดยเพิ่มความละเอียดของ H3 (สูงสุดที่ความละเอียด 11)
  • การปรับความละเอียดตามความหนาแน่น: เมื่อวิเคราะห์เขตแดนที่มีความหนาแน่นของประชากรแตกต่างกัน ให้ปรับขนาดการค้นหาแบบไดนามิกเพื่อหลีกเลี่ยงการเกินขีดจำกัดรหัสสถานที่ 250 รายการ ใช้ความละเอียด H3 ที่กว้างขึ้น (เช่น 6 หรือ 7) หรือ geography_radius ที่ใหญ่ขึ้นในพื้นที่ชนบทซึ่งธุรกิจกระจายตัวอยู่ ในทางกลับกัน ให้ใช้ความละเอียดที่ละเอียดมาก (เช่น 10 หรือ 11) ในพื้นที่เขตเมืองที่มีความหนาแน่นสูงเพื่อให้มั่นใจว่าคุณจะดึงดูดผู้มีโอกาสเป็นลูกค้าทุกรายโดยไม่ตัดรายชื่อ

คำค้นหาการผลิต

เมื่อยืนยันว่าระบบระบุลูกค้าเดิมได้สำเร็จแล้ว คุณจะ เปลี่ยนกลับไปใช้เวอร์ชันการนำไปใช้งานจริงของคำค้นหาได้ แทนที่บล็อก SELECT สุดท้าย ด้วยWHEREข้อความต่อไปนี้เพื่อกรองสมุดลูกค้าที่มีอยู่ ออกอย่างถาวร

SELECT
  t.h3_cell_index,
  t.place_id,
  CONCAT('https://www.google.com/maps/search/?api=1&query=Place&query_place_id=', t.place_id) AS actionable_maps_url
FROM target_area_businesses t
LEFT JOIN existing_customers e
  ON t.place_id = e.place_id
WHERE e.place_id IS NULL; -- Filters out the CRM matches

การกำกับดูแลและการปฏิบัติตามข้อกำหนดด้านสถาปัตยกรรม

หากต้องการรักษาระบบให้มีประสิทธิภาพสูงขึ้นและเป็นไปตามข้อกำหนด ให้ปฏิบัติตามมาตรฐานต่อไปนี้

  1. รหัสสถานที่เป็นตัวระบุแบบถาวร: นอกเหนือจากรหัสสถานที่แล้ว ข้อกำหนดในการให้บริการของ Google Maps ยังห้ามจัดเก็บหรือแคชข้อมูล POI แต่ละรายการที่ได้จาก Places API (เช่น หมายเลขโทรศัพท์และรายละเอียดการติดต่อ) ใช้รหัสสถานที่เป็น ตัวระบุแบบถาวรสำหรับการวิเคราะห์พื้นที่ว่างที่เกิดซ้ำ
  2. ตรวจสอบความใหม่ของแอตทริบิวต์ด้วยการเรียก API แบบเรียลไทม์: ใช้รหัสสถานที่เพื่อทำการเรียก "ทันที" ไปยัง Place Details API เพื่อให้แน่ใจว่าพนักงานขายมีข้อมูลธุรกิจและข้อมูลติดต่อที่เป็นปัจจุบันที่สุดสำหรับสถานที่นั้นๆ หรือคุณจะสร้าง URL ของ Google Maps แบบไดนามิกเพื่อให้ทีมขายมีลิงก์โดยตรงไปยัง Business Profile ใน Google Maps ก็ได้ ดังที่แสดงในเอาต์พุตการค้นหา

บทสรุป

การใช้รหัสสถานที่เป็นคีย์หลักจะช่วยให้คุณเชื่อมช่องว่างระหว่างการวิเคราะห์ตลาดระดับสูงกับการปฏิบัติการขายระดับพื้นดินที่นำไปใช้ได้จริง สถาปัตยกรรมนี้หลีกเลี่ยงความไม่ถูกต้องของการกำหนดเป้าหมายตามประชากรทั่วไป ใช้คลังข้อมูลแบบ Serverless สำหรับการรวมข้อมูลที่ต้องใช้การคำนวณจำนวนมาก และปฏิบัติตามแนวทางปฏิบัติแนะนำด้านการจัดการต้นทุนและการปฏิบัติตามข้อกำหนดอย่างเคร่งครัดที่เลเยอร์ API

การดำเนินการถัดไป

  • ขอสิทธิ์เข้าถึงตัวอย่าง ชุดข้อมูลข้อมูลเชิงลึกเกี่ยวกับสถานที่
  • สมัครใช้ชุดข้อมูลข้อมูลเชิงลึกเกี่ยวกับสถานที่โดยใช้ข้อมูล BigQuery การแลกเปลี่ยนข้อมูลเพื่อเข้าถึงข้อมูลตัวอย่างหรือข้อมูลประเทศแบบเต็ม
  • อ่านข้อมูลอ้างอิงพารามิเตอร์ตัวกรองเพื่อปรับแต่งคำค้นหา BigQuery SQL ตามแอตทริบิวต์และประเภทธุรกิจ
  • ใช้การค้นหาแบบไดนามิกของ Places API ใน CRM หรือแอปพลิเคชันการกำหนดเส้นทางการขาย เพื่อแสดงข้อมูลติดต่อที่เป็นปัจจุบันและเป็นไปตามข้อกำหนดสำหรับผู้มีโอกาสเป็นลูกค้าใหม่ที่สร้างขึ้น

ผู้ร่วมให้ข้อมูล