Electronic device for correcting store location and method of operation thereof

An electronic device corrects store locations by filtering and clustering delivery personnel's pickup and arrival events, ensuring accurate store locations and reducing inefficient delivery routes.

JP2026500463APending Publication Date: 2026-01-07COUPANG CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025525102
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-05-08
Filing Date
2023-05-17
Publication Date
2026-01-07

AI Technical Summary

Technical Problem

Inaccurate store locations provided by delivery service platforms lead to inefficient delivery routes, necessitating a method to correct and filter pickup locations of delivery personnel for accurate store location estimation.

Method used

An electronic device corrects store locations by identifying and clustering pickup and store arrival events within specific distance thresholds, applying filtering and verification processes to ensure accuracy, and updating the store location based on validated data.

Benefits of technology

The method prevents delivery personnel from traveling longer distances by providing accurate store locations, enhancing delivery efficiency through improved location correction and verification processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026500463000001_ABST
    Figure 2026500463000001_ABST
Patent Text Reader

Abstract

A method for correcting a store location according to various embodiments of the present disclosure may include: identifying pickup events and store arrival events corresponding to the same order information from among a plurality of pickup events and a plurality of store arrival events associated with a store; and determining at least one of the identified pickup events or store arrival events as a first event; determining at least one of the first events, where a distance between a location where the pickup event occurred and a location where a store arrival event corresponding to the pickup event occurred is within a first predetermined distance, as a second event; determining at least one of the at least one second event, where a location where the second event occurred is equal to or greater than a second predetermined distance and equal to or less than a third predetermined distance from a store location stored for the store, as a third event; and correcting the store location based on the at least one third event.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] FIELD OF THE DISCLOSURE The present disclosure relates to an electronic device for correcting store locations and a method of operation thereof. [Background technology]

[0002] The market for delivery services is growing rapidly due to the expansion of non-face-to-face services caused by various environmental factors. In response to this growth, operators of delivery service platforms are making various efforts to expand the number of users of their platforms. As part of these efforts, platform operators are lowering the barrier to entry for delivery services and diversifying their platforms to allow delivery service users to occasionally work as delivery personnel.

[0003] Platform delivery personnel use various means of transportation (e.g., cars, electric motors, walking, bicycles, etc.) to provide delivery services corresponding to the orders. Since delivery personnel travel to pick up delivery items using the store location provided by the platform, there is a demand for technology that allows the platform to provide accurate store locations. Summary of the Invention [Problem to be solved by the invention]

[0004] According to various embodiments of the present disclosure, the technical problem is to correct for inaccurate store locations.

[0005] According to various embodiments of the present disclosure, a technical problem is to correct inaccurate store locations using delivery personnel's pickup locations.

[0006] According to various embodiments of the present disclosure, the technical problem is to filter the pickup locations of delivery personnel used to correct store locations.

[0007] According to various embodiments of the present disclosure, a technical problem is to provide a method for estimating an accurate store location by clustering the filtered pickup locations of delivery personnel.

[0008] The technical problems of the present disclosure are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by a person of ordinary skill in the art of the present disclosure from the following description. [Means for solving the problem]

[0009] According to one embodiment, a method for correcting a store location performed by an electronic device may include: identifying a pickup event and a store arrival event corresponding to the same order information from among a plurality of pickup events and a plurality of store arrival events associated with a store; and determining at least one of the identified pickup event or store arrival event as a first event; determining at least one of the first events, where a distance between a location where the pickup event occurred and a location where a store arrival event corresponding to the pickup event occurred is within a first predetermined distance, as a second event; determining at least one of the at least one second event, where a location where the second event occurred is equal to or greater than a second predetermined distance and equal to or less than a third predetermined distance from a store location stored for the store, as a third event; and correcting the store location based on the at least one third event.

[0010] In one embodiment, the act of determining the at least one third event may be performed in response to the at least one second event being equal to or greater than a predetermined number.

[0011] According to an embodiment, the operation of correcting the store location may be performed in response to a ratio of at least one third event to at least one second event being equal to or greater than the first ratio.

[0012] In one embodiment, the ratio of at least one third event to at least one second event may be determined based on a parameter excluding, from among the at least one second event, second events whose locations where the second events occurred are more than a third predetermined distance from the store location.

[0013] The method for correcting a store location according to an embodiment may further include correcting the determined location based on the location corresponding to at least one third event as the store location.

[0014] The method for correcting a store location according to an embodiment may further include correcting the location determined based on a clustering result of the locations corresponding to at least one third event as the store location.

[0015] The method for correcting a store location according to an embodiment may further include an operation of requesting verification of the corrected store location, and an operation of determining whether to update the corrected store location in the delivery service database based on the verification result.

[0016] The method for correcting a store location according to an embodiment may further include storing the corrected store location, which is determined not to be updated in the delivery service database based on the verification result, and the first location corresponding to the third event in a temporary database.

[0017] The method for correcting a store location according to an embodiment may further include an operation of again correcting the store location based on at least one of the third event stored in the temporary database and a plurality of pickup events or a plurality of store arrival events further received after the operation of storing in the temporary database.

[0018] In one embodiment, the operation of re-correcting the store location may include an operation of re-correcting the store location by assigning a higher weight to multiple pickup events or multiple store arrival events received after the operation of storing in the temporary database compared to the third event stored in the temporary database.

[0019] The method for correcting a store location according to one embodiment may further include receiving events corresponding to respective order information from a plurality of terminals corresponding to a plurality of delivery staff, and identifying whether the event is a pickup event or a store arrival event.

[0020] According to another embodiment, an electronic device may include a processor and a memory storing instructions configured to be executed by the processor, wherein the instructions, when executed by the processor, cause the processor to identify pickup events and store arrival events corresponding to identical order information from among a plurality of pickup events and a plurality of store arrival events, determine at least one of the identified pickup events or store arrival events as a first event, determine at least one of the first events, where a distance between a location where the pickup event occurred and a location where a store arrival event corresponding to the pickup event occurred is within a first predetermined distance, as a second event, determine at least one of the at least one second event as a third event based on whether a location where the second event occurred is greater than a second predetermined distance and less than a third predetermined distance from the store location, and correct the store location based on the at least one third event. [Effects of the Invention]

