A target customer dynamic extraction method based on multi-source data

By employing dynamic time window conditions and graph association algorithms in the CRM system, the problems of data silos and confusing customer identification were solved, achieving high-quality association and deduplication of customer information, improving the accuracy and timeliness of marketing campaigns, and enhancing customer experience.

CN122114986APending Publication Date: 2026-05-29YANTAI TRIAL RETAIL ENG CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
YANTAI TRIAL RETAIL ENG CO LTD
Filing Date
2026-02-24
Publication Date
2026-05-29

AI Technical Summary

Technical Problem

Existing CRM and precision marketing systems suffer from data silos, confusing customer identification, and inaccurate marketing and resource waste caused by static screening methods, making it difficult to achieve a comprehensive, accurate grasp of customer information and ensure its timeliness.

Method used

Initial target customer data is generated using dynamic time window conditions based on multi-source data. Customer identifiers are associated and deduplicated using graph association algorithms to construct a unified data model. Customer identifiers are clustered using graph association algorithms and weighted graphs. Combined with similarity calculation and reach frequency detection, target customer groups are formed.

Benefits of technology

It achieves high-quality association and deduplication of customer data, improves the accuracy and timeliness of customer extraction, reduces duplicate marketing, and improves the effectiveness of marketing activities and customer experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122114986A_ABST
    Figure CN122114986A_ABST
Patent Text Reader

Abstract

The application belongs to the technical field of customer relationship management, and particularly relates to a target customer dynamic extraction method based on multi-source data. A dynamic time window condition is set, when a marketing activity is officially started, data is inquired according to the set dynamic time window condition to generate initial target customer data; the initial target customer data is preprocessed to obtain preprocessed target customer data; based on the preprocessed target customer data, different sources of multiple customer identifiers are associated to the same target customer through a graph association algorithm, and deduplication is performed in the target customer extraction process to obtain a seed customer group; after the seed customer group is obtained, a potential customer group highly similar to the seed customer in characteristics is searched from a full-amount customer library to form a target customer group; whether the target customer group exists in other marketing activities or has been excessively reached within a preset time is detected, and the target customer group is excluded according to the detection to obtain a final target customer list.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of customer relationship management technology, specifically relating to a method for dynamically extracting target customers based on multi-source data. Background Technology

[0002] In practical applications of Customer Relationship Management (CRM) and precision marketing systems, enterprises currently rely heavily on Business Intelligence (BI) tools or spreadsheets for customer segmentation and screening. However, these traditional methods have revealed a series of limitations that urgently need to be addressed during operation.

[0003] From a data integration perspective, the severe data silo phenomenon has become a key factor restricting precision marketing. Customer data is widely scattered across multiple independent systems and platforms, including point-of-sale (POS) systems, membership databases, customer data platforms (CDPs), and various external documents. These data sources are independent of each other and lack effective integration mechanisms, making it difficult to achieve unified and efficient joint queries and calculations. This results in enterprises being unable to comprehensively and accurately grasp customer information and limiting in-depth insights into customer needs.

[0004] In terms of target group screening, timeliness is difficult to guarantee. Existing screening methods are mostly based on static lists and fixed time points, which cannot capture dynamic changes in customer behavior in a timely manner. With the rapid changes in the market environment and the increasing complexity of customer behavior, this static screening method makes it difficult for marketing campaigns to accurately reach target customers, resulting in a significant decrease in the hit rate and a waste of marketing resources.

[0005] The lack of clear customer identification also poses a significant challenge to precision marketing. A single customer may possess multiple identity identifiers, such as physical cards, electronic cards, and mobile phone numbers. Different systems employ varying methods for identifying and managing customer identities, leading to a lack of effective consistency in customer information. This not only results in inaccurate target group statistics but also risks duplicate customer outreach, severely impacting customer experience and reducing customer satisfaction and loyalty.

[0006] In conclusion, there is an urgent need in this field for a new approach to address the numerous problems existing in current CRM and precision marketing systems, improve enterprise marketing efficiency and customer experience, and enhance enterprise competitiveness in the market. Summary of the Invention

[0007] To overcome the problems in the prior art, this invention proposes a method for dynamic extraction of target customers based on multi-source data.

[0008] The technical solution of the present invention to solve the above-mentioned technical problems is as follows: This invention provides a method for dynamically extracting target customers based on multi-source data, comprising the following steps: Step 100: Set dynamic time window conditions. When the marketing campaign is officially launched, query the data according to the set dynamic time window conditions to generate initial target customer data. Step 200: Preprocess the initial target customer data to obtain preprocessed target customer data; Step 300: Based on the preprocessed target customer data, multiple identifiers from different sources are associated with the same target customer through a graph association algorithm. Deduplication is performed during the target customer extraction process to obtain the seed customer group. Step 400: After obtaining the seed customer group, find potential customer groups that are highly similar to the seed customers in terms of characteristics to form the target customer group; Step 500: Detect whether the target customer group has been overreached in other marketing activities or within a preset time period during the same period, and exclude them accordingly to obtain the final target customer list.

[0009] Furthermore, in step 100, when the marketing campaign is officially launched, data is queried based on the set dynamic time window conditions to generate initial target customer data, including: When the marketing campaign is officially launched, obtain the current timestamp; and based on the current timestamp, parse the dynamic time window conditions to calculate the specific time range; Based on the calculated specific time range, query the data, filter customers who meet the criteria, and generate initial target customer data.

