Program and data processing device

The program and data processing device improve facility visit accuracy by using a trained model that integrates GPS and beacon data, addressing GPS errors in urban areas to correctly identify visitors.

JP2026082071AActive Publication Date: 2026-05-19UNERRY INC
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
UNERRY INC
Filing Date
2024-11-06
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

GPS positioning data in urban areas often has large errors due to the influence of dense buildings, leading to incorrect determinations of facility visits by mobile devices, either falsely indicating a visit when none has occurred or missing actual visits.

Method used

A program and data processing device that utilize a trained model generated by machine learning, combining GPS data with beacon location data from wireless communication, to improve visitor determination accuracy by incorporating visitor attributes, facility characteristics, weather data, and GPS characteristics, and calculating probability values for visit determination.

Benefits of technology

Enhances the accuracy of determining facility visits by correcting GPS errors, ensuring precise identification of visitors using a combination of GPS and beacon data, and allowing for adjustable threshold display for improved decision-making.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026082071000001_ABST
    Figure 2026082071000001_ABST
Patent Text Reader

Abstract

The objective is to provide a program and data processing device that improve the accuracy of determining who should be identified as a visitor to a target facility. [Solution] The program causes a computer to perform a process that acquires first GPS data representing the location of a person to be determined to visit a target facility based on GPS (Global Positioning System), and determines whether or not the person to be determined to visit the target facility based on the first GPS data and a trained model. The trained model is generated by machine learning a plurality of training data that define the relationship between beacon location data representing the location of the visitor estimated based on wireless communication between a beacon terminal installed in a different facility from the target facility and a mobile terminal carried by the visitor who actually visited the other facility, and second GPS data representing the location of the visitor based on GPS.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This relates to a program and a data processing device.

Background Art

[0002] It is known that personal devices such as smartphones can estimate their positions through communication with GPS (Global Positioning System) satellites (see, for example, Patent Documents 1 to 3). Also known is a technique for determining that a user of a mobile terminal has visited a facility when the current position of the mobile terminal indicates that it has stayed within the position range of the facility for a stay determination time or more (see, for example, Patent Document 4). In addition, it is also known that in urban areas, GPS positioning data may have a large error due to the influence of dense buildings and the like (see, for example, Patent Document 5).

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Patent Document 2

Patent Document 3

Patent Document 4

Patent Document 5

Summary of the Invention

Problems to be Solved by the Invention

[0004] As mentioned above, if GPS positioning data has a large error, the current location of a mobile device equipped with GPS may be shown as being outside the location range of the facility (hereinafter referred to as the "target facility"). As a result, even if a user carrying the mobile device has actually visited the target facility as a visitor, it may be incorrectly determined that they have not visited the facility. Conversely, even if a user has not actually visited the target facility as a visitor, it may be incorrectly determined that they have visited the target facility.

[0005] Therefore, one objective is to provide a program and data processing device that improve the accuracy of determining who should be considered a visitor to a target facility. [Means for solving the problem]

[0006] In one embodiment, the program causes a computer to perform a process that acquires first GPS data representing the GPS-based location of a person to be determined to visit a target facility, and determines whether or not the person to be determined to visit the target facility based on the first GPS data and a trained model, wherein the trained model is generated by machine learning a plurality of training data that define the relationship between beacon location data representing the location of the visitor estimated based on wireless communication between a beacon terminal installed in a different facility from the target facility and a mobile terminal carried by the visitor who actually visited the different facility, and second GPS data representing the GPS-based location of the visitor.

[0007] In the above configuration, the trained model is generated by machine learning a plurality of training data that define the relationships between the beacon location data, the second GPS data, and predetermined feature data, and the predetermined feature data can be configured to include the visitor's attribute data, the facility characteristics data of the other facility, the weather data for the day the visitor visited the other facility, and GPS characteristic data that includes at least one or all of the visitor's movement speed calculated based on the second GPS data, the distance from the visitor's location to the other facility, and the visitor's orientation relative to the other facility.

[0008] In the above configuration, based on the accuracy of determining the visitor, at least one of the attribute data, facility characteristic data, weather data, and GPS characteristic data can be excluded from the predetermined feature data.

[0009] In the above configuration, a probability value representing the accuracy of determining whether or not the person to be judged as a visitor has visited the target facility is calculated, a predetermined confusion matrix is ​​generated based on the probability value, and a first threshold is determined for determining whether the probability value represents a visit or a non-visit by repeatedly comparing the confusion matrix with the time-series correlation coefficient between the correct answer and the prediction regarding the visit determination.

[0010] In the above configuration, the first threshold value can be displayed in an adjustable manner on a display device connected to the computer independently.

[0011] In the above configuration, a plurality of second thresholds different from the first threshold are calculated based on the first threshold, and the first threshold and the plurality of second thresholds are selectively displayed on a display device connected to the computer.

[0012] In the above configuration, the trained model can be generated by machine learning a plurality of training data that define the relationship between the beacon location data, the second GPS data, and another wireless communication with a different wireless communication standard.