[0021] According to various embodiments of the present disclosure, the server can prevent delivery personnel from having to travel longer distances due to incorrect store locations.

[0022] According to various embodiments of the present disclosure, the server can obtain an accurate store location by correcting the incorrect store location based on the locations of delivery personnel who actually visited the store.

[0023] According to various embodiments of the present disclosure, the server can perform filtering to prevent incorrect location information received from the delivery person's terminal from being used in the store location correction process.

[0024] According to various embodiments of the present disclosure, the server can obtain an accurate store location by correcting the store location using the location where the pickup event occurred.

[0025] The effects of the technical idea of ​​the present disclosure are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description of the specification. [Brief explanation of the drawings]

[0026] [Figure 1] FIG. 1 illustrates a system according to various embodiments of the present disclosure. [Figure 2] FIG. 1 is a block diagram illustrating an electronic device according to various embodiments of the present disclosure. [Figure 3] FIG. 1 is a block diagram illustrating a method for correcting store locations according to various embodiments of the present disclosure. [Figure 4A] FIG. 10 is a diagram illustrating a method for determining a pickup event or a store arrival event used to correct a store location according to various embodiments of the present disclosure. [Figure 4B] FIG. 10 is a diagram illustrating a method for determining a pickup event or a store arrival event used to correct a store location according to various embodiments of the present disclosure. [Figure 5] FIG. 10 is a diagram illustrating a method for correcting a store location based on the clustering result of the third event according to various embodiments of the present disclosure. [Figure 6] FIG. 10 is a diagram illustrating a case where a second event that is greater than or equal to a second predetermined distance and less than or equal to a third predetermined distance is less than a first ratio according to various embodiments of the present disclosure. [Figure 7]A figure for explaining a method of correcting a store location when a second event that is greater than a second predetermined distance and less than a third predetermined distance is greater than a first ratio in various embodiments of the present disclosure. [Figure 8] 1 is a flowchart illustrating the operation of an electronic device according to various embodiments of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION

[0027] The examples of the present disclosure are provided for the purpose of explaining the technical concept of the present disclosure, and the scope of the rights of the present disclosure is not limited to the examples presented below or the specific descriptions of these examples.

[0028] Unless otherwise specified, all technical and scientific terms used in this disclosure have the meanings commonly understood by those of ordinary skill in the art to which this disclosure belongs. All terms used in this disclosure have been selected for the purpose of more clearly describing this disclosure, and are not selected to limit the scope of rights related to this disclosure.

[0029] As used in this disclosure, terms such as "including," "comprising," "having," and the like should be understood as open-ended terms that include the possibility of including other embodiments, unless otherwise specified in the phrase or sentence in which the term is included.

[0030] In this disclosure, the singular terms "a," "an," and "the" may include the plural meaning unless otherwise specified, and this also applies to the singular terms recited in the claims.

[0031] The terms "first", "second", etc. used in this disclosure are used to distinguish between multiple elements, and do not limit the order or importance of the elements.

[0032] The term "module" as used in this disclosure refers to software or hardware components such as a field-programmable gate array (FPGA) or an application-specific integrated circuit (ASIC). However, a "module" is not limited to hardware and software, and may be configured to reside on an addressable storage medium or to implement one or more processors. Thus, by way of example, a "module" includes components such as software components, object-oriented software components, class components, and task components, as well as processors, functions, attributes, procedures, subroutines, program code segments, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. Additionally, the functionality provided within components and "modules" may be combined into fewer components and "modules" or further separated into additional components and "modules."

[0033] As used in this document, the phrase "based on" is used to describe one or more factors that influence the decision, act of judgment, or action described in the phrase or sentence in which it appears, and does not exclude additional factors that influence that decision, act of judgment, or action.

[0034] In this disclosure, when a component is referred to as being "coupled" or "connected" to another component, it should be understood that the component is directly coupled or connected to the other component, or is coupled or connected through yet another component.

[0035] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. In the accompanying drawings, identical or corresponding components are designated by the same reference numerals. Furthermore, in the following description of the embodiments, duplicated descriptions of identical or corresponding components may be omitted. However, omission of a description of a component does not mean that the component is not included in any of the embodiments.

[0036] 1 illustrates an environment in which an electronic device according to an embodiment of the present disclosure can be applied. An electronic device 110 and a user terminal (hereinafter referred to as a "terminal") 120 are connected via a network and can communicate with each other. The electronic device 110 may be a server or another terminal distinct from the terminal 120.

[0037] The terminal 120 may be embodied as a terminal capable of transmitting and receiving various information to and from the electronic device 110 over a network. For example, the terminal 120 may be one of a computer, a laptop, a portable communication terminal (such as a smartphone), a portable multimedia device, a wearable device, or an HMD. However, the type of the terminal 120 is not limited thereto, and the terminal 120 may be any device that includes an input / output interface that can input information from a user or output information to a user and can communicate with the electronic device 110 or other devices over a network. The terminal 120 may provide information received from the electronic device 110 to the user and may receive input from the user and transmit it to the electronic device 110. The input obtained from the user may include various forms of input, such as clicking using a mouse, touching using a touchpad or touchscreen, voice recognition, and other electronic input.

[0038] The network may serve to connect the electronic device 110 to the terminal 120 or other external devices. For example, the network may provide a connection path so that the terminal 120 can be connected to the electronic device 110 and transmit and receive packet data to and from the electronic device 110. The network may be implemented as any type of wired or wireless network, such as a local area network (LAN), a wide area network (WAN), a mobile radio communication network, or wireless broadband internet (Wibro).

[0039] FIG. 2 is a block diagram of an electronic device according to an embodiment of the present disclosure. In an embodiment, the electronic device 200 may be a server or a terminal. In an embodiment, the electronic device 200 may include, as components, a communication circuit 210, one or more processors 220, and / or one or more memories 230. In an embodiment, at least one of the components of the electronic device 200 may be omitted, and other components may be added to the electronic device 200. In an embodiment, additionally or alternatively, some components may be integrated or embodied as a single or multiple individual components. In the present disclosure, one or more processors 220 may be referred to as processor 220. The term processor 220 may refer to a collection of one or more processors, unless otherwise specified in the context. In the present disclosure, one or more memories 230 may be referred to as memory 230. The term memory 230 may refer to a collection of one or more memories, unless otherwise specified in the context. In one embodiment, at least some of the internal / external components of the electronic device 200 are connected to each other via a bus, a GPIO (General Purpose Input / Output), an SPI (Serial Peripheral Interface), or an MIPI (Mobile Industry Processor Interface), and can exchange information (data, signals, etc.).