[0010] Further, in step 200, the initial target customer data is preprocessed to obtain preprocessed target customer data, including: The initial target customer data is preprocessed to obtain preliminary processed data. The preprocessing includes terminology standardization, data format unification, and time unification. Construct a unified data model, which includes business entities, such as customers, products, and orders, and assign an identifier to each business entity. The pre-processed data is linked by identifiers to obtain a multimodal data view, which is the pre-processed target customer data.

[0011] Further, step 300 includes: Based on the preprocessed target customer data, the heterogeneous identity identifiers are preprocessed to obtain customer identifiers. Using customer identifiers as nodes, an initial weighted graph is constructed based on relationships. Based on the initial weighted graph, the edges are filtered to obtain the identity graph; Cluster the nodes in the identity graph to form unique customer entities and obtain the seed customer group.

[0012] Furthermore, the customer identifier includes name, mobile phone number, WeChat OpenID, physical card / electronic card number, address, and membership number.

[0013] Furthermore, the nodes in the identity graph are clustered to form unique customer entities, resulting in a seed customer group, including: Each node represents a customer identifier; during initialization, each node is an independent set. By traversing all edges in the identity graph, a disjoint-set data structure is performed on each edge to merge the edges. For each edge that meets the conditions, merge the nodes at both ends into the same set, indicating that the nodes at both ends belong to the same customer; After completing all merging operations, extract the clustering results and use the disjoint-set search operation to identify the set to which each node belongs; nodes in each set will be classified as the same natural person customer; After extracting the clustering results, verify whether the nodes in each cluster are indeed related. If there are multiple records with different names in the same cluster, resolve the conflict by prioritizing the name corresponding to the high-weight identifier, which includes mobile phone number and card number. If the same cluster contains multiple OpenIDs and corresponds to different mobile phone numbers, split them into multiple subsets, with each OpenID as the core of a subset and the mobile phone number as the boundary of the subset. After completing the above steps, the clustering results will be confirmed, with each cluster representing a unique customer entity; the clustering results will be used as a seed customer group.

[0014] Further, step 400 includes: calculating the similarity between each customer in the full customer database and the seed customer group; and selecting customers with high similarity based on the calculated similarity to form a preliminary set of similar customers.

[0015] Compared with the prior art, the present invention has the following technical effects: This invention, by setting dynamic time window conditions, can flexibly adjust the time range for customer extraction according to the needs of different marketing activities. This allows target customer extraction to be adjusted not only based on the current fixed time period but also according to the activity's start time and real-time dynamics, improving the accuracy and timeliness of customer extraction. Linking and processing customer data from different data sources enables a more comprehensive understanding of customer information, reducing errors caused by incomplete or inaccurate data from a single source. By linking multiple identifiers from different sources, information silos are avoided, ensuring high-quality customer data. In the target customer extraction process, the application of graph association algorithms effectively achieves deduplication and association of customer identifiers. By constructing a weighted graph and performing edge filtering and node clustering, different identifiers of the same customer can be intelligently identified and merged, ensuring that the final target customer group has no duplicate data, avoiding duplicate marketing and resource waste. After obtaining the seed customer group, this invention can accurately find potential customers with similar characteristics to the seed customers by screening the entire customer database. This screening method based on customer characteristic similarity helps marketers identify high-potential customers in a broad customer database, improving the effectiveness of marketing activities. Attached Figure Description

[0016] To more clearly illustrate the technical solutions and advantages in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0017] Figure 1 This is a schematic diagram of the dynamic time and data snapshot process of the present invention; Figure 2 This is a schematic diagram of the multimodal data fusion and calculation process of the present invention; Figure 3 This is a schematic diagram of the customer entity parsing process of the present invention; Figure 4 This is a schematic diagram of the frequency control process of the present invention; Figure 5 This is a schematic diagram of the visualization condition builder process of the present invention; Figure 6 This is a schematic diagram of the A / B testing and logical attribution module of the present invention. Detailed Implementation

[0018] To further illustrate the technical means and effects adopted by the present invention to achieve its intended purpose, the specific implementation methods, structures, features, and effects of the technical solutions proposed according to the present invention are described in detail below with reference to the accompanying drawings and preferred embodiments. Specific features, structures, or characteristics in one or more embodiments may be combined in any suitable form. Unless otherwise defined, all technical and scientific terms used in this invention have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains.

[0019] In this embodiment, refer to Figures 1-6 This paper provides a method for dynamically extracting target customers based on multi-source data, including the following steps: Step 100: Set dynamic time window conditions. When the marketing campaign is officially launched, query the data according to the set dynamic time window conditions to generate initial target customer data. Step 200: Preprocess the initial target customer data to obtain preprocessed target customer data; Step 300: Based on the preprocessed target customer data, multiple identifiers from different sources are associated with the same target customer through a graph association algorithm. Deduplication is performed during the target customer extraction process to obtain the seed customer group. Step 400: After obtaining the seed customer group, find potential customer groups that are highly similar to the seed customers in terms of characteristics to form the target customer group; Step 500: Detect whether the target customer group has been overreached in other marketing activities or within a preset time period during the same period, and exclude them accordingly to obtain the final target customer list.

[0020] The following is a detailed explanation of each of the above steps: Step 100: Set dynamic time window conditions. When the marketing campaign is officially launched, the engine queries data based on the set dynamic time window conditions to generate initial target customer data.