[0013] In the above configuration, the beacon location data includes the time of the visitor's arrival at the other facility, and the trained model can be generated by machine learning a plurality of training data that define the relationship between the beacon location data and the second GPS data from a first time before the arrival time to a second time after the arrival time.

[0014] In the above configuration, the beacon location data includes the time of the visitor's arrival at the other facility, and the trained model can be generated by machine learning a plurality of training data that define the relationship between the beacon location data and the second GPS data from a first time, which is a first predetermined time before the time of arrival, to a second time, which is a second predetermined time, which is longer than the first predetermined time before the time of arrival.

[0015] In the above configuration, the number of people determined to have visited the target facility can be corrected based on demographic data including the population of the area including the target facility.

[0016] In one embodiment, a data processing apparatus includes an acquisition unit that acquires first GPS data representing a GPS-based position of a person to be determined for a visit to a target facility, and a determination unit that determines whether the person to be determined for a visit has visited the target facility based on the first GPS data and a learned model. The learned model is generated by machine learning a plurality of teacher data respectively defining the relationship between beacon position data representing the position of a visitor estimated based on wireless communication between a beacon terminal installed in a facility different from the target facility and a portable terminal carried by a visitor who has actually visited the different facility, and second GPS data representing the GPS-based position of the visitor.

Advantages of the Invention

[0017] According to the present case, the determination accuracy of a person to be determined for a visit to a target facility can be improved.

Brief Description of the Drawings

[0018] [Figure 1] An example of a data processing system. [Figure 2] An example of the hardware configuration of a data processing server. [Figure 3] An example of the functional configuration of a data processing server. [Figure 4] An example of beacon log data. [Figure 5] An example of GPS log data for learning target. [Figure 6] An example of POI data. [Figure 7] An example of GPS log data for determination target. [Figure 8] A diagram for explaining an example of GPS log data for determination target. [Figure 9] An example of area population data. [Figure 10] A diagram for explaining an acquisition example of GPS log data for learning target. [Figure 11] An example of feature data. [Figure 12] This diagram illustrates an example of determining a judgment threshold. [Figure 13] This diagram illustrates an example of correcting a hypothetical number of people to an actual number of people. [Figure 14] (a) is an example of feature data in Case 1. (b) is an example of feature data in Case 2. (c) is an example of feature data in Case 3. (d) is an example of feature data in Case 4. [Figure 15] This is an example of evaluating the performance of a pre-trained model. [Figure 16] This flowchart shows an example of the processes performed by the data processing server. [Figure 17] (a) is an example of a visitor determination result for the comparative example. (b) is an example of a visitor determination result for the example. [Modes for carrying out the invention]

[0019] The following will explain the implementation of this project with reference to the drawings.

[0020] As shown in Figure 1, the data processing system ST is a computer system including a terminal device 10 and a data processing server 100. The terminal device 10 and the data processing server 100 are connected via a communication network NW. The communication network NW includes either a LAN (Local Area Network) or the Internet, or both. The data processing server 100 is an example of a data processing device.

[0021] In Figure 1, a PC (Personal Computer) is shown as an example of a terminal device 10, but the terminal device 10 is not limited to a PC. The terminal device 10 may also be a smart device such as a smartphone or tablet. Also, in Figure 1, a physical server device is shown as an example of a data processing server 100, but the data processing server 100 may also be a virtual server device. Furthermore, in Figure 1, one data processing server 100 is shown as an example, but multiple data processing servers 100 may be provided in the data processing system ST, and various data processing may be distributed among the multiple data processing servers 100.

[0022] The data processing system ST is used by users 11 belonging to business companies. Business companies may be manufacturers that produce goods or non-manufacturers that provide services. Manufacturers include, but are not limited to, food manufacturers, cosmetics manufacturers, and shoe manufacturers. Non-manufacturers include, but are not limited to, restaurants, retail stores, etc. For example, companies that conduct market research or provide sales support such as consulting to non-manufacturers may also be included.

[0023] User 11 can use the data processing system ST by operating the input device 12 provided on the terminal device 10 and accessing the data processing server 100. For example, when user 11 performs a predetermined operation on the input device 12, the control device 13 of the terminal device 10 sends an instruction corresponding to the predetermined operation to the data processing server 100. Upon receiving the instruction, the data processing server 100 performs various data processing based on the received instruction and sends the processing results to the control device 13.

[0024] As will be explained in more detail later, for example, when the data processing server 100 receives instructions corresponding to a predetermined operation, it determines whether or not the person to be determined to visit the target facility has visited the target facility based on the GPS data of the person to be determined to visit the target facility and a pre-generated trained model. Once the data processing server 100 has determined whether or not the person to be determined to visit the target facility has visited the target facility, it transmits the determination result to the control device 13. When the control device 13 receives the determination result, it displays a predetermined confirmation screen including the determination result on the display device 14 of the terminal device 10. As a result, the predetermined confirmation screen appears on the display device 14. By viewing the predetermined confirmation screen, the user 11 can determine with high accuracy whether or not the person to be determined to visit the target facility has actually visited the target facility.