[0040] The communication circuit 210 can communicate with a user terminal and an external device. The communication circuit 210 can perform wireless or wired communication between the electronic device 200 and the terminal. For example, the communication circuit 210 can perform wireless communication using a method such as enhanced Mobile Broadband (eMBB), Ultra Reliable Low-Latency Communications (URLLC), Massive Machine Type Communications (MMTC), Long-Term Evolution (LTE), LTE Advance (LTE-A), New Radio (NR), Universal Mobile Telecommunications System (UMTS), Global System for Mobile communications (GSM), Code Division Multiple Access (CDMA), Wideband CDMA (WCDMA), Wireless Broadband (WiBro), Wireless Fidelity (WiFi), Bluetooth (Bluetooth), Near Field Communication (NFC), Global Positioning System (GPS), or Global Navigation Satellite System (GNSS). For example, the communication circuitry 210 may perform wired communication using a method such as Universal Serial Bus (USB), High Definition Multimedia Interface (HDMI), Recommended Standard-232 (RS-232), or Plain Old Telephone Service (POTS). In one embodiment, the electronic device 200 may be integrated with another device. In this case, the communication circuitry 210 may serve as a connection circuit or interface connecting the electronic device 200 to the other device.

[0041] The processor 220 may run software (e.g., instructions, programs, etc.) to control at least one component of the electronic device 200 coupled to the processor 220. The processor 220 may also perform various operations related to the present disclosure, such as calculations, processing, data generation, and processing. The processor 220 may also load data from or store data in the memory 230. The processor 220 may also transmit and receive various information to and from a user's terminal and external devices via the communication circuit 210. In one embodiment, the processor 220 may control the communication circuit 210 to transmit various information, such as information related to various calls (pages), to the user's terminal.

[0042] The memory 230 may store various information (data). The information stored in the memory 230 is information acquired, processed, or used by at least one component of the electronic device 200 and may include software (e.g., instructions, programs, etc.). The memory 230 may include volatile and / or non-volatile memory. In the present disclosure, the instructions or programs refer to software stored in the memory 230 and may include an operating system for controlling resources of the electronic device 200, applications, and / or middleware that provides various functions to applications so that the applications can utilize the resources of the electronic device 200. In one embodiment, the memory 230 may store instructions that, when executed by the processor 220, cause the processor 220 to perform operations. The memory 230 may store at least a portion of information received from the terminal via the communication circuit 210 and / or information transmitted to the terminal via the communication circuit 210. The processor 220 may store at least a portion of information received from the terminal via the communication circuit 210 and / or information transmitted to the terminal via the communication circuit 210 in the memory 230.

[0043] Hereinafter, operations described in FIGS. 3 to 8 as being performed by the electronic device may be understood to be performed by the processor 220 of the electronic device 200 described in FIG.

[0044] FIG. 3 is a block diagram illustrating a method for correcting store locations according to various embodiments of the present disclosure.

[0045] An exemplary environment in which a delivery service is provided may be one in which a consumer requests an order, a supplier receives the consumer's order and prepares a product corresponding to the order, and a delivery person picks up the prepared product and delivers it to the consumer. The entities participating in the delivery service can communicate various information with each other through their terminals, and the electronic device 200 can process various information communicated between the terminals of the entities.

[0046] For the purpose of illustration, multiple delivery personnel terminals, one consumer terminal, and one supplier terminal may be connected to the electronic device 200. This is merely for the sake of convenience, and the number of terminals representing the number of entities participating in the delivery service may be changed. In the above examples, some components may be added or deleted as needed.