[0021] Reference Figure 1 The system sets up a dynamic time window condition engine, which is used to configure and parse customer-defined dynamic time conditions, including "nearly N days / weeks / months" or "X days before the event to Y days before the event". At the moment the marketing campaign starts, it obtains the current timestamp; it performs real-time calculations on the dynamic time conditions based on the current timestamp to calculate the specific time range; based on the calculated specific time range, it queries the data, filters customers who meet the conditions, excludes customers who do not meet the conditions, and generates a real-time snapshot of the target customer data to ensure the absolute timeliness of the extracted target customer group.

[0022] The core of the dynamic time window conditional engine lies in dynamic and real-time calculation. It addresses the pain point of traditional static customer lists, where there's a time lag between generation and actual marketing campaign execution, leading to outdated or inaccurate lists. For example, a marketer might export a list of "last 7 days" active customers from the database on Monday, preparing for a campaign on Wednesday. However, when this list is used on Wednesday, it actually reflects the customer status from last Tuesday to this Monday. It misses new active customers from Tuesday and Wednesday and may also include customers who were lost after being exported on Monday but before the Wednesday campaign.

[0023] Dynamic time window conditions do not pre-generate a fixed list. Instead, the time condition (such as "last 7 days") is stored as a rule. This rule is only executed when the marketing campaign officially launches, calculating the specific date range seven days prior to the current timestamp, and immediately querying the data to generate the customer list. This ensures that the list captures the customer status up to the very last moment before the campaign begins, achieving absolute timeliness.