[0025] Referring to Figure 2, the hardware configuration of the data processing server 100 will be described. Note that the terminal device 10 described above has essentially the same hardware configuration as the data processing server 100, so a detailed explanation will be omitted.

[0026] The data processing server 100 includes a CPU (Central Processing Unit) 100A as a processor, and RAM (Random Access Memory) 100B and ROM (Read Only Memory) 100C as memory. The data processing server 100 also includes a network interface 100D and an HDD (Hard Disk Drive) 100E. An SSD (Solid State Drive) may be used instead of the HDD (Hard Disk Drive) 100E.

[0027] The data processing server 100 may include, as necessary, at least one of the following: input I / F 100F, output I / F 100G, input / output I / F 100H, and drive device 100I. The CPU 100A to the drive device 100I are connected to each other by an internal bus 100J. In other words, the data processing server 100 can be implemented by a computer.

[0028] Input I / F 100F is connected to an input device 710. Examples of input devices 710 include keyboards, mice, and touch panels. Output I / F 100G is connected to a display device 720. Examples of display devices 720 include liquid crystal displays. Input / output I / F 100H is connected to a semiconductor memory 730. Examples of semiconductor memory 730 include USB (Universal Serial Bus) memory and flash memory. Input / output I / F 100H reads programs stored in the semiconductor memory 730. Input I / F 100F and Input / output I / F 100H are equipped with, for example, USB ports. Output I / F 100G is equipped with, for example, a DisplayPort.

[0029] A portable recording medium 740 is inserted into the drive unit 100I. The portable recording medium 740 can be a removable disk such as a CD (Compact Disc)-ROM or a DVD (Digital Versatile Disc). The drive unit 100I reads the program recorded on the portable recording medium 740. The network interface 100D includes, for example, a LAN port and a communication circuit. The communication circuit includes either a wired communication circuit or a wireless communication circuit, or both. The network interface 100D is connected to a communication network NW.

[0030] The CPU 100A temporarily stores programs stored in at least one of the ROM 100C, HDD 100E, and semiconductor memory 730 in RAM 100B. The CPU 100A also temporarily stores programs recorded on the portable recording medium 740 in RAM 100B. By executing the stored programs, the CPU 100A realizes various functions described later and also executes data processing methods including various processes described later. The programs should conform to the flowchart described later.

[0031] The functional configuration of the data processing server 100 will be described with reference to Figures 3 to 15. Figure 3 shows the main functions of the data processing server 100.

[0032] As shown in Figure 3, the data processing server 100 includes a storage unit 110, a processing unit 120, and a communication unit 130. The storage unit 110 can be implemented by either the RAM 100B or the HDD 100E, or both. The processing unit 120 can be implemented by the CPU 100A described above. The communication unit 130 can be implemented by the network interface 100D described above.

[0033] The storage unit 110, the processing unit 120, and the communication unit 130 are connected to each other. The storage unit 110 includes a beacon log storage unit 111, a GPS log storage unit 112, a POI (Point of Interest) information storage unit 113, a determination target storage unit 114, and an area population storage unit 115. The storage unit 110 stores various data using the beacon log storage unit 111, the GPS log storage unit 112, the POI information storage unit 113, the determination target storage unit 114, and the area population storage unit 115.

[0034] Note that a POI is just one example of a facility and includes commercial facilities such as shops. Shops include restaurants and retail stores. A POI may also include public facilities such as parks, libraries, and train stations, sports facilities such as baseball fields and soccer stadiums, medical facilities such as hospitals and clinics, and roads such as sidewalks and roadways. Roads may be expressways (such as national expressways and urban expressways) including service areas (SAs) and parking areas (PAs), or general roads other than expressways including intersections and T-junctions. Note that POIs are not limited to such man-made objects, and natural objects such as mountains, rivers, and lakes may also be included. Thus, a POI corresponds to a specific feature on map information, such as a man-made object or a natural object.

[0035] The processing unit 120 includes a training data generation unit 121, a feature data generation unit 122, a machine learning unit 123, and a visitor determination unit 124. The processing unit 120 also includes a determination threshold unit 125, a correction unit 126, and a characteristic data selection unit 127. The processing unit 120 processes various data using the training data generation unit 121, the feature data generation unit 122, the machine learning unit 123, the visitor determination unit 124, the determination threshold unit 125, the correction unit 126, and the characteristic data selection unit 127.

[0036] The beacon log storage unit 111 stores beacon log data. Beacon log data is an example of beacon location data. The beacon log data represents the location of a visitor who actually visited a second POI that is different from the first POI. In this embodiment, the first POI is an example of a target facility such as a restaurant. No beacon terminal is installed at the first POI. On the other hand, the second POI in this embodiment is an example of a different facility such as a retail store. A beacon terminal is installed at the second POI. Thus, the first POI and the second POI differ in terms of business type, the presence or absence of beacon terminals, and the location of the POI, which is identified by latitude and longitude.