[0047] The electronic device 200 may identify a new order requested by a consumer terminal. Here, various techniques may be used for the electronic device 200 to identify a new order. For example, the electronic device 200 may manage requested orders as a list and manage the processing of those orders, and may identify a newly added order to the list as a new order. As another example, the electronic device 200 may identify a new order based on identification information included in the order. In addition to the above examples, various operations for identifying a new order requested by a consumer terminal may be included within the scope of the present disclosure. It should be noted that any operation for identifying a new order to manage subsequent processing of the new order may be included within the scope of the present disclosure. The new order identified by the electronic device 200 may include various information. As a specific example, the new order may include various information regarding the breakdown of products ordered by the consumer, the supplier of the products, the pickup location (e.g., the supplier's store location) of the products, and the delivery location of the products.

[0048] Furthermore, the electronic device 200 may transmit a new order to a supplier terminal corresponding to the new order based on various information included in the new order, where the supplier terminal may receive the new order, and the supplier may confirm the new order and prepare the goods corresponding to the new order.

[0049] The electronic device 200 can assign the new order to one of the plurality of deliveryperson terminals based on various information included in the new order. Here, the electronic device 200 can also assign the new order to one of the plurality of deliveryperson terminals by further considering the status information of each of the plurality of deliveryperson terminals in addition to the various information included in the new order. Specifically, the electronic device 200 can assign the new order to one of the plurality of deliveryperson terminals by further considering the status information of each of the deliveryperson terminals that are idle and those that are in a delivery state. When the new order is assigned to one of the plurality of deliveryperson terminals in this manner, the deliveryperson can pick up the items corresponding to the new order at a pickup location and deliver them to a delivery location.

[0050] In addition to the above-described operations, the electronic device 200 according to one embodiment can perform various operations for processing orders in cooperation with the delivery person terminal, the consumer terminal, and the supplier terminal, and can perform any additional or modifiable operations from order acceptance to completion.

[0051] In one embodiment, the electronic device 200 may be a server, and the following operations may be performed on the server.

[0052] In one embodiment, the processor 220 may receive the event 310 from a terminal. The terminal transmitting the event 310 to the electronic device 200 may be a deliveryman terminal. The event may be information determined based on user input entered into the deliveryman terminal. For example, if the deliveryman terminal receives an input of an arrival object from the deliveryman, the event generated at the deliveryman terminal may be a store arrival event. When the deliveryman arrives at the store location where the supplier is located, the deliveryman may select the arrival object. This allows the processor 220 to know that the deliveryman has arrived at the store location. As another example, if the deliveryman terminal receives an input of a pickup object from the deliveryman, the event generated at the deliveryman terminal may be a pickup event. The deliveryman may select the pickup object after picking up the item at the store location where the supplier is located. This allows the processor 220 to know that the deliveryman has picked up the item at the store location.

[0053] According to an embodiment, the processor 220 can calculate a store location based on a received event using the source handler 320. The processor 220 can map the received event by identifying whether the event is a pickup event or a store arrival event using the event mapping 321. The processor 220 can perform filtering 322 based on the mapping result using the event mapping 321. The processor 220 can perform filtering 322 to select pickup events to be used in the location calculation 323. The processor 220 can filter some of the pickup events to calculate an accurate store location, and can use at least some of the filtered events for the location calculation 323. A detailed description of the filtering 322 will be provided below with reference to FIGS. 4A and 4B.

[0054] According to an embodiment, the processor 220 may store the store location acquired by the location calculation 323 of the source handler 320 in the candidate locations 330. A plurality of store locations corresponding to one store may be stored in the candidate locations 330. Order information for one store may be generated daily, and a pickup event and / or store arrival event corresponding to the order information generated daily may be generated daily. Therefore, the processor 220 may perform the location calculation 323 using events collected over a certain period of time. For example, the processor 220 may perform the location calculation 323 using events collected over the past three weeks. Therefore, the collected pickup events may differ over time, and the locations where the pickup events occur may also differ, resulting in changes in the results of the location calculation 323.

[0055] According to one embodiment, processor 220 may perform store location correction 340 based on one store location selected from the plurality of store locations included in candidate locations 330. Processor 220 may verify the corrected store location. Therefore, processor 220 may determine whether to update an existing store location in the delivery service database with the corrected store location based on the verification result. The verification may be performed based on at least one of manual check 350 or multi-source check 360.

[0056] In one embodiment, the administrator terminal may perform a manual check 350 on the corrected store location. The manual check 350 may involve a user using the administrator terminal determining whether the corrected store location matches the actual store location. In another embodiment, the processor 220 may perform a multiple source check 360 on the corrected store location. The source may be a database or a map application programming interface (API) that stores store locations. The processor 220 may compare the corrected store location with the store locations stored in each of the multiple databases or map APIs. For example, during the multiple source check 360, the processor 220 may compare the location of store A stored in each of the multiple databases or map APIs with the corrected location of store A.

[0057] In one embodiment, the processor 220 may determine whether to use the corrected store location based on at least one of the results of the manual check 350 and the results of the multi-source check 360. At least one of the results of the manual check 350 and the multi-source check 360 may include the accuracy of the corrected store location. For example, the accuracy may be determined based on the distance between the corrected store location and the actual store location. The actual store location may be at least one of a store location obtained from a map API or a store location confirmed by physical inspection. The higher the accuracy, the closer the distance between the corrected store location and the actual store location. The processor 220 may determine whether to use the corrected store location for delivery service based on the accuracy of the corrected store location. If the accuracy is above a certain standard (e.g., 90% or higher), the processor 220 may update the corrected store location to the delivery service database 372. The delivery service database 372 may store store locations corresponding to each of multiple stores. The processor 220 may then provide a delivery service 371 to a user (e.g., a supplier, a delivery person, a consumer, etc.) based on the corrected store location. If the accuracy is below a certain level, the processor 220 may store at least one of the corrected store location, the plurality of pickup events used to calculate the corrected store location, or the plurality of store arrival events used to calculate the corrected store location in the temporary database 380. The temporary database 380 may store at least one of the corrected store location or past events. The temporary database 380 may be a storage device that stores past events. For example, if an event that occurred at time T-1 is received through the source handler 320, the events stored in the temporary database 380 may be events that occurred before time T-2. For example, if an event that occurred yesterday is received through the source handler 320, an event that occurred three days ago may be stored in the temporary database 380.

[0058] According to an embodiment, the processor 220 can correct the store location based on at least one of an event (e.g., a pickup event or a store arrival event) stored in the temporary database 380, a pickup event received by the source handler 320, or a store arrival event received by the source handler 320. For example, the event received by the source handler 320 may be a pickup event that occurred at time T-1, and the event stored in the temporary database 380 may be a pickup event (or a store arrival event) that occurred before time T-2. Therefore, the processor 220 can calculate an accurate store location using events received at a specific time as well as events received in the past.

[0059] According to an embodiment, the processor 220 may correct the store location by assigning a higher weight to a recently received pickup event (or store arrival event). For example, the processor 220 may re-correct the store location by assigning a higher weight to multiple pickup events (or store arrival events) received after the operation of storing the event in the temporary database 380, compared to the pickup event (or store arrival event) stored in the temporary database 380. For example, the event received by the source handler 320 may be a pickup event (or store arrival event) that occurred at time T-1, and the event stored in the temporary database 380 may be a pickup event (or store arrival event) that occurred before time T-2. The processor 220 may calculate an accurate store location by assigning a higher weight to the pickup event (or store arrival event) that occurred at time T-1, compared to the pickup event (or store arrival event) that occurred before time T-2, and then re-correct the store location. For another example, processor 220 may assign a higher weight to a pickup event (or store arrival event) that occurs at time T-2 than to a pickup event (or store arrival event) that occurs at time T-3, and may assign a higher weight to a pickup event (or store arrival event) that occurs at time T-1 than to a pickup event (or store arrival event) that occurs at time T-2. Herein, T may represent a specific time or a certain period of time. For example, T may represent a specific day (e.g., the 1st, 2nd, etc.), a specific time (e.g., 10:00, 11:00, 11:09, etc.), a certain period of time (e.g., 1 week, 3 weeks, 1 month, 3 months, etc.), etc.

[0060] 4A and 4B are diagrams illustrating a method for determining a pickup event or a store arrival event used to correct a store location according to various embodiments of the present disclosure.

[0061] According to an embodiment, the terminal 480 may be a delivery person terminal. The terminal 480 may generate an event (481) based on a user input. The terminal 480 may transmit information related to the generated event to the server 410.

[0062] According to an embodiment, the server 410 receives an event and identifies the received event. For example, the processor 220 can identify whether the received event is a store arrival event or a pickup event. Based on the identification result, the processor 220 can map the received event to at least one of a store arrival event or a pickup event. Event mapping has been described in detail above with reference to FIG. 3, and therefore will not be described in detail in this drawing.

[0063] In one embodiment, in operation 430, the server 410 determines whether a pickup event and a store arrival event correspond to the same order information. The order information may be information related to an order request received from a consumer terminal. The order information may be transmitted to at least one of a supplier terminal or a deliveryperson terminal. A deliveryperson may arrive at a store location but not input an arrival object through the deliveryperson terminal, resulting in no store arrival event. In this case, no store arrival event may exist corresponding to the order information. As another example, a deliveryperson may arrive at a store location and input an arrival object through the deliveryperson terminal, but not input a pickup object, resulting in no pickup event. In this case, no pickup event may exist corresponding to the order information. Therefore, in principle, a store arrival event and a pickup event must occur for one order information, but one of the store arrival event or the pickup event may not occur depending on the deliveryperson's input. Order information in which one of the store arrival event or the pickup event does not occur may reduce the accuracy of the store location when correcting the store location. Therefore, the server 410 can use a pickup event that has a corresponding store arrival event among the pickup events as information for correcting the store location. In another embodiment, the server 410 can use a store arrival event that has a corresponding pickup event among the store arrival events as information for correcting the store location. If a specific pickup event and a specific store arrival event correspond to the same order information (431), the server 410 can determine the pickup event as a first event in operation 432. In another embodiment, the server 410 can also determine the store arrival event as a first event. In another embodiment, the server 410 can also determine a pickup event and a store arrival event corresponding to the same order information as a first event. The first event can mean at least one of a pickup event that has a store arrival event corresponding to the same order information or a store arrival event that has a pickup event corresponding to the same order information.As a result of filtering, at least one first event may be present. If the pickup event and the store arrival event do not correspond to the same order information (433), in operation 434, the processor 220 can filter the pickup event or the store arrival event. For example, the processor 220 can filter a pickup event for which there is no store arrival event corresponding to the same order information, and determine that the information is not used to correct the store location. As another example, the processor 220 can filter a store arrival event for which there is no pickup event corresponding to the same order information, and determine that the information is not used to correct the store location. In this specification, filtering may mean excluding data to be filtered (e.g., pickup event, store arrival event) from a dataset used to correct the store location.

[0064] In one embodiment, the processor 220 can use a pickup event to correct the store location. In this case, the first event may be a pickup event. For example, the pickup event may be determined as the first event from among a pickup event and a store arrival event corresponding to the same order information. In another embodiment, the processor 220 can use a store arrival event to correct the store location. In this case, the first event may be a store arrival event. For example, the store arrival event may be determined as the first event from among a pickup event and a store arrival event corresponding to the same order information. In another embodiment, the processor 220 can use a pickup event and a store arrival event to correct the store location. In this case, the first event may include a pickup event and a store arrival event. For example, both a pickup event and a store arrival event corresponding to the same order information may be determined as the first event.

[0065] In one embodiment, in operation 440, the server 410 may determine whether the distance between a first location where a pickup event occurred among the first events and a second location where a store arrival event corresponding to the pickup event occurred is within a first predetermined distance (e.g., 5 m, 10 m). In the context of a "store arrival event corresponding to a pickup event" in this disclosure, "corresponding" may refer to the relationship between a pickup event and a store arrival event corresponding to the same order information. The second location where the store arrival event occurred may be far from the store location if the delivery person selects an arrival object before arriving at the store location. For another example, the first location where the pickup event occurred may be far from the store location if the delivery person selects a pickup object after departing from the store location. Therefore, the greater the distance between the location where the pickup event occurred and the location where the store arrival event occurred, the farther the pickup event or store arrival event occurred from the store location. In this case, the server 410 may filter the pickup event because it may have a negative impact on calculating the accurate store location. If the distance between the first location (the location where the pickup event occurred) and the second location (the location where the store arrival event occurred) is within a first predetermined distance (441), the server 410 can determine the pickup event as the second event in operation 442. In another embodiment, the server 410 can determine the store arrival event as the second event. In another embodiment, the server 410 can determine the pickup event and the store arrival event as the second event. That is, the second event can refer to a pickup event (or a store arrival event) where the distance between the second location where the store arrival event occurred and the first location where the pickup event occurred is within a certain distance. For example, the second event can be at least one of a pickup event determined as the first event or a store arrival event determined as the first event.If the distance between the first location and the second location exceeds a first predetermined distance (443), the server 410 can filter the pickup event and determine that the pickup event is information that will not be used to correct the store location in operation 444. In another embodiment, if the distance between the first location and the second location exceeds a first predetermined distance (443), the server 410 can filter the store arrival event and determine that the store arrival event is information that will not be used to correct the store location in operation 444. That is, in operation 444, the server 410 can exclude at least one of the pickup event or the store arrival event from the data set used to correct the store location.

[0066] In one embodiment, in operation 445, the server 410 may determine whether the number of at least one second event is equal to or greater than a predetermined number. To accurately calculate a store location, the number of second events (e.g., first locations where pickup events occurred) may be required to be equal to or greater than a predetermined number (e.g., 100). Because the corrected store location is calculated by clustering, the accuracy of the clustering results may require the number of second events to be equal to or greater than a predetermined number. Therefore, in operations 450 and 452, determining at least one third event may be performed in response to the number of at least one second event being equal to or greater than a predetermined number. If the number of second events is equal to or less than the predetermined number (447), operation 448 is performed, and the server 410 may end the store location correction process. When the store location correction process is completed, the server 410 may store at least one second event in the temporary database 380. Therefore, the server 410 can use the second event stored in the temporary database 380 to correct the store location after a certain time has passed. For example, the server 410 can correct the store location using the most recently collected pickup event and the second event stored in the temporary database 380. The server 410 can determine at least one third event from among the most recently collected pickup event and the second event stored in the temporary database 380, and the server 410 can correct the store location based on the at least one third event. The server 410 can correct the store location by assigning a higher weight to the most recently collected pickup event (or store arrival event) and a lower weight to the previously collected second event stored in the temporary database 380. If operation 448 is performed, operations subsequent to operation 450 may not be performed. If the number of second events is equal to or greater than the predetermined number (446), operation 450 may be performed. Operation 445 may be omitted, and if operation 445 is omitted, server 410 may perform operation 450 immediately after operation 442 .

[0067] In operation 450 according to one embodiment, the server 410 may determine, as a third event, at least one of the at least one second event, where the location where the second event occurred is greater than or equal to a second predetermined distance and less than or equal to a third predetermined distance from the store location stored for the store. Below, examples are described for cases where the at least one second event is 1) a pickup event, 2) a store arrival event, and 3) a pickup event and a store arrival event.