[0024] Suppose a Qixi Festival (Chinese Valentine's Day) promotion is scheduled to begin at 10:00 AM on August 22nd. Marketers use a visual interface to set up a dynamic time window condition engine, where the time condition is: "Customers who have browsed the 'Jewelry' or 'Perfume' category within the past 30 days and have not claimed any other coupons between 3 days and 1 day before the promotion." Note that this includes two dynamic time windows: Window A (Behavior Window): "Past 30 Days" Window B (Exclusion Window): "3 days before the promotion to 1 day before the promotion." At this point, the system doesn't know exactly which days "Past 30 Days" refers to; it simply saves this logical rule.

[0025] Rule parsing and execution phase (activity starts at 10:00:00 on August 22): At 10:00 AM on August 22, the activity is triggered, and the dynamic time window engine begins operation. It retrieves the current timestamp 2023-08-22 10:00:00 and performs real-time parsing of the dynamic time conditions in the rules: "Last 30 days": This is parsed as the time range from 2023-07-23 10:00:00 to 2023-08-22 10:00:00. The engine will search for customers who browsed the specified product category within this period. "3 days before the activity to 1 day before the activity": This is parsed as 2023-08-19 10:00:00 to 2023-08-21 10:00:00. The engine will exclude customers who received coupons within this period. The engine then sends the parsed specific and absolute time ranges to the data query module.

[0026] The data query module executes the query immediately based on the parsed time conditions, generating the most accurate and real-time snapshot of the initial target customer data at the moment "2023-08-22 10:00:00".

[0027] Step 200: Preprocess the initial target customer data to obtain preprocessed target customer data.

[0028] Reference Figure 2 The initial target customer data includes internal structured data, unstructured data, and third-party data. The structured data includes the relational database Postgres, the unstructured data includes documents, logs, and images, and the third-party data includes CRM and marketing platform data.

[0029] To transform initial target customer data into consistent multimodal data, a unified data model is defined. This model includes all business entities within the enterprise, such as customers, products, and orders, and each business entity is assigned an identifier. For example, a customer entity is uniquely identified by its customer ID, products by their product number, and orders by their order number. These identifiers connect the previously isolated data, constructing a data view.

[0030] Before building the data view, the following steps are required: standardizing terminology, unifying data formats, and standardizing time. Regarding field standardization, fields from various data sources need to be thoroughly reviewed and compared. A deep analysis of the semantics of fields in different data sources is necessary to accurately identify fields with the same meaning but different names or definitions. For example, one data source might name the customer name field "cust_name," while another might name it "customer_name." In this case, a standardized name, such as "customer_name," needs to be used uniformly, and its data type, length, value range, and other detailed definitions must be clearly defined to ensure accurate understanding and use of these fields in subsequent data processing.

[0031] Taking date types as an example, different data sources may use various formats such as "YYYY / MM / DD" and "MM-DD-YYYY". These diverse date formats need to be unified into a standard date and time format, such as "YYYY-MM-DD HH:MM:SS". For numeric types, attributes such as precision and units should also be standardized to avoid data processing errors and analysis biases caused by inconsistent data types.

[0032] Time standardization ensures that all data is consistent and comparable across time dimensions. A unified time standard must be clearly defined, such as using Coordinated Universal Time (UTC) as the base time, and requiring all data sources to adhere to this standard time zone setting when recording and transmitting time information. Existing data needs to be time-converted and calibrated to conform to the unified time standard, ensuring accuracy in subsequent time series analysis, data correlation, and other operations.

[0033] This step connects data from different data sources using identifiers to build a unified multimodal data view. Specifically, it links previously isolated data using identifiers such as customer ID, product ID, and order number to create a unified multimodal data view. The customer ID links all data about that customer (such as orders, products, and purchase records); the product ID links product-related data with order and customer data; and the order number links orders with other data about products and customers.

[0034] Step 300: Based on the preprocessed target customer data, multiple identifiers from different sources are associated with the same target customer through a graph association algorithm. Deduplication is performed during the target customer extraction process to obtain the seed customer group.

[0035] Reference Figure 3 As an example, this step includes: Step 310: Based on the preprocessed target customer data, preprocess the heterogeneous identity identifiers to obtain customer identifiers, such as mobile phone numbers, WeChat OpenIDs, physical card numbers, etc.

[0036] Phone number processing: Use regular expressions to remove all non-numeric characters and extract the last 11 digits as the valid number. For example, inputting "+86 13800138000" will result in "13800138000".

[0037] WeChat OpenID processing: First, the implicit prefix "wx_" is removed, and then all non-alphanumeric characters are filtered out. For example, inputting "wx_abcdef12345!@#" will result in "abcdef12345" after processing.

[0038] Physical / electronic card processing: Remove leading zeros using lstrip('0') and convert to uppercase. For example, inputting "00012345" will result in "12345".

[0039] Name processing: First remove all spaces, then convert all names to uppercase. For example, inputting "Zhang San" will result in "Zhang San".

[0040] Address standardization: First, compress extra spaces into single spaces, then standardize the province, city, and district names (e.g., replace "XX City" with "XX"). For example, inputting "No. 1, XX Village Street, XX District, XX City" will result in "No. 1, XX Village Street, XXXX District".

[0041] Member ID Mapping: Maps the source ID to the target ID by reading a multi-system ID mapping table (such as a CSV file). Returns None if the mapping table or ID does not exist. For example, if the input is "SYS1_12345" but no mapping file is found, it returns None.

[0042] Step 320: Using customer identifiers as nodes, construct an initial weighted graph through association relationships.

[0043] As an example, this step includes: Step 3201: Using the customer identifier as a node, perform feature matching on all node pairs and calculate the edge weight between each pair of nodes.

[0044] Customer identifiers are used as graph nodes to form a node set. Feature matching analysis is performed on any two different nodes in the node set, and the feature types are divided into three categories: strong features, weak features, and behavioral associations. The weight calculation follows the numerical range constraint of [0, 1.0], where 0 represents no association and 1.0 represents a strong association.

[0045] Strong features dominate the calculation of edge weights between customer identifiers. Due to their high weights, as long as strong feature matching exists, the edge weights tend to be high, even reaching the upper limit of 1.0. Specifically, these include: Completely identical phone numbers: If two different customer identifiers, such as the phone number bound to a WeChat account and the phone number registered with a physical card, are completely identical, then it can be largely assumed that these two customer identifiers correspond to the same customer. In the weight example, the highest weight of 1.0 is given, indicating that as long as the phone numbers are identical, there is a strong certainty of association.

[0046] OpenID-Mobile Number Binding: When the OpenID and mobile number binding are consistent, it indicates a corresponding relationship exists at the WeChat ecosystem and mobile number association level. Because this binding relationship is relatively fixed and possesses a certain degree of uniqueness, it is assigned a weight of 1.0, meaning that this match can reliably demonstrate the association between the two identifiers.

[0047] One-to-one binding of physical and electronic cards: Physical and electronic cards are usually the same form of use for the same customer in different scenarios. When there is a one-to-one binding relationship between them, such as the physical card number card_no matching the electronic card number B.card_no, this clearly points to the association of the same customer in different card forms. The weight of 1.0 reflects the strong effectiveness of this binding relationship in determining customer association.

[0048] Multiple IDs generated from the same account system: In some business systems, multiple different IDs are generated based on the same account system for different business scenarios. When these IDs can be matched through mapping, it means they originate from the same account system and are likely to correspond to the same customer. A high weight of 0.9 is given to this, indicating that such matching has strong reference value for judging customer association.

[0049] Weak features provide indirect clues that may indicate a relationship. When determining the association between customer identifiers, their weight is at a moderate level, typically in the range of 0.8 to 0.5. Name and last 4 digits of phone number match: When two customer identifiers have the same name and the same last 4 digits of their phone number, it may mean that they belong to the same customer. However, names can be duplicated, and the probability of the last 4 digits of a phone number being repeated is not low. Therefore, this is only a weak feature with a weight of 0.8, indicating that it has some indicative function of association, but cannot definitively establish an association relationship.

[0050] Fuzzy matching of name and address (70%): Two addresses are similar to some extent, and the same name increases the likelihood of two customer identifiers being associated. However, there may be cases of address entry errors, different customers living in similar address areas, etc., so this is treated as a weak feature, with a weight of 0.7 reflecting the uncertainty of this association.

[0051] Terminal device fingerprint (cookie / token): Terminal device fingerprints, such as cookies or tokens, can identify a customer's device to a certain extent. If two customer identifiers use the same terminal device fingerprint, it indicates that they may be operating on the same device and possibly belong to the same customer. However, devices may be shared by multiple people, or device information may be tampered with; therefore, it is considered a weak feature with a weight of 0.6.

[0052] Purchasing the same order number: Purchasing the same order number indicates that there are identical transaction records associated with different identifiers on both the POS terminal and the APP terminal. Although normally the same order corresponds to the same customer, there may be special cases such as incorrect order information association or payments made on behalf of others. Therefore, this is only a weak feature with a weight of 0.6.

[0053] Behavioral association focuses on finding potential connections by analyzing customer behavior data under different identifiers. It does not rely on direct matching of identifier information, but rather starts from the behavioral level of customers' operating habits and activity patterns to uncover clues that different identifiers may represent the same customer. Same device login (device_id): When different customer identifiers (such as different accounts) log in on the same device, it suggests that they may belong to the same customer. Because customers usually use devices they are familiar with for various operations, this behavior has a certain indicative significance, with a weight of 0.5. However, devices may also be shared by multiple people, such as in a home shared device, so the same device login alone cannot determine that they are the same customer, therefore the weight is relatively not particularly high.

[0054] Same IP + Recent Time Window: An IP address can reflect a customer's network location to some extent. If two customers are identified by the same IP address and have actions within a similar time window, the likelihood of them being associated increases. For example, customers might use different accounts to operate within the same network environment. However, due to factors such as dynamically assigned IP addresses (e.g., public Wi-Fi, dynamic IPs) and proxy servers, the same IP address does not necessarily represent the same customer; therefore, the weight is 0.3.

[0055] Clicks on the same marketing link: When different customer identifiers click on the same marketing link, it indicates that they are interested in the same marketing content. This could mean that these identifiers represent the same customer responding on different channels, or different customers with similar interests. Due to the multiple possibilities, this is weighted at 0.3 as a behavioral association feature, and can only be considered a weak association clue.

[0056] Step 3202: Construct an initial weighted graph based on the edge weights between nodes and node pairs.

[0057] Customer identifiers are used as graph nodes to form a set of nodes. For each pair of nodes, the three types of features are checked for matching relationships and the corresponding weights are accumulated. For example, when physical card NodeA matches mobile phone NodeB: the mobile phone number is completely consistent and contributes a strong feature weight of 1.0, the device fingerprint is consistent and contributes a weak feature weight of 0.6, and the marketing link is consistent and contributes a behavioral association weight of 0.3. The total is 1.9. After capping to 1.0, the final edge weight is 1.0.

[0058] The resulting weighted graph is stored in an adjacency list structure, where nodes represent identifiers, edges represent associations, and edge weights quantify the strength of the associations.

[0059] Step 330: Based on the initial weighted graph, filter the edges to obtain the complete identity graph.

[0060] After calculating the edge weights for all node pairs, the graph structure is optimized and constructed based on predetermined association threshold rules. Long-term application in multiple industries such as retail and e-commerce has shown that when the edge weight reaches or exceeds 0.8, the accuracy of the corresponding entity matching relationship (e.g., two IDs belonging to the same natural person) can be stably maintained above 99%, meeting the extremely high reliability requirements of automated processing. This threshold ensures the determinism of merging core customer data. Among association edges with weights below 0.6, the proportion of false positive connections caused by random coincidence or data noise is too high (usually exceeding 70%). Filtering them out can significantly purify the graph structure and improve the performance and result quality of subsequent clustering algorithms. Retaining connections with weights of 0.6 and above can capture the vast majority (>95%) of meaningful associations generated by real user behavior, ensuring high recall for customer identification.

[0061] Based on this, a strong correlation threshold of StrongThreshold = 0.8 and a weak correlation threshold of WeakThreshold = 0.6 are set. This dual-threshold system aims to filter out trustworthy relationships. Any edge with a weight lower than 0.6 is considered an untrustworthy connection and is filtered out. For example, when the weight of an edge is calculated to be 0.5, it will be decisively removed because it does not meet the minimum threshold requirement, ensuring that only edges with high credibility are retained in the graph.

[0062] The edge weights between all node pairs have been calculated, and untrusted edges have been filtered out. The remaining edges and nodes are then combined to form a complete identity graph.

[0063] Step 340: Cluster the nodes in the identity graph to form unique customer entities and obtain the seed customer group.

[0064] After constructing and edge-filtering the identity graph, the nodes in the graph are clustered to identify which nodes belong to the same individual. For this purpose, a union-find data structure is used as the basic tool for clustering, including: First, each node represents a customer identifier (such as a mobile phone number, WeChat OpenID, physical card number, etc.). During initialization, each node is an independent set, representing a single customer entity.

[0065] Next, all edges in the identity graph are traversed. For each edge, a union operation is performed based on the two nodes it connects. Since the identity graph has been filtered, retaining only edges with weights higher than a specified threshold (0.6), each edge represents a reliable association. For each qualifying edge, the nodes at both ends are merged into the same set, indicating that the two nodes belong to the same customer.

[0066] After completing the traversal and merging operations for all edges, the clustering results are extracted. After all merging operations are complete, a disjoint-set data structure (union-find) is used to identify the set to which each node belongs. Nodes in each set (or cluster) will be grouped under the same individual customer. For example, a cluster might contain multiple identifiers such as phone numbers, WeChat OpenIDs, and physical card numbers, indicating that these identifiers all belong to the same customer.

[0067] After extracting the clustering results, it's necessary to verify whether the nodes in each cluster are indeed related. This can be done by checking if valid edges exist between nodes within a cluster and whether the weights of these edges meet the requirements. Further verification can involve checking whether the customer identifiers within each cluster belong to the same individual. For example, if a cluster contains different names, it may be necessary to further confirm whether they belong to the same person.

[0068] If there are multiple records with different names within the same cluster, conflicts need to be resolved by prioritizing the name corresponding to the higher-weighted identifier (such as a phone number or bank card number). For example, if a phone number and an OpenID have different names, the name corresponding to the phone number will be prioritized. If there are contradictions between higher-weighted identifiers (e.g., two phone numbers have different names), a secondary verification mechanism needs to be triggered, such as cross-verification using multi-dimensional data like device fingerprints and transaction behavior.

[0069] If a single cluster contains multiple OpenIDs that correspond to different phone numbers, it needs to be split into multiple subsets. Each OpenID serves as the core of a subset, and the phone number serves as the boundary of the subset. For example, OpenID_A is associated with phone number 138XXXX0001, and OpenID B is associated with phone number 139XXXX0002, thus forming two independent subsets.

[0070] After completing the above steps, the clustering results will be confirmed, with each cluster representing a unique customer entity. These clusters will serve as seed customer groups for subsequent potential customer expansion and marketing campaigns.

[0071] Step 400: After acquiring the seed customer group, automatically find potential customer groups that are highly similar to the seed customers in terms of characteristics to expand the marketing reach.

[0072] After acquiring the target seed customer group, to automatically find potential customer groups with highly similar characteristics to the seed customers from the full customer database in order to expand the marketing reach, the following detailed steps can be followed: Step 410: Based on the seed customer group, conduct similar customer expansion mining.

[0073] Collect multi-dimensional data from the seed customer group and the full customer database, including but not limited to consumption habits (such as purchase frequency, purchase amount, and product category preference). Clean this data to remove invalid, erroneous, and duplicate data.

[0074] Step 420: Build a seed customer base: It's not possible to simply compare with each seed customer; a target needs to be defined, and methods include: Calculate the mean vector of all seed customer feature vectors and use it as the center of the seed group.

[0075] Step 430: Select a similarity / distance metric algorithm: Calculate the distance or similarity between the candidate customer vector and the seed center vector.

[0076] Step 440: Similarity Calculation and Ranking: Traverse the entire candidate customer database and calculate the similarity score between each candidate customer and the seed center.

[0077] Get a list [ (Customer ID1, Similarity Score 1), (Customer ID2, Similarity Score 2), ... ], and sort it in descending order of score.

[0078] Step 450: Threshold Determination and Population Selection: Top-K selection: Directly select the top K customers (e.g., 10,000 people) based on similarity.

[0079] Final output: A sorted and filtered list of customer IDs, which represents the "highly similar potential customer group".

[0080] Step 500: When identifying target customers, check whether they have been overreached in other marketing activities or within a preset time period, and exclude them accordingly to obtain the final list of target customers.

[0081] Reference Figure 4When screening target customers, identify and exclude those who are participating in other marketing activities at the same time or who have been over-reached recently. This prevents problems such as repeated marketing messages, wasted activity resources, and negative emotions caused by frequent disturbances to customers. It ensures that every marketing activity can accurately reach the right customers and improve marketing effectiveness and customer satisfaction.

[0082] Data collection and integration: Establish a unified data platform to aggregate customer data from different marketing channels and business systems, including information such as the time, type, and number of times customers participate in various marketing activities, to ensure the integrity and accuracy of the data and provide a comprehensive and reliable data foundation for subsequent testing.

[0083] Time-Slot Matching Detection: For each target customer to be identified, check whether they have already participated in other marketing activities within the planned time period of the current marketing campaign. For example, if a limited-time discount event is planned, check the customer's historical activity participation records to see if the customer has participated in other marketing activities such as discounts or free gifts during the event period.

[0084] Outreach Frequency Assessment: Set reasonable outreach frequency thresholds and track the number of times customers have been reached by marketing efforts in the recent past (e.g., the past week, month). If a customer's outreach frequency exceeds the threshold, it is considered that they have been overreached recently. For example, if a customer receives more than 5 marketing text messages, emails, push notifications, etc., within a week, it is considered overreach.

[0085] Exclusion process: Customers detected as having participated in other marketing activities during the same period or having been over-reached recently will be excluded from the target customer list. The reasons for exclusion will be recorded for subsequent analysis and optimization of marketing strategies.

[0086] It also includes: Step 600: The trigger-based automated marketing workflow engine executes marketing campaigns, and the visual condition builder assists in building filter conditions.

[0087] Reference Figure 6 Customers first need to select condition blocks that meet their needs from a list of pre-defined condition blocks on the interface. These condition blocks cover various customer characteristic dimensions, such as consumption behavior (e.g., "spending more than X yuan in the past month" or "purchases of a specific product more than Y times"), and customer attributes (e.g., "age within the Z range" or "city of residence"). Customers can then easily drag and drop the selected condition blocks into the construction area, forming the initial framework of the filtering logic and laying the foundation for subsequent complex logic combinations.

[0088] After initially placing the condition blocks, customers can use the logical operators (AND, OR, and exclude) provided in the interface to connect the condition blocks, thereby constructing more complex filtering logic. The "AND" operator means that all connected conditions must be met simultaneously. For example, if a customer connects the condition blocks "recent month's spending exceeds 1000 yuan" and "purchased electronic products" with "AND," it means that the filtered customers must have both a recent month's spending exceeding 1000 yuan and a record of purchasing electronic products. The "OR" operator means that only one of the connected conditions needs to be met. The "exclude" operator is used to exclude cases that meet specific conditions. By flexibly using these logical operators, customers can gradually refine their filtering logic and target specific customer groups.

[0089] After completing the logical combination, clients need to conduct a comprehensive review of the constructed filtering logic. They should check whether each condition block and logical operator accurately expresses their filtering intent, and whether there are any logical contradictions or omissions. If problems are found, clients can easily replace condition blocks, adjust logical operators, or add or delete condition blocks until the filtering logic fully meets their needs. The reviewed and optimized filtering logic will serve as the basis for subsequent client filtering, helping clients identify potential customers who meet specific criteria from massive amounts of customer data.

[0090] Step 700: Based on the final target customer list, evaluate the effectiveness of the marketing campaign and provide strategic feedback.

[0091] Reference Figure 6 Step 710: Using a pseudo-random algorithm and fixed mapping logic, during group initialization, the "globally unique random seed" and the "list of unique customer IDs" are used as dual inputs and passed to the pseudo-random grouping algorithm; a one-to-one mapping relationship of "customer ID-group label" is generated through hash operation.

[0092] The group consistency guarantee mechanism relies on pseudo-random algorithms and fixed mapping logic to build a reproducible and unbiased system. During group initialization, a dual-input fixed mapping logic is used. The "globally unique random seed" is automatically generated by the system and remains unchanged throughout the experimental period, providing the source of randomness for grouping while ensuring the repeatability of the random process through its fixed nature. The "customer unique ID list" is synchronized from the multimodal data fusion module and includes identifiers such as member ID and device number, identifying each customer.

[0093] After inputting the two into the pseudo-random grouping algorithm, the algorithm establishes the association between customer ID and random seed through hash operation, and then generates a one-to-one mapping relationship of "customer ID - group label". For example, it is clear that customer ID = 1001 corresponds to group A and ID = 1002 corresponds to group B.

[0094] Moreover, this mechanism guarantees group stability throughout the entire experimental period. As long as the random seed and customer ID list remain unchanged—that is, there are no additions or deletions to the test customer group, no restarts of the experiment, etc.—the mapping relationship remains consistent regardless of the number of group calculations performed, or operations such as system restarts or data recalculations. This means that the same customer will be stably assigned to the same experimental group throughout the entire experimental period, and there will be no "group drift across calculation counts" phenomenon that causes group changes due to different calculation counts.

[0095] Step 720: Different groups of customers receive their respective marketing strategies.

[0096] In the dynamic management experiment within the project plan, the customer segmentation process plays a crucial role. Through deep integration with the automated marketing workflow engine, the system can synchronize the grouped customer groups to the engine. This linkage mechanism ensures that customers in groups A and B receive their corresponding marketing strategies; for example, group A receives a 10 yuan coupon, while group B receives a 20 yuan coupon, achieving non-overlapping outreach. This precise segmentation method fundamentally guarantees the fairness of the experiment, allowing different strategies to operate on the target customer groups in a relatively independent environment. This avoids interference with the experimental results due to strategy confusion and lays a solid foundation for accurately evaluating the effectiveness of different marketing strategies.

[0097] Monitoring is a crucial safeguard for ensuring data validity. The system connects to multimodal data modules in real time, comprehensively capturing data across the entire "reach-interaction-conversion" chain. This data covers the entire process from when a customer receives a marketing message to when they complete the conversion, providing a rich source of information for in-depth understanding of customer behavior and marketing effectiveness. The system dashboard dynamically displays a comparison of various metrics between groups A and B, such as click-through rate and conversion rate, allowing researchers to intuitively grasp the progress of the experiment and the differences between the two groups.

[0098] More importantly, the system automatically issues an alert when the reach rate falls below a preset threshold (e.g., 5%). This alert mechanism promptly reminds researchers to investigate issues with the push notification channel, such as technical malfunctions, network problems, or inappropriate push strategies, ensuring that marketing messages reach target customers smoothly and guaranteeing the integrity and accuracy of experimental data. Through real-time monitoring and alerts, researchers can promptly identify problems and take corresponding measures to avoid deviations in experimental results due to data anomalies.

[0099] Automated statistical significance testing (t-test / chi-square test) every 24 hours is a crucial step in dynamically managing experiments. These tests allow the system to promptly analyze whether there are significant differences between groups A and B. If the test results indicate a significant difference (p<0.05), the system will prompt early termination of the experiment. This decision helps reduce ineffective costs and avoids continuing to invest resources in experiments when the superiority or inferiority of the strategy can already be clearly determined.

[0100] Conversely, if the test results show no difference, it is recommended to extend the experimental period or adjust the variables. Extending the experimental period can increase the sample size and improve the reliability of the experimental results; adjusting the variables can explore different combinations of marketing strategies and find more effective marketing methods. Through this dynamic testing and decision-making mechanism, a balance can be achieved between efficiency and accuracy in the experiment, making the experimental results more valuable and providing strong support for the formulation of subsequent marketing strategies.

[0101] Step 730: Feedback phase.

[0102] In the post-planning quantitative attribution phase, the comprehensive data encompassed by multimodal data provides a solid data foundation for accurately evaluating the effectiveness of marketing campaigns. Through counterfactual analysis, the experimental group participating in the campaign is compared with the blank control group that did not participate, revealing the impact of natural growth factors on business metrics. For example, even without a marketing campaign, customers may experience increased spending due to seasonal factors, market trends, etc. This comparison allows for the accurate identification of the real incremental growth brought about by the campaign.

[0103] Meanwhile, "multi-touchpoint attribution" further integrates customer data across all touchpoints. During interactions with a brand, customers may learn about promotional activities through multiple channels and touchpoints, such as online advertising, SMS push notifications, and in-store promotions. "Multi-touchpoint attribution" can rationally allocate the contribution of each touchpoint to the final conversion, accurately quantifying the actual value of different marketing strategies. For example, in a coupon distribution campaign, it's clearly stated that the incremental ROI of a 20 yuan coupon for Group B is 2.4 times that of a 10 yuan coupon for Group A. This precise quantification allows marketers to clearly understand the return on investment of different strategies, avoiding incorrect decisions due to misjudgments of results.

[0104] The feedback loop is a crucial step in forming a value loop. Feeding attribution findings back to the visual condition builder can optimize customer segmentation rules. For example, if analysis reveals that new customers are more sensitive to 20 yuan coupons, then in subsequent customer segmentation, more 20 yuan coupon-related activities can be pushed to new customer groups, improving the accuracy and effectiveness of marketing.

[0105] Simultaneously, the findings are fed back into the dynamic time window engine, allowing for adjustments to the outreach cycle based on customer behavior and campaign effectiveness. For example, if Group B shows a lower add-to-cart → payment churn rate, the analysis suggests that customers complete the purchase process more smoothly at the appropriate outreach time. This conclusion can then be used to optimize outreach timing and improve overall conversion rates. Furthermore, incorporating the attribution findings into the marketing strategy knowledge base provides valuable reference experience for subsequent similar campaigns, enabling continuous iteration and optimization of marketing strategies and preventing strategic gaps.

[0106] Generating multi-dimensional comparative reports is one of the key actions after planning. These reports not only present the overall results, such as key indicators like ROI and conversion rates, giving marketers a clear understanding of the campaign's overall effectiveness, but more importantly, they also delve into the differences in customer segmentation effects and conversion funnels. By analyzing customer segmentation effects, it's possible to discover the varying responses of different customer groups to different marketing strategies, thereby enabling the development of more targeted marketing strategies.

[0107] Conversion funnel differential analysis can reveal customer churn at each stage of the purchase process and identify key factors affecting conversion. For example, if Group B has a lower churn rate at the add-to-cart to checkout stage, further analysis may suggest that Group B's coupons have larger face values, incentivizing customers to complete the payment. This detailed data breakdown provides clear direction and basis for strategy optimization, enabling marketers to improve marketing strategies in a targeted manner, enhance the overall effectiveness of marketing campaigns, and truly form a value loop from campaign execution to effect evaluation to strategy optimization.

[0108] The above embodiments are only used to illustrate the technical solutions of the present invention, and are not intended to limit it. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention, and should all be included within the protection scope of the present invention.

Claims

1. A method for dynamically extracting target customers based on multi-source data, characterized in that, Includes the following steps: Step 100: Set dynamic time window conditions. When the marketing campaign is officially launched, query the data according to the set dynamic time window conditions to generate initial target customer data. Step 200: Preprocess the initial target customer data to obtain preprocessed target customer data; Step 300: Based on the preprocessed target customer data, multiple identifiers from different sources are associated with the same target customer through a graph association algorithm. Deduplication is performed during the target customer extraction process to obtain the seed customer group. Step 400: After obtaining the seed customer group, find potential customer groups that are highly similar to the seed customers in terms of characteristics to form the target customer group; Step 500: Detect whether the target customer group has been overreached in other marketing activities or within a preset time period during the same period, and exclude them accordingly to obtain the final target customer list.

2. The method for dynamically extracting target customers based on multi-source data according to claim 1, characterized in that, In step 100, when the marketing campaign is officially launched, data is queried based on the set dynamic time window conditions to generate initial target customer data, including: When the marketing campaign is officially launched, obtain the current timestamp; and based on the current timestamp, parse the dynamic time window conditions to calculate the specific time range; Based on the calculated specific time range, query the data, filter customers who meet the criteria, and generate initial target customer data.

3. The method for dynamically extracting target customers based on multi-source data according to claim 1, characterized in that, In step 200, the initial target customer data is preprocessed to obtain preprocessed target customer data, including: The initial target customer data is preprocessed to obtain preliminary processed data. The preprocessing includes terminology standardization, data format unification, and time unification. Construct a unified data model, which includes business entities, such as customers, products, and orders, and assign an identifier to each business entity. The pre-processed data is linked by identifiers to obtain a multimodal data view, which is the pre-processed target customer data.

4. The method for dynamically extracting target customers based on multi-source data according to claim 1, characterized in that, Step 300 includes: Based on the preprocessed target customer data, the heterogeneous identity identifiers are preprocessed to obtain customer identifiers. Using customer identifiers as nodes, an initial weighted graph is constructed based on relationships. Based on the initial weighted graph, the edges are filtered to obtain the identity graph; Cluster the nodes in the identity graph to form unique customer entities and obtain the seed customer group.

5. The method for dynamically extracting target customers based on multi-source data according to claim 4, characterized in that, The customer identifier includes name, mobile phone number, WeChat OpenID, physical card / electronic card number, address, and membership number.

6. The method for dynamically extracting target customers based on multi-source data according to claim 4, characterized in that, Clustering the nodes in the identity graph to form unique customer entities yields a seed customer group, including: Each node represents a customer identifier; during initialization, each node is an independent set. By traversing all edges in the identity graph, a disjoint-set data structure is performed on each edge to merge the edges. For each edge that meets the conditions, merge the nodes at both ends into the same set, indicating that the nodes at both ends belong to the same customer; After completing all merging operations, extract the clustering results and use the disjoint-set search operation to identify the set to which each node belongs; nodes in each set will be classified as the same natural person customer; After extracting the clustering results, verify whether the nodes in each cluster are indeed related. If there are multiple records with different names in the same cluster, resolve the conflict by prioritizing the name corresponding to the high-weight identifier, which includes mobile phone number and card number. If the same cluster contains multiple OpenIDs and corresponds to different mobile phone numbers, split them into multiple subsets, with each OpenID as the core of a subset and the mobile phone number as the boundary of the subset. After completing the above steps, the clustering results will be confirmed, with each cluster representing a unique customer entity; the clustering results will be used as a seed customer group.

7. The method for dynamically extracting target customers based on multi-source data according to claim 1, characterized in that, Step 400 includes: calculating the similarity between each customer in the full customer database and the seed customer group; and selecting customers with high similarity based on the calculated similarity to form a preliminary set of similar customers.