[0037] The visitor's location is estimated based on BLE (Bluetooth® Low Energy) communication between a beacon terminal installed at the second POI and a mobile device carried by the visitor who actually visited the second POI. The mobile device may be a smartphone, tablet, smartwatch, game console, or smart glasses. BLE communication is an example of wireless communication. In this way, because the visitor's location is estimated based on BLE communication (specifically, the signal strength of the BLE communication), the visitor's location can be estimated with higher accuracy compared to the case of GPS.

[0038] Furthermore, an access point providing Wi-Fi® may be installed at the second POI. Wi-Fi® is another example of wireless communication. Wi-Fi® uses a different wireless communication standard than BLE communication. In this case, by using BLE communication and Wi-Fi® together, the visitor's location can be estimated with even greater accuracy compared to using BLE communication alone. Thus, while the use of BLE communication alone and the use of BLE communication and Wi-Fi® together have been explained as examples, the estimation of a visitor's location is not limited to these methods, as long as it is possible to estimate that a visitor has arrived at that location. For example, the visitor's location may be estimated using Wi-Fi® alone. In addition, the visitor's location may be estimated based on active user actions such as checking in using a QR (Quick Response) code (so-called QR check-in), using application software, or answering questionnaires.

[0039] Here, the beacon log data includes multiple items, such as device ID (Identifier), beacon terminal ID, latitude, longitude, and detection date and time, as shown in Figure 4. The device ID field registers a unique identifier that identifies a mobile device such as a smartphone or tablet. The beacon terminal ID field registers a unique identifier that identifies the beacon terminal. The latitude and longitude fields register the latitude and longitude of the mobile device estimated based on BLE communication between the beacon terminal and the mobile device, for example. The detection date and time field registers the detection date and time of the mobile device detected by the beacon terminal based on BLE communication, at predetermined detection time intervals.

[0040] Therefore, if a visitor carries a mobile device, their current location can be determined with high precision. Thus, if a beacon terminal is installed at the second POI, it is assumed that the visitor is staying either inside or near the second POI.

[0041] Returning to Figure 3, the GPS log storage unit 112 stores the GPS log data to be learned. The GPS log data to be learned is an example of second GPS data. The GPS log data to be learned represents the location based on the GPS function of the mobile device. Therefore, if a visitor carries a mobile device, the visitor's location based on the GPS function will be determined.

[0042] As shown in Figure 5, the GPS log data to be studied includes multiple items such as device ID, latitude, longitude, and positioning date and time. The device ID field registers a unique identifier that identifies a mobile device such as a smartphone or tablet. The beacon terminal ID field registers a unique identifier that identifies a beacon terminal. The latitude and longitude fields register the latitude and longitude of the mobile device, which were determined based on the mobile device's GPS function. The positioning date and time field registers the positioning date and time of the latitude and longitude at a predetermined positioning time interval that differs from the detection time interval described above, except for the part indicated in parentheses. The positioning time interval may be longer or shorter than the detection time interval. Details of the part indicated in parentheses will be described later. Thus, the latitude and longitude contained in the GPS log data to be studied and the beacon log data are similar, but often do not match.

[0043] Returning to Figure 3, the POI information storage unit 113 stores POI data related to the POI, including the first and second POIs mentioned above. POI data is an example of facility characteristic data. As shown in Figure 6, POI data includes multiple items such as POI-ID, POI name, business type, central latitude, central longitude, size, and floor. Although not shown, POI data may also include items such as site area and location.

[0044] The POI-ID field registers a unique identifier that identifies the POI. The POI Name field registers the name of the POI. The Business Type field registers the type of business the POI operates, such as food service or retail. The Central Latitude field registers the latitude of the center of the area occupied by the POI. The Central Longitude field registers the longitude of the center of the area occupied by the POI. The Size field registers the physical size of the POI, such as small or medium. The Floor field registers the hierarchical level of the POI.

[0045] Thus, POI data contains the central location of the area occupied by the POI. Therefore, based on the central location of the POI and the current location of the visitor or person being identified as a visitor, it is possible to determine whether or not the visitor or person being identified as a visitor has visited the POI. For example, if the visitor's current location is within an area corresponding to the vicinity of the POI's central location, the visitor is determined to have visited that POI. Conversely, if the visitor's current location is in an area far from the POI's central location, the visitor is determined to be a non-visitor, meaning they have not visited that POI.

[0046] The area occupied by a POI may be a circular area with a predetermined radius based on the center position, or it may be a rectangular area based on the center position, or a polygonal area formed by combining polygonal areas.

[0047] Returning to Figure 3, the determination target storage unit 114 stores the determination target GPS log data. The determination target GPS log data is an example of the first GPS data. The determination target GPS log data represents the location based on the GPS function of the mobile terminal. Therefore, if the person to be determined as a visitor is carrying a mobile terminal, the location of the person to be determined as a visitor based on the GPS function is determined.

[0048] As shown in Figure 7, the GPS log data to be used for analysis includes multiple items such as device ID, latitude, longitude, and positioning date and time. The device ID field registers a unique identifier that identifies a mobile device such as a smartphone or tablet. The beacon terminal ID field registers a unique identifier that identifies a beacon terminal. The latitude and longitude fields register the latitude and longitude of the mobile device, which are positioned based on the GPS function of the mobile device carried by the person being analyzed for visitor status. The positioning date and time field registers the positioning date and time of the latitude and longitude at predetermined positioning time intervals.