[0068] In one embodiment, the server 410 can determine a third event from the second events when the second events are pickup events. The server 410 can determine whether a first location where a pickup event occurs among at least one second event is greater than or equal to a second predetermined distance and less than or equal to a third predetermined distance from the store location. For example, the processor 220 can execute instructions based on the following conditional statement (if statement). The conditional statement is: If(|First location - Store location|>=Second predetermined distance && |First location - Store location|<=Third predetermined distance) { Proportion parameter = number of second events Proportion = (Number of second events that meet all conditions) / Proportion parameter } The ratio may refer to the ratio of at least one third event (or second events that satisfy all conditions) to at least one second event (or a parameter of the ratio). In this specification, the at least one third event of the at least one second event may be referred to as a second ratio. Second events that are beyond a third predetermined distance may be excluded from the parameter of the ratio.

[0069] In another embodiment, server 410 can determine a third event from the second events when the second events are store arrival events. In operation 450, server 410 can determine the third event to be at least one store arrival event where the second location where the store arrival event occurred is greater than or equal to a second predetermined distance and less than or equal to a third predetermined distance from the store location stored for the store.

[0070] In one embodiment, the ratio of the at least one third event to the at least one second event may be determined based on a parameter excluding second events from the at least one second event where the second location where the store arrival event occurred is more than a third predetermined distance from the store location.