[0049] According to the GPS log data to be determined, for example, as shown in Figure 8, the locations 22, 23, 24, etc., of various visitors to be determined near POI (specifically the first POI) 21 are represented on the map information MP. For example, multiple chronological locations 22 of a visitor identified by device ID "D051" are represented on the map information MP. Also, multiple chronological locations 23 of a visitor identified by device ID "D052" are represented on the map information MP.

[0050] Returning to Figure 3, the area population storage unit 115 stores area population data. Area population data is an example of demographic data. The area population data is obtained by dividing the map information MP described above into multiple areas represented by polygons (hereinafter referred to as area meshes), and includes the actual circulating population of each area mesh. In this embodiment, a square is used as an example of the shape of the area mesh, but the shape of the area mesh may be a rectangle, a hexagon, or the like.

[0051] As shown in Figure 9, the area population data includes multiple items such as area ID, latitude range, longitude range, aggregation date, population, installation POI #1, and installation POI #2. Although not shown in the figure, the area population data also includes items such as population by age group and gender ratio. The area ID field registers a unique identifier that identifies the area mesh. The latitude range field registers the latitude range that defines the area mesh. The longitude range field registers the longitude range that defines the area mesh.

[0052] The "Date of Aggregation" field registers the date on which the mobile population was aggregated, along with the year and month. The "Population" field registers the mobile population for all age groups. Note that the mobile population is the total number of people temporarily staying in the target area mesh. The fields such as "Installed POI#1" and "Installed POI#2" register the identifiers of the points of interest (POIs) installed in the area mesh.

[0053] Returning to Figure 3, the training data generation unit 121 acquires beacon log data (see Figure 4) from the beacon log storage unit 111. The training data generation unit 121 also acquires a portion of the GPS log data to be learned (see Figure 5) contained within a radius of several kilometers (e.g., 1 km) around the POI (specifically the second POI) from the GPS log storage unit 112. More specifically, as shown in Figure 10, the training data generation unit 121 acquires the GPS log data to be learned from the arrival time "t0" of the second POI to the first positioning time "T1", which is a first predetermined time Δt1 (e.g., several minutes) prior. The training data generation unit 121 also acquires the GPS log data to be learned from the arrival time "t0" to the second positioning time "T5", which is a second predetermined time Δt2 (e.g., several minutes) later. The arrival time is an example of an arrival time and corresponds to the detection time described above. The first positioning time is an example of a first time, and the second positioning time is an example of a second time.

[0054] Thus, the second predetermined time Δt2 is longer than the first predetermined time Δt1. The reason for this is to ensure that the GPS log data to be learned is reliably secured. In other words, there is a time lag between the response time of BLE communication and the detection time (i.e., the time of arrival), and there is a high possibility that the generation of beacon log data has not been completed and therefore is not available. In order to reliably acquire the GPS log data to be learned based on the beacon log data, in this embodiment, a second predetermined time Δt2 that is longer than the first predetermined time Δt1 is adopted.

[0055] When the training data generation unit 121 acquires a portion of the GPS log data to be learned, it determines that a portion of the GPS log data to be learned represents the GPS log data of visitors who actually visited the second POI. That is, the training data generation unit 121 determines that the remaining portion of the GPS log data to be learned represents the GPS log data of non-visitors who did not visit the second POI. Once the GPS log data of visitors has been determined, the training data generation unit 121 determines the optimal first predetermined time Δt1 and second predetermined time Δt2 for each second POI, respectively. For example, the training data generation unit 121 evaluates the correlation between the beacon log data and the visitor's GPS log in a time series and determines the first predetermined time Δt1 and second predetermined time Δt2 that maximize the correlation coefficient.

[0056] Returning to Figure 3, the feature data generation unit 122 generates predetermined feature data. More specifically, the feature data generation unit 122 calculates the visitor's movement speed based on a portion of the visitor's GPS log data described above. The feature data generation unit 122 also acquires POI data (see Figure 6) from the POI information storage unit 113 and calculates the distance from the visitor's position to the second POI and the visitor's orientation relative to the second POI based on a portion of the visitor's GPS log data and the POI data.

[0057] The feature data generation unit 122 calculates the speed, distance, and direction of movement, generates GPS characteristic data that includes at least one of the speed, distance, and direction, and adds it to the predetermined feature data. It is desirable that the GPS characteristic data includes all of the speed, distance, and direction. This is likely to improve the accuracy of visitor determination for target visitors. On the other hand, if the GPS characteristic data includes only one of the speed, distance, or direction, the load on visitor determination is likely to be reduced. In this case, power consumption may decrease. Further details will be described later, but the feature data generation unit 122 adds weather data, attribute data, etc., selected as characteristic data by the characteristic data selection unit 127 to the predetermined feature data. As a result, as shown in Figure 11, the feature data generation unit 122 can generate feature data that includes various characteristic data such as GPS characteristic data and weather data.