[0071] In another embodiment, when the second event includes both a pickup event and a store arrival event, the server 410 can determine at least one of the pickup event determined as the second event or the store arrival event determined as the second event as the third event.

[0072] Referring to FIG. 6 , a second predetermined distance 620, a third predetermined distance 630, a store location 610 saved for the store, and pickup events 621, 622, 623, 631, 641, and 642 are shown. Events 621, 622, 623, 631, 641, and 642 shown in FIG. 6 may be store arrival events, although the present disclosure is not limited thereto. Through operation 450, server 410 can calculate (a) a ratio of at least one second event whose location is within the second predetermined distance from store location 610, or (b) a ratio of at least one second event whose location is greater than the second predetermined distance and less than the third predetermined distance from store location 610. When calculating the ratios (a) and / or (b), second events located outside the third predetermined distance may be excluded from the at least one second event serving as a parameter. The reason for setting the second and third predetermined distances may be to determine whether the difference between the actual store location and the store location stored for the store is large enough to exceed an allowable error range, or to determine whether the actual store location is located in a building separate from the store location stored for the store. The second predetermined distance may be, for example, 30 m, and the third predetermined distance may be, for example, 300 m. The above-mentioned predetermined distances are merely examples, and the present disclosure is not limited thereto and may be changed according to circumstances.

[0073] In one embodiment, the server 410 may maintain the store location stored for the store if the number of second events that are greater than or equal to the second predetermined distance and less than or equal to the third predetermined distance is less than a first ratio (453). Referring to FIG. 6, pickup events (or store arrival events) 621, 622, and 623 may be located less than a second predetermined distance 620 from the store location 610, and the ratio of pickup events (or store arrival events) that are greater than or equal to the second predetermined distance 620 and less than a third predetermined distance 630 among the second events may be less than a first ratio (e.g., 50%). In this case, the server 410 may maintain the store location 610 stored for the store without adjusting it.

[0074] In another embodiment (not shown), the server 410 may determine a pickup event (or store arrival event) located within the second predetermined distance as a third event if the number of second events within the second predetermined distance is equal to or greater than the first ratio (453). The server 410 may also calculate a corrected store location by clustering the third events located within the second predetermined distance. Referring to FIG. 6, the server 410 may determine the second events 621, 622, and 623 located within the second predetermined distance 620 as third events, and then cluster the determined third events to obtain the corrected store location.

[0075] According to an embodiment, the server 410 may exclude, from a parameter of a ratio of at least one third event among at least one second event, a second event whose location is a third predetermined distance or more from the store location. Referring to FIG. 6 , a pickup event (or store arrival event) (e.g., 641, 642) that is a third predetermined distance or more from the store location cannot be used to correct the store location, and the server 410 may exclude, from the parameter, a second event that is a third predetermined distance or more from the store location. For example, if the total number of second events is 100 and 20 of the second events are a third predetermined distance or more, the parameter may be 80. If there are 60 second events located more than the second predetermined distance and less than the third predetermined distance, the server 410 can calculate the ratio of second events located more than the second predetermined distance and less than the third predetermined distance as 60 / 80=75% instead of 60 / 100.

[0076] The actual store location may be located in a different building than the existing store location. For example, if the second event occurs within 50% or more of the second predetermined distance, the actual store location and the existing store location are likely to be located in the same building, but if the second event occurs within 50% or more of the second predetermined distance and within a third predetermined distance, the actual store location and the existing store location are likely to be located in different buildings.