[0058] Returning to Figure 3, the machine learning unit 123 generates a trained model by machine learning multiple training data generated by the training data generation unit 121. The machine learning unit 123 can also generate a trained model by machine learning multiple feature-enhanced training data, each defining the relationship between multiple training data and feature data. By using a trained model that has been machine-learned using multiple feature-enhanced training data, the accuracy of visitor determination is likely to improve compared to not using feature data. In this embodiment, the machine learning method is not particularly limited. For example, the machine learning method may be gradient boosting, a deep neural network, or a transformer.

[0059] The visitor determination unit 124 acquires the GPS log data for the first POI (see Figure 7) from the target storage unit 114. Upon acquiring the GPS log data, the visitor determination unit 124 determines whether or not a target visitor has visited the first POI based on the GPS log data and the trained model. This improves the accuracy of determining the target visitor for the first POI. The visitor determination unit 124 may also determine whether or not a target visitor has visited the first POI based on the GPS log data and the trained model with features. This further improves the accuracy of determining the target visitor for the first POI.

[0060] Furthermore, when the visitor determination unit 124 determines whether or not a person subject to visitor determination has visited the first POI, it calculates a probability value representing the accuracy of the visit determination for each location (i.e., combination of latitude and longitude) of the person subject to visitor determination included in the GPS log data subject to determination. If the accuracy of the visitor determination is high, a high probability value is calculated. Conversely, if the accuracy of the visitor determination is low, a low probability value is calculated.

[0061] The judgment threshold determination unit 125 determines a judgment threshold for the probability value calculated by the visitor determination unit 124. The judgment threshold is the threshold used to determine whether the probability value represents a visit or a non-visit. The judgment threshold is within the range from a minimum threshold of "0 (zero)" to a maximum threshold of "1". Even if a high probability value is calculated, depending on the judgment threshold, it may be incorrectly determined that the person to be determined to visit has not visited the first POI. Therefore, the judgment threshold determination unit 125 determines the optimal judgment threshold. Specifically, as shown in the upper part of Figure 12, when the positions 22, 23, 24, etc., of various persons to be determined to visit are classified as either visited or not visited, the judgment threshold determination unit 125 generates a confusion matrix.

[0062] As shown in the middle of Figure 12, the confusion matrix contains, in the column direction, items of the correct label: "1" representing a visit and "0" representing a non-visit. The confusion matrix also contains, in the row direction, items of the predicted label: "1" representing a visit and "0" representing a non-visit. The combination of "1" and "1" corresponds to a true positive. The combination of "1" and "0" corresponds to a false negative. The combination of "0" and "1" corresponds to a false positive. The combination of "0" and "0" corresponds to a true negative.

[0063] When the judgment threshold determination unit 125 generates a confusion matrix, as shown in the lower part of Figure 12, it repeatedly compares the confusion matrix with the time-series correlation coefficient between the correct answer and the prediction regarding visitor judgment, within a pre-set range of acceptable values ​​in the confusion matrix, and determines the judgment threshold with the probability value that maximizes the correlation coefficient as the optimal judgment threshold. The optimal judgment threshold is an example of the first threshold. By using the optimal judgment threshold, the accuracy of determining visitor and non-visitor status for the target facility is improved.

[0064] The determination threshold unit 125 may independently display the determined optimal determination threshold on the display device 720 in an adjustable manner. This allows the user 11 to adjust the optimal determination threshold to a desired determination threshold by operating the input device 710.

[0065] On the other hand, after determining the optimal determination threshold, the determination threshold determination unit 125 may calculate a number of preliminary determination thresholds that differ from the optimal determination threshold based on the determined optimal determination threshold. A preliminary determination threshold is an example of a second threshold. For example, the determination threshold determination unit 125 calculates a number of preliminary determination thresholds that are separated above and below the optimal determination threshold by a unit increment. Once the determination threshold determination unit 125 has calculated a number of preliminary determination thresholds, it selectively displays the optimal determination threshold and the number of preliminary determination thresholds on the display device 720. This allows the user 11 to operate the input device 710 to select one of the optimal determination threshold and the number of preliminary determination thresholds.

[0066] Returning to Figure 3, the correction unit 126 acquires the GPS log data to be judged (see Figure 7) from the judgment target storage unit 114. The correction unit 126 also acquires area population data (see Figure 9) from the area population storage unit 115. Once the correction unit 126 has acquired the GPS log data to be judged and the area population data, it calculates a correction value between the count value and the population based on the count value of the number of persons to be judged as visitors included in the GPS log data to be judged and the population included in the area population data. Once the correction unit 126 has calculated the correction value, it multiplies the number of persons to be judged as having visited the first POI by the correction value and performs an expanded estimation to the actual number of persons to be judged as having visited the first POI. Furthermore, once the correction unit 126 has performed the expanded estimation, it corrects the demographic composition ratio. That is, the correction unit 126 corrects the composition ratio of the population by age group and the gender ratio included in the area population data based on the actual number of people who visited the first POI.