[0077] In one embodiment, if the ratio of second events that are greater than or equal to the second predetermined distance and less than or equal to the third predetermined distance is greater than or equal to a first ratio (e.g., 50%, 55%) (451), the server 410 can determine, as a third event, a second event in which the first location where the pickup event occurred is greater than or equal to the second predetermined distance and less than or equal to the third predetermined distance from the store location in operation 452. Referring to FIG. 7, a store location 710, a second predetermined distance 720, a third predetermined distance 730, pickup events 721, 731, 732, 733, 741, 742, and a corrected store location 750 are shown. If the ratio of second events (e.g., 731, 732, 733) that are greater than or equal to the second predetermined distance 720 and less than or equal to the third predetermined distance 730 among all second events is greater than or equal to a first ratio (e.g., 50%) (451), the server 410 may determine pickup events (or second events) (e.g., 731, 732, 733) that are greater than or equal to the second predetermined distance 720 and less than or equal to the third predetermined distance 730 as third events. In FIG. 7 , the server 410 may filter second events (e.g., 721) that are within the second predetermined distance 720 and second events (e.g., 741, 742) that are greater than or equal to the third predetermined distance 730. The server 410 may calculate a corrected store location 750 based on the third events (e.g., 731, 732, 733). The server 410 can obtain the corrected store location 750 as a result of clustering the third events (e.g., 731, 732, and 733). A method for calculating the corrected store location will be described in detail below.

[0078] In another embodiment, when the ratio of the second events that are greater than or equal to the second predetermined distance and less than or equal to the third predetermined distance is greater than or equal to a first ratio (e.g., 50%, 55%) (451), the server 410 can determine, in operation 452, the second events where the second locations where the store arrival events occurred are greater than or equal to the second predetermined distance and less than or equal to the third predetermined distance from the store location as third events. Referring to FIG. 7, a store location 710, a second predetermined distance 720, a third predetermined distance 730, store arrival events 721, 731, 732, 733, 741, 742, and a corrected store location 750 are shown. If the ratio of second events (e.g., 731, 732, 733) that are greater than or equal to the second predetermined distance 720 and less than or equal to the third predetermined distance 730 among all second events is greater than or equal to a first ratio (e.g., 50%) (451), the server 410 may determine store arrival events (or second events) (e.g., 731, 732, 733) that are greater than or equal to the second predetermined distance 720 and less than or equal to the third predetermined distance 730 as third events. In FIG. 7 , the server 410 may filter second events (e.g., 721) that are within the second predetermined distance 720 and second events (e.g., 741, 742) that are greater than or equal to the third predetermined distance 730. The server 410 may calculate a corrected store location 750 based on the third events (e.g., 731, 732, 733). The server 410 can obtain the corrected store location 750 as a result of clustering the third event (eg, 731, 732, 733).

[0079] In operation 460 according to one embodiment, server 410 may calculate a corrected store location by clustering at least one third event. Server 410 may determine, as the corrected store location, a location determined based on the clustering results of first locations corresponding to at least one third event. In another embodiment, server 410 may determine, as the corrected store location, a location determined based on the clustering results of second locations corresponding to at least one third event. In this disclosure, the operation of clustering pickup events (or third events) may be used synonymously with the operation of clustering first locations where pickup events occur. In this disclosure, the operation of clustering store arrival events (or third events) may be used synonymously with the operation of clustering second locations where store arrival events occur. In another embodiment, the third event may include both pickup events and store arrival events. In this case, server 410 may determine, as the corrected store location, a location determined based on the clustering results of the first locations where pickup events occur and the second locations where store arrival events occur. For example, the operation of clustering both pickup events and store arrival events may be used interchangeably with the operation of clustering a first location where a pickup event occurred and a second location where a store arrival event occurred. As described above with reference to FIG. 3, the server 410 may verify the corrected store location and perform operation 470 based on the verification result. If the corrected store location is verified, the server 410 may transmit the corrected store location to the terminal 480. Clustering may be an algorithm that groups similar data into a single cluster. For example, the clustering may be one of K-means clustering or DBSCAN (Density-based spatial clustering of applications with noise).

[0080] FIG. 5 is a diagram illustrating a method for correcting a store location based on the clustering result of the third event according to various embodiments of the present disclosure.

[0081] In FIG. 5, first locations 531, 532, 533, 534, and 535 corresponding to the third events are displayed. The server 410 can obtain a clustering result of the first locations 531, 532, 533, 534, and 535 corresponding to the multiple third events. The clustering can form a circle 530 as shown in FIG. 5, and the clustering result can form a center of the circle 550. The center of the circle 550 can be a corrected store location. If the center of the circle 550 is verified by the verification procedure described above in FIG. 3, the server 410 can correct the store location 510 stored for the store to the corrected store location 550.

[0082] In another example, second locations 531, 532, 533, 534, and 535 corresponding to the third events may be displayed in FIG. 5. The server 410 may obtain a clustering result of the second locations 531, 532, 533, 534, and 535 corresponding to the multiple third events. The clustering may form a circle 530 as shown in FIG. 5, and a center of the circle 550 may be formed as a clustering result. The center of the circle 550 may be a corrected store location.

[0083] In another embodiment, first locations 531 and 532 and second locations 533, 534, and 535 corresponding to a third event may be displayed in FIG. 5. The server 410 may obtain a clustering result of the first locations 531 and 532 and second locations 533, 534, and 535 corresponding to a plurality of third events. A circle 530 may be formed by the clustering, as shown in FIG. 5, and a center of the circle 550 may be formed as a clustering result. The center of the circle 550 may be a corrected store location.

[0084] FIG. 6 is a diagram illustrating a case where the second event that is greater than or equal to the second predetermined distance and less than or equal to the third predetermined distance is less than the first ratio according to various embodiments of the present disclosure.

[0085] Specific explanations regarding FIG. 6 have been given above with reference to FIGS. 4A and 4B, and therefore will not be repeated here.

[0086] FIG. 7 is a diagram illustrating a method for correcting a store location when a second event that is greater than or equal to a second predetermined distance and less than or equal to a third predetermined distance is greater than or equal to a first ratio in accordance with various embodiments of the present disclosure.

[0087] 7 has been described in detail above with reference to FIGS. 4A and 4B, so a detailed description thereof will be omitted here.

[0088] FIG. 8 is a flowchart illustrating the operation of an electronic device according to various embodiments of the present disclosure.