[0067] Even if a visitor determination is performed on the target GPS log data, since the target GPS log data is a sample representing only a part of the area population data, even if the number of people who visited the first POI and are subject to visitor determination is aggregated, the aggregated result only represents a provisional number. For this reason, the correction unit 126 performs an enlarged estimation and correction to the demographic composition ratio. As a result, as shown in Figure 13, the provisional number is corrected to the actual number.

[0068] Returning to Figure 3, the characteristic data selection unit 127 selects characteristic data that will improve the accuracy of visitor determination for the person to be determined. The characteristic data selection unit 127 has analytical information prepared in advance to analyze the visitor determination result, and based on the analytical information, if it determines that the accuracy of visitor determination for the person to be determined is low, it selects characteristic data such as weather data, visitor attribute data, and traffic volume data. For example, the characteristic data selection unit 127 can acquire weather data and attribute data from outside the data processing server 100. The characteristic data selection unit 127 may also acquire weather data and attribute data from a characteristic storage unit (not shown) provided in the storage unit 110.

[0069] The weather data includes information such as weather and temperature. Visitor attribute data includes attributes such as gender and age, as well as visitor behavioral preferences. Behavioral preferences represent characteristics such as the fact that visitors to hair salons are often women in their 20s, or that when different retail stores such as a drugstore and a supermarket are adjacent to each other, visitors tend to visit one of the stores more often. Traffic volume data includes time-series road traffic volume.

[0070] When the characteristic data selection unit 127 acquires characteristic data, it outputs the acquired characteristic data to the feature data generation unit 122. As a result, the feature data generation unit 122 adds the characteristic data to the feature data. For example, as shown in Figures 14(a) and (b), the feature data generation unit 122 adds weather data, which is one of the characteristic data, to the feature data. This generates a new trained model, and visitor determination is performed for the target person for visitor determination.

[0071] Furthermore, if it leads to an improvement in visitor detection accuracy, the characteristic data selection unit 127 may exclude at least one characteristic data from the feature data. For example, as shown in Figures 14(c) and (d), the feature data generation unit 122 excludes visitor attribute data, which is one of the characteristic data, from the feature data. As a result, a new trained model is generated, and visitor detection is performed for the target person. As a result, as shown in Figure 15, an embodiment is obtained in which the correlation coefficient is closer to the correct example compared to the comparative example.

[0072] The operation of the data processing server 100 will be explained with reference to Figure 16.

[0073] First, the training data generation unit 121 generates training data (step S1). For example, when the training data generation unit 121 receives an instruction corresponding to a predetermined operation, it acquires beacon log data and a portion of the GPS log data to be learned, and generates multiple training data sets that define the relationship between the beacon log data and the portion of the GPS log data to be learned.

[0074] When the training data generation unit 121 generates training data, the feature data generation unit 122 then generates feature data (step S2). For example, the feature data generation unit 122 generates predetermined feature data that includes GPS characteristic data based on a portion of the GPS log data to be trained and POI data. When the feature data generation unit 122 generates feature data, the machine learning unit 123 generates a trained model by machine learning (step S3). For example, the machine learning unit 123 generates a trained model by machine learning multiple training data and feature data. When the machine learning unit 123 generates a trained model, the visitor determination unit 124 then obtains the GPS log data to be determined from the determination target storage unit 114 (step S4).

[0075] Upon acquiring the GPS log data to be judged, the visitor determination unit 124 determines whether or not the person to be judged has visited the first POI based on the GPS log data to be judged and the trained model (step S5). Once the visitor determination is complete, the characteristic data selection unit 127 then determines whether or not all characteristic data has been selected (step S6).

[0076] If not all characteristic data has been selected (step S6: NO), the characteristic data selection unit 127 selects characteristic data (step S7). For example, the characteristic data selection unit 127 selects weather data as characteristic data. Once the characteristic data selection unit 127 selects characteristic data, the feature data generation unit 122 executes the process in step S2. Therefore, if the characteristic data selection unit 127 selects weather data, the feature data generation unit 122 generates feature data by adding the weather data to the GPS characteristic data.

[0077] On the other hand, if all characteristic data has been selected (step S6: YES), the judgment threshold determination unit 125 determines the judgment threshold (step S8). More specifically, as described above, the judgment threshold determination unit 125 determines the judgment threshold for the probability value calculated by the visitor determination unit 124. Once the judgment threshold determination unit 125 has determined the judgment threshold, the correction unit 126 executes the correction process (step S9) and terminates the process. Specifically, the correction unit 126 performs an expanded estimation as a correction process, and then corrects the demographic composition ratio. Note that the characteristic data selection unit 127 may also execute the processes in steps S6 and S7 after the process in step S9. This may improve the visitor determination for persons subject to visitor determination.

[0078] The embodiment of this case will be described in comparison with the comparative example with reference to Figures 17(a) and (b).