[0089] In one embodiment, at operation 810, electronic device 200 may identify pickup events and store arrival events corresponding to the same order information from among multiple pickup events and multiple store arrival events associated with the store, and identify at least one of the identified pickup events or store arrival events as a first event. Electronic device 200 may include the identified data from the multiple pickup events or multiple store arrival events in a first data set. The first data set may be stored in memory and then retrieved at operation 820.

[0090] In one embodiment, in operation 820, electronic device 200 may determine at least one second event from among the first events, where a first location where a pickup event occurred is within a first predetermined distance from a second location where a store arrival event corresponding to the pickup event occurred. Electronic device 200 may identify the second event from among the first events included in the first data set. Electronic device 200 may include the second event in a second data set. The second data set may be stored in memory and then recalled in operation 830 to determine a third event.

[0091] In one embodiment, the electronic device 200 may determine the number of at least one third event in response to the number of at least one second event being equal to or greater than a predetermined number by accessing a second data set stored in memory.

[0092] In one embodiment, in operation 830, electronic device 200 may determine at least one third event among the at least one second event, where a pickup event occurs at a first location that is greater than or equal to a second predetermined distance and less than or equal to a third predetermined distance from the stored store location for the store. Electronic device 200 may determine the third event as at least one store arrival event, where a store arrival event occurs at a second location that is greater than or equal to the second predetermined distance and less than or equal to a third predetermined distance from the stored store location for the store. Electronic device 200 may include the third event in a third data set. The third data set may be stored in memory or in temporary database 380.

[0093] In one embodiment, operation 840 may correct the store location based on the at least one third event. Operation 840 may be performed when at least one third event of the at least one second event is greater than or equal to a first ratio. If at least one third event of the at least one second event is less than the first ratio, the stored store location for the store may be maintained. Electronic device 200 may perform clustering based on the third data set and obtain a corrected store location based on the clustering results.

[0094] Although process steps, method steps, algorithms, etc., are described in a sequential order in the block diagrams and flowcharts shown in FIGS. 3 and 8 , these processes, methods, and algorithms may be configured to operate in any suitable order. In other words, the steps of the processes, methods, and algorithms described in various embodiments of the present disclosure need not be performed in the order described in the present disclosure. Also, even if some steps are described as occurring non-concurrently, in other embodiments, some of those steps may occur simultaneously. Furthermore, the illustration of a process by depiction in a drawing does not imply that the illustrated process is exclusive of other variations and modifications thereto, nor does it imply that the illustrated process or any of its steps is essential to one or more of the various embodiments of the present disclosure, or that the illustrated process is preferred.

[0095] Although the above method has been described with reference to a specific embodiment, the above method can also be embodied as computer-readable code on a computer-readable recording medium. The computer-readable recording medium includes any type of recording device in which data readable by a computer system is stored. Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc. The computer-readable recording medium may also be distributed among computer systems connected via a network, so that the computer-readable code can be stored and executed in a distributed manner. Functional programs, codes, and code segments for implementing the above embodiment can be easily construed by a programmer skilled in the art to which the present disclosure pertains.

Claims

1. A method for correcting a store location performed by an electronic device, comprising: an operation of identifying a pickup event and a store arrival event corresponding to the same order information from among a plurality of pickup events and a plurality of store arrival events associated with the store, and determining at least one of the identified pickup event or store arrival event as a first event; an operation of determining, as a second event, at least one of the first events, the distance between a location where the pickup event occurred and a location where the store arrival event corresponding to the pickup event occurred being within a first predetermined distance; an operation of determining, as a third event, at least one second event, the location of which is a second predetermined distance or more and a third predetermined distance or less from the store location stored for the store, among the at least one second event; and correcting the store location based on the at least one third event. Store location correction method.

2. the operation of determining the at least one third event occurs in response to the at least one second event being equal to or greater than a predetermined number. The method for correcting a store location according to claim 1 .

3. the operation of correcting the store location is performed in response to a ratio of the at least one third event to the at least one second event being equal to or greater than a first ratio; The method for correcting a store location according to claim 1 .

4. The ratio of the at least one third event to the at least one second event is determined based on a parameter excluding, from the at least one second event, second events in which the location of the second event occurs that is more than a third predetermined distance from the store location. The method for correcting a store location according to claim 3 .

5. and further comprising an operation of correcting the determined location based on the location corresponding to the at least one third event as the store location. The method for correcting a store location according to claim 1 .

6. and further comprising an operation of correcting, as the store location, a location determined based on a clustering result of the locations corresponding to the at least one third event. The method for correcting a store location according to claim 1 .

7. requesting verification of the corrected store location; and determining whether to update the corrected store location in a delivery service database based on the verification result. The method for correcting a store location according to claim 1 .

8. 8. The method of claim 7, further comprising: storing the corrected store location determined not to be updated in the delivery service database based on the verification result and a location corresponding to a third event in a temporary database.

9. 9. The method of claim 8, further comprising: correcting the store location again based on at least one of the third event stored in the temporary database and a plurality of pickup events or a plurality of store arrival events further received after the operation of storing in the temporary database.

10. The operation of correcting the store location again includes: and correcting the store location again by assigning a higher weight to a plurality of pickup events or a plurality of store arrival events further received after the operation of storing the event in the temporary database compared to the third event stored in the temporary database. The method for correcting a store location according to claim 9 .

11. The method for correcting a store location according to claim 1, further comprising receiving an event corresponding to each order information from a plurality of terminals corresponding to a plurality of delivery staff, and identifying whether the event is a pickup event or a store arrival event.

12. 1. An electronic device comprising: a processor; a memory having instructions stored thereon configured to be executed by the processor; The instructions, when executed by the processor, cause the processor to: identifying a pickup event and a store arrival event corresponding to the same order information from among a plurality of pickup events and a plurality of store arrival events, and determining at least one of the identified pickup event or store arrival event as a first event; determining, as a second event, at least one of the first events, the distance between a location where the pickup event occurred and a location where the store arrival event corresponding to the pickup event occurred being within a first predetermined distance; determining at least one of the at least one second events as a third event based on whether a location where the second event occurred is a second predetermined distance or more and a third predetermined distance or less from the store location; and correcting the store location based on the at least one third event. electronic equipment.