[0079] First, as shown in Figure 17(a), in the comparative example, if the location of the person to be determined to visit, as determined using GPS alone, is included within a circular area C1 of a predetermined radius from the center position of the first POI 21, then the person to be determined to visit is determined to have visited the first POI 21. In other words, if the location of the person to be determined to visit is not included within the area of ​​circular area C1, then the person to be determined to visit is determined not to have visited the first POI 21. The predetermined radius may be several tens of meters or several kilometers.

[0080] On the other hand, as shown in Figure 17(b), in this embodiment, by using GPS and a trained model in combination, it may be determined that a person subject to visitor detection did not visit the first POI 21 even if they are within the range of the circular C1. Also, by using GPS and a trained model in combination, it may be determined that a person subject to visitor detection did visit the first POI 21 even if they are outside the range of the circular C1. Thus, according to this embodiment, by using GPS and a trained model in combination, the accuracy of determining whether a person is a target visitor to the first POI 21 is improved. The data processing server 100 can display a predetermined confirmation screen including map information MP related to this embodiment on the display device 14.

[0081] Although preferred embodiments of the present invention have been described in detail above, the present invention is not limited to any specific embodiment, and various modifications and changes are possible within the scope of the gist of the invention as described in the claims. [Explanation of Symbols]

[0082] ST Data Processing System 100 Data Processing Servers 110 Storage section 111 Beacon log storage unit 112 GPS log memory unit 113 POI information storage section 114. Memory unit for determination 115 Area Population Memory Unit 120 Processing Unit 121 Training Data Generation Unit 122 Feature Data Generation Unit 123 Machine Learning Department 124 Visitor Determination Unit 125 Judgment threshold determination unit 126 Correction section 127 Characteristic Data Selection Section

Claims

1. First GPS data representing the location of the person to be determined as a visitor to the target facility, based on GPS (Global Positioning System), is acquired. Based on the first GPS data and the trained model, it is determined whether or not the person to be determined to visit has visited the target facility. Let the computer perform the process, The trained model is generated by machine learning multiple training data sets that define the relationship between beacon location data, which represents the location of the visitor estimated based on wireless communication between a beacon terminal installed in a different facility from the target facility and a mobile terminal carried by a visitor who actually visited the other facility, and second GPS data, which represents the location of the visitor based on the GPS. A program characterized by the following features.

2. The trained model is generated by machine learning through a plurality of training data sets that define the relationships between the beacon location data, the second GPS data, and predetermined feature data. The predetermined feature data comprises the visitor's attribute data, the facility characteristics data of the other facility, the weather data for the day the visitor visited the other facility, and GPS characteristic data including at least one or all of the visitor's movement speed, the distance from the visitor's location to the other facility, and the visitor's orientation relative to the other facility, calculated based on the second GPS data. The program according to feature 1.

3. Based on the accuracy of the determination of the person to be determined as a visitor, at least one of the attribute data, the facility characteristic data, the weather data, and the GPS characteristic data is excluded from the predetermined feature data. The program according to claim 2, characterized in that it causes the computer to perform the processing.

4. A probability value representing the accuracy of determining whether the person subject to visit determination has visited the target facility is calculated, a predetermined confusion matrix is ​​generated based on the probability value, and a first threshold is determined for determining whether the probability value represents a visit or a non-visit by repeatedly comparing the confusion matrix with the time-series correlation coefficient between the correct answer and the prediction regarding the visit determination. The program according to feature 1 or 2.

5. The first threshold is displayed in an adjustable manner on a display device connected to the computer independently. The program according to feature 4.

6. Based on the first threshold, a plurality of second thresholds different from the first threshold are calculated. The first threshold and the plurality of second thresholds are selectively displayed on a display device connected to the computer. The program according to feature 4.

7. The trained model is generated by machine learning using multiple training data that define the relationship between the beacon location data, the second GPS data, and another wireless communication with a different wireless communication standard. The program according to feature 1 or 2.

8. The beacon location data includes the time of the visitor's arrival at the other facility. The trained model is generated by machine learning a plurality of training data sets that define the relationship between the beacon location data and the second GPS data from a first time before the arrival time to a second time after the arrival time. The program according to feature 1 or 2.

9. The beacon location data includes the time of the visitor's arrival at the other facility. The trained model is generated by machine learning a plurality of training data that define the relationship between the beacon location data and the second GPS data from a first time point a first predetermined time before the arrival time to a second time point a second predetermined time point longer than the first predetermined time before the arrival time. The program according to feature 1 or 2.

10. The number of people determined to have visited the target facility is corrected based on demographic data including the population of the area containing the target facility. The program according to claim 1 or 2, characterized in that it causes the computer to perform the processing.

11. An acquisition unit that acquires first GPS data representing the location of a person subject to visitor determination at a target facility based on GPS (Global Positioning System), A determination unit that determines whether or not the person to be determined to visit has visited the target facility based on the first GPS data and the trained model, A data processing device having, The trained model is generated by machine learning multiple training data sets that define the relationship between beacon location data, which represents the location of the visitor estimated based on wireless communication between a beacon terminal installed in a different facility from the target facility and a mobile terminal carried by a visitor who actually visited the other facility, and second GPS data, which represents the location of the visitor based on the GPS. A data processing device characterized by the following features.