A digital advertisement delivery method based on big data
Patent Information
- Application Number
- CN202610221109.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-02-24
- Publication Date
- 2026-08-21
AI Technical Summary
[0004]然而,现有技术在隐私限制条件下执行站内信号联动的跨渠道数字广告投放时,难以在短时间粒度内同步反映由价格、库存、活动强度与竞品变化引起的站内意图与商品供给波动并使出价与预算与意图窗口期一致,且难以使多触点归因与对照实验的实验单元及分流口径与投放执行口径一致从而避免样本污染、溢出干扰与评估口径漂移并使预算分配依据与真实增量贡献一致,同时难以将跨渠道频次约束与增量评估及隐私保护统计纳入统一约束链路以形成跨渠道频次约束与出价、预算的联动闭环,从而导致投放稳定性不足并使评估结果缺乏复现一致性
[0063]1.本发明通过对意图统计结果执行差分隐私扰动生成脱敏统计摘要,并以脱敏统计摘要作为资源分配策略生成与投放请求分流实验的共同输入口径,使资源分配、实验分流与增量评估均基于同一统计口径进行,从而避免现有技术在跨渠道并行投放中出现的实验单元与执行口径不一致、样本污染与口径漂移问题。
Smart Images

Figure CN122617480A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of digital advertising delivery control and big data processing technology, specifically relating to a digital advertising delivery method based on big data. Background Technology
[0002] In digital marketing scenarios, the linkage between in-site purchase signals driven by retail media and off-site advertising has become a common business model for advertisers to improve audience reach and conversion rates. Platforms accumulate behavioral data such as browsing, adding to cart, purchasing, and returns within the platform, and generate advertising data such as exposure, clicks, and costs on off-site channels. Advertisers need to use this multi-source data to select target audiences, control bids, allocate budgets, and constrain frequency, while simultaneously obtaining incremental contribution evaluation results corresponding to their advertising decisions to support the review and optimization of cross-channel advertising. With increasingly stringent privacy compliance requirements, the sharing of user-level identity identifiers in off-site advertising links is restricted, leading to increased difficulty in data correlation and reduced consistency in evaluation criteria for in-site purchase signals and advertising contributions.
[0003] In existing technologies, platforms often employ a method of offline aggregation followed by rule- or model-driven ad delivery to achieve coordinated ad delivery: This involves cleaning and structuring on-site behavioral data, segmenting it by interest tags or similar user groups to create segment profiles or features; distributing these profiles or features to the ad delivery platform, which then updates bids and budgets daily or weekly; estimating conversion contributions through multi-touchpoint attribution or controlled experiments in the evaluation phase, and setting frequency thresholds by channel to limit exposure times in the control phase. Some platforms incorporate machine learning models into the above process for conversion probability prediction or audience scoring, using these scores to drive ad placement ranking and budget allocation.
[0004] However, when executing cross-channel digital advertising campaigns with in-site signal linkage under privacy restrictions, existing technologies struggle to simultaneously reflect fluctuations in in-site intent and product supply caused by changes in price, inventory, campaign intensity, and competitors within a short timeframe, and to ensure that bids and budgets align with intent windows. Furthermore, it is difficult to ensure that the experimental units and traffic allocation criteria of multi-touchpoint attribution and control experiments are consistent with the campaign execution criteria, thereby avoiding sample contamination, spillover interference, and evaluation criterion drift, and ensuring that budget allocation is consistent with actual incremental contributions. At the same time, it is difficult to incorporate cross-channel frequency constraints, incremental evaluation, and privacy protection statistics into a unified constraint chain to form a closed loop linking cross-channel frequency constraints with bids and budgets, resulting in insufficient campaign stability and a lack of reproducibility and consistency in evaluation results. Summary of the Invention
[0005] To address the aforementioned existing problems, this invention proposes a big data-based digital advertising delivery method: This method converts in-site events and external receipts into delivery signal records, and generates a unified dataset through deduplication, standardization, and time-slice alignment; it clusters session sequences to generate intent categories; it performs differential privacy perturbation on intent statistics to form an anonymized statistical summary; it combines real-time feedback to generate a resource allocation strategy using a multi-armed slot machine approach and conducts traffic splitting experiments, calculates incremental conversion rates, and performs gating evaluation; it adjusts weights based on contact frequency to form an execution strategy; and it solidifies version states to generate closed-loop records and iterates back through the loop.
[0006] This invention provides the following technical solution:
[0007] Step S1: Collect multi-source user behavior data and campaign data, and generate a unified dataset after standardization and time alignment;
[0008] Step S2: Based on the unified dataset, extract user behavior sequence features, and use a clustering algorithm to classify user sessions into browsing, price comparison, and purchase intent categories, generating intent classification results;
[0009] Step S3: Perform differential privacy processing on the statistical information of each intent category in the intent segmentation result to generate a de-identified statistical summary;
[0010] Step S4: Based on the anonymized statistical summary and real-time delivery feedback, a multi-armed slot machine algorithm is used to generate resource allocation strategies for different intent categories and channels;
[0011] Step S5: Based on the resource allocation strategy, conduct a traffic splitting experiment on the delivery requests, calculate the incremental conversion rate, evaluate the effectiveness of the incremental conversion rate, and generate incremental effect evaluation results;
[0012] Step S6: Based on the incremental effect evaluation results and user contact frequency, dynamically adjust the weight parameters of the resource allocation strategy to form an execution strategy;
[0013] Step S7: Based on the execution strategy, obtain the delivery results and conversion results, generate a closed-loop record containing the version status of each stage, and feed the closed-loop record back to step S1 to trigger iterative optimization.
[0014] As a preferred implementation method, the specific steps for collecting multi-source user behavior data and campaign data, and generating a unified dataset after standardization and time alignment are as follows:
[0015] Read user behavior event records from in-site behavior collection, and read exposure receipt records, click receipt records, conversion receipt records and cost receipt records from external advertising receipts. Convert the records from each source into advertising signal records and summarize them to form an advertising signal record set.
[0016] For each record in the signal delivery record set, a deduplication key is generated. The deduplication key is then input into a Bloom filter and a multi-hash bitwise judgment is performed to complete the deduplication. The field mapping rule set is read and the deduplicated record set is normalized field by field. Character fields are matched character by character according to the format rules registered in the field mapping rule set and the matching results are output. Numeric fields are compared item by item according to the lower and upper bound values registered in the field mapping rule set and the comparison results are output. Records that pass both the matching and comparison results are written to the standardized record set, and records that fail are written to the abnormal record set and the failure reason code is registered.
[0017] Read the time granularity value registered in the time granularity configuration item, and merge the event timestamps in the standardized record set by integer division to generate time slice identifiers; for the indicator value of the event type is cost, if there are valid values in adjacent time slices of the same session identifier, calculate the interpolation value according to the time position ratio and write it into the missing time slice. The criteria for determining adjacent time slices are that the time slice sequence number of the time slice identifier differs by 1 and there are records of event type cost with valid indicator values in both time slices; when the missing time slice cannot simultaneously locate the valid value record of the preceding time slice and the valid value record of the subsequent time slice, write the session identifier and the missing time slice identifier into the abnormal record set and register the failure reason code, thereby obtaining the aligned record set;
[0018] The record set is grouped according to the session identifier and time slice identifier. The records in the group are arranged in ascending order by event timestamp to form an event sequence. The event sequence is encapsulated into a unified dataset entry and written to the unified dataset using a double buffer rollback mechanism. When the write is successful, the version number is incremented and the backup buffer is synchronized. When the write fails, it rolls back to the backup buffer and keeps the version number unchanged, thereby generating a unified dataset.
[0019] As a preferred implementation, the specific steps for extracting user behavior sequence features based on the unified dataset are as follows:
[0020] For each session event sequence, determine its length and whether the number of event entries is greater than 2. Session event sequences that pass the determination will proceed to the feature extraction stage, while session identifiers that fail the determination will be written into the unclassified session set and the failure reason code will be registered.
[0021] For each session event sequence entering the feature extraction stage, a session feature vector is generated: the number of items with event types of exposure, click, and conversion are counted as count features; the time difference sequence is formed by subtracting the event timestamps of two adjacent events, and the average time difference and peak time difference are extracted from the time difference sequence as time features; the object identifiers in the session event sequence are grouped according to the object category field, and the proportion of the occurrence of each category to the total number of event items is counted as category distribution features; the count features, time features, and category distribution features are concatenated in a fixed field order to obtain the session feature vector;
[0022] The session feature vectors are evaluated for null and infinite values. Session feature vectors that pass the evaluation are written into the session feature vector set, while session identifiers that fail the evaluation are written into the unclassified session set and the failure reason code is registered.
[0023] As a preferred implementation, the specific steps for using a clustering algorithm to classify user sessions into browsing, comparison, and purchase intent categories are as follows:
[0024] Three-cluster clustering is performed on the session feature vector set. The session feature vector set is sorted in ascending order by session identifier, and the first three vectors are taken as the initial cluster centers. Each session feature vector is compared with the three cluster centers one dimension at a time, and the distance value is obtained by taking the square root of the sum of the squares of the differences in each dimension. The session feature vector is assigned to the cluster corresponding to the cluster center with the smallest distance value. The cluster centers of each cluster are updated by averaging each dimension. The center offset is obtained by taking the square root of the sum of the squares of the differences between the old and new cluster centers one dimension at a time. The three center offsets are summed to obtain the change. The iteration is terminated when the change is less than 0.01 or the number of iterations reaches 20.
[0025] After termination, the number of sessions in each cluster is determined. The determination condition is whether the number of sessions in each cluster is greater than 10. If the number of sessions in a cluster is greater than 10, it is written into the cluster partitioning record set. If the number of sessions in a cluster is less than or equal to 10, the session identifiers of that batch are written into the unclassified session set and the failure reason code is registered.
[0026] Intent mapping is performed on the cluster-divided record set: the number of conversion items and the number of click items are counted for each cluster, and the purchase ratio and price comparison ratio are obtained by dividing the number of conversion items and the number of click items by the total number of event items in the cluster; the three clusters are sorted in descending order of purchase ratio and the first cluster in the sorted order is marked as purchase intent; the remaining two clusters are sorted in descending order of price comparison ratio and the first cluster in the sorted order is marked as price comparison intent; the remaining clusters are marked as browsing intent.
[0027] The unclassified session set is marked as unclassified intent. The intent category identifier corresponding to each session identifier is written into the intent partitioning result set. At the same time, the intent category identifier is backfilled into the unified dataset entry as the aggregation input for subsequent steps.
[0028] As a preferred embodiment, the specific steps for performing differential privacy processing on the statistical information of each intent category in the intent segmentation result are as follows:
[0029] Read the intent segmentation result set and the unified dataset, and backfill the correspondence between session identifier and intent category identifier into the event sequence of the unified dataset entries, so that each event carries the intent category identifier, channel identifier and time slice identifier;
[0030] Event sequences are grouped using intent category identifier, channel identifier, and time slice identifier as grouping keys. Within each group, the number of items with event type of exposure, the number of items with event type of click, and the number of items with event type of conversion are accumulated. The cost metric value is summed to generate an intent statistics result set.
[0031] The privacy configuration table is read to obtain the privacy budget value, noise type and anonymization version number, and the cost configuration table is read to obtain the single cost limit. For each intent statistics result set, a perturbation seed is generated. The perturbation seed is formed by concatenating the intent category identifier, channel identifier, time slice identifier and anonymization version number in a fixed order and converting them into a 32-bit integer as a random seed value. The Mersenne Twister pseudo-random number generator is initialized with the random seed value to generate four independent random number sequences.
[0032] Four noise values are generated based on noise type, corresponding to exposure count, click count, conversion count, and cost value, respectively: When the noise type is Laplace, the sensitivity of exposure count, click count, and conversion count is fixed at 1, and the sensitivity of cost value is fixed at the single-use cost limit. A scaling parameter is obtained based on the privacy budget and sensitivity. The uniform random number sequence is converted into zero-mean noise value through inverse transformation sampling. When the noise type is Gaussian, the failure probability parameter is read and it is determined whether it is greater than 0 and less than 1. If the determination is successful, the failure probability parameter is used as the divisor to perform a ratio operation with a constant 1.25, and the natural logarithm is taken. The logarithmic term is multiplied by 2, and the square root is taken to obtain the scaling term. The sensitivity is multiplied by the scaling term and then divided by the privacy budget. The budget value is used to obtain the standard deviation parameter; if the judgment fails, the previous de-identification version number entry is retrieved from the de-identification statistical summary set using the intent category identifier, channel identifier, and time slice identifier as search keys. If the retrieval is successful, it is copied, written, and the failure reason code is registered. If the retrieval fails, the number of exposures, clicks, conversions, and cost values are set to 0 and written to the de-identification statistical summary set; two sets of uniform random number pairs are sequentially extracted by the pseudo-random number generator. The natural logarithm and square root operation are performed on the first uniform random number to obtain the amplitude term. After the angle mapping is performed on the second uniform random number, the cosine and sine operations are performed respectively and multiplied by the amplitude term to obtain two zero-mean noise base values. The noise base values are multiplied by the standard deviation parameter to obtain the zero-mean noise value;
[0033] The four noise values are superimposed onto the exposure count, click count, conversion count, and cost value respectively to obtain the perturbed intent statistics result set; the perturbed exposure count, click count, and conversion count are first rounded and then set to 0 if the rounding result is less than 0 to perform non-negative integerization; the decimal place configuration item is read, the cost value is magnified to the integer scale according to the decimal place, then rounded and restored to the corresponding decimal scale to perform fixed-pointization; the perturbed intent statistics result set together with the de-identified version number is written into the de-identified statistical summary set.
[0034] As a preferred implementation, the specific steps for generating resource allocation strategies for different intent categories and channels using the multi-armed slot machine algorithm are as follows:
[0035] Read the intent statistics entries corresponding to the current time slot from the anonymized statistical summary set, and read the real-time delivery feedback records corresponding to the same time slot from the delivery execution side's receipt interface. The fields of the real-time delivery feedback records are fixed as channel identifier, time slot identifier, number of impressions, number of clicks, number of conversions, and cost value.
[0036] Construct resource allocation arm identifiers using intent category identifiers and channel identifiers. Align and merge anonymized statistical summaries and real-time delivery feedback according to resource allocation arm identifiers and time slice identifiers to form an arm observation record set. Read the arm parameter records corresponding to the resource allocation arm identifiers from the strategy configuration table. The arm parameter records contain success counts and failure counts. Add the number of conversions in the arm observation record set to the success count. Add the result of subtracting the number of conversions from the number of exposures to the failure count. When the number of exposures is less than the number of conversions, write the arm observation record to the abnormal record set and register the failure reason code. At the same time, use the previous version of the arm parameter record for this arm.
[0037] The exploration percentage, total budget, and bid adjustment step size are read from the strategy configuration table. Thompson sampling rules are used to generate conversion rate sample values for each resource allocation arm: sampling parameters are constructed for each resource allocation arm using success and failure counts; a random seed value is generated using the random seed generation rules registered in the strategy configuration table to initialize the pseudo-random number generator; uniform random numbers are retrieved from the pseudo-random number generator in a fixed calling order, and sampling determination rules are applied to the uniform random numbers to obtain the conversion rate sample value for that arm; when the sampling input parameters for that arm are missing, the arm's observation record is written to the anomaly record set, the failure reason code is registered, and the conversion rate sample value for that arm from the previous time slice is used.
[0038] The system reads the default value rules and single-time cost limit rules from the cost configuration table. It performs missing value judgment and upper limit constraint on the cost values in the real-time delivery feedback records. When a value is missing, it replaces the cost value with the default value of the cost field. When the upper limit is exceeded, the cost value is truncated to the single-time cost limit. The system reads the arm score conversion rule field from the strategy configuration table. It generates an arm sorting score based on the ratio of the arm sorting score to the conversion rate sample value and the cost value. When the cost value is equal to 0, the arm observation record is written to the abnormal record set and the failure reason code is registered. The arm sorting score corresponding to the arm in the previous time slice is used to participate in the sorting to ensure that the strategy in the current time slice can be generated.
[0039] The budget allocation results and bid adjustment results are encapsulated into resource allocation strategy entries. The fields of the resource allocation strategy entries are fixed as intent category identifier, channel identifier, time slice identifier, budget percentage, bid adjustment value and strategy version number. The resource allocation strategy entries are written into the resource allocation strategy set.
[0040] As a preferred implementation, the specific steps for conducting a traffic splitting experiment on the delivery requests based on the resource allocation strategy and calculating the incremental conversion rate are as follows:
[0041] Read the resource allocation strategy entry corresponding to the current time slice from the resource allocation strategy set, and read the pending delivery request record from the delivery request entry. The pending delivery request record carries the user identifier, session identifier, channel identifier and request timestamp.
[0042] The request timestamps are merged according to the time granularity configuration items to generate time slice identifiers. Based on the intent segmentation results, the intent category identifier is added to the session identifier. The intent category identifier, channel identifier, and time slice identifier are concatenated in a fixed field order to generate the delivery unit identifier, thereby merging each request to be delivered into the delivery unit identifier.
[0043] The experiment number and distribution ratio are read from the distribution configuration table. The distribution ratio is converted into a threshold point according to the conversion rules registered in the distribution configuration table. The distribution key is obtained by concatenating the user identifier, experiment number, and time slice identifier in a fixed order. The distribution value is obtained by taking the encoding value of each character of the distribution key and accumulating them. The distribution point is obtained by taking the remainder of the distribution value with a fixed modulus. When the distribution point is less than the threshold point, the delivery request is marked as an experimental group. When the distribution point is not less than the threshold point, the delivery request is marked as a control group. The set of execution strategy entries with the previous time slice effective flag is retrieved from the execution strategy set. The budget ratio and bid adjustment value that match the channel identifier in the execution strategy entry set are used to generate the control group delivery parameters. When no matching entry is found, the delivery request is written to the exception record set and the failure reason code is registered. The baseline bid adjustment value and baseline budget ratio registered in the strategy configuration table are used to generate the control group delivery parameters. The group identifier, delivery unit identifier, and strategy version number are written to the experiment distribution record to ensure consistency with the delivery execution caliber when merging subsequent receipts.
[0044] As a preferred implementation, the specific steps for evaluating the effectiveness of incremental conversion rate and generating incremental effect evaluation results are as follows:
[0045] Read the exposure receipts, click receipts, conversion receipts and cost receipts that match the experimental diversion records from the external delivery receipts, and summarize the number of exposures, conversions and cost values according to the delivery unit identifier and group identifier to form a set of grouped statistical indicators;
[0046] The group statistical indicators are compared with the number of exposures and the number of conversions: when the number of exposures is equal to 0, the group conversion rate is set to 0 and the failure reason code is recorded; when the number of exposures is greater than 0, the number of conversions is divided by the number of exposures to obtain the group conversion rate and written into the group statistical indicator set; the incremental conversion rate is obtained by subtracting the conversion rate of the experimental group from the conversion rate of the control group.
[0047] The exposure threshold and incremental threshold are read from the evaluation gating configuration table. The number of exposures in the experimental group and the control group are compared with the exposure threshold. When the number of exposures in both the experimental group and the control group reaches the exposure threshold and the incremental conversion rate reaches the incremental threshold, the evaluation conclusion is marked as passed and the strategy version number of this time slice is fixed. When any of the above conditions are not met, the evaluation conclusion is marked as failed and the failure reason code is registered. The failure reason codes include the insufficient exposure reason code, the insufficient incremental reason code, and the reason code for the incalculable group conversion rate. The reason code mapping fields in the evaluation gating configuration table are written into the incremental effect evaluation result set. The group statistical indicators, incremental conversion rate, evaluation conclusion, failure reason code, and strategy version number are encapsulated into the incremental effect evaluation result and written into the incremental effect evaluation result set.
[0048] As a preferred implementation, the specific steps for dynamically adjusting the weight parameters of the resource allocation strategy to form the execution strategy are as follows:
[0049] Retrieve evaluation records that match the current time slice from the incremental effect evaluation result set by time slice identifier, and read the evaluation conclusion identifier field, incremental conversion rate field, strategy version number field, and failure reason code field from the evaluation record;
[0050] Using the strategy version number field as the search key, retrieve the set of resource allocation strategy entries with the same strategy version number from the resource allocation strategy set and load them as the candidate strategy input for this time slice. When the set of resource allocation strategy entries corresponding to the strategy version number is empty, write the time slice into the exception record set, register the failure reason code, and switch to the rollback path.
[0051] An equivalent comparison is performed on the evaluation conclusion identifier field: when the evaluation conclusion identifier field is rated as "pass", the subsequent control process is initiated; when the evaluation conclusion identifier field is rated as "fail", the rollback path is initiated. In the rollback path, the set of execution strategy entries that have taken effect in the previous time slice is retrieved from the execution strategy set according to the condition that the effective time slice identifier is equal to that of the previous time slice and the effective flag is valid. The set of execution strategy entries is copied and written into the execution strategy set of the current time slice. At the same time, the failure reason code field is written into the reason code field of the execution strategy set of the current time slice.
[0052] The system reads exposure feedback records from external delivery receipts and group identifiers from experimental distribution records. It then groups and accumulates the exposure feedback records by user identifier, intent category identifier, channel identifier, and time slice identifier to obtain the number of user contacts. It merges multiple adjacent time slices into a frequency window according to the window length registered in the frequency configuration table. The number of user contacts is compared with the frequency upper limit registered in the frequency configuration table. The system accumulates the number of users exceeding the limit and the number of participating users for each intent category identifier and channel identifier. The system divides the number of users exceeding the limit by the number of participating users to generate the frequency pressure value. The system looks up the frequency suppression coefficient in the table based on the lower and upper limits of the interval and the suppression coefficient registered in the suppression coefficient interval table in the frequency configuration table.
[0053] Read the incremental boost coefficient range table field from the strategy configuration table. Based on the lower bound, upper bound, and boost coefficient of the range table, look up the incremental boost coefficient to obtain the incremental boost coefficient. Read the budget percentage and bid adjustment value of each resource allocation strategy item. Multiply the budget percentage by the incremental boost coefficient and the frequency suppression coefficient to obtain the adjusted budget percentage. Multiply the bid adjustment value by the incremental boost coefficient and the frequency suppression coefficient to obtain the adjusted bid adjustment value.
[0054] Normalize the budget percentage after adjustment under the same intent category identifier. The normalization method is to first accumulate the total budget percentage under the intent category identifier, and then divide each budget percentage after adjustment by the total budget percentage to obtain the normalized budget percentage. When the total budget percentage is equal to 0, roll back to the previous time slice to execute the strategy and register the failure reason code.
[0055] The intent category identifier, channel identifier, time slice identifier, normalized budget percentage, post-adjustment bid adjustment value, and strategy version number are encapsulated as execution strategy entries and written into the execution strategy set.
[0056] As a preferred implementation, the specific steps for obtaining the delivery results and conversion results based on the execution strategy and generating a closed-loop record containing the version status of each stage are as follows:
[0057] Read the execution strategy entry corresponding to the current time slice from the execution strategy set, encapsulate the intent category identifier, channel identifier, budget percentage, bid adjustment value and strategy version number in the execution strategy entry into a delivery instruction and send it to the delivery execution side, and write the strategy version number into the delivery instruction parameters so that the delivery execution side can send back the strategy version number in the receipt;
[0058] Continuously read exposure receipt records, click receipt records, conversion receipt records and cost receipt records corresponding to the delivery instruction from external delivery receipts, and read backlink behavior event records that can be associated with the above receipt records from internal behavior collection;
[0059] For each receipt record, extract the session identifier, user identifier, channel identifier, time slice identifier, and strategy version number to generate a receipt matching key. Use the receipt matching key to locate the corresponding group identifier and delivery unit identifier in the execution strategy entry and experimental distribution record. When the location is successful, summarize the receipt records and write them into the delivery result set and summarize the conversion receipt records and write them into the conversion result set. When the location fails, write the receipt record into the exception record set and register the failure reason code.
[0060] The delivery result set and the conversion result set are merged and summarized according to the delivery unit identifier to obtain the number of exposures, clicks, conversions and cost values for the current time slot. The summarized result is then encapsulated together with the unified dataset version number, intent segmentation version number, de-identification version number, resource allocation strategy version number, experiment number and execution strategy version number to generate a closed-loop record.
[0061] Write the closed-loop record into the closed-loop record set and write the backflow index of the closed-loop record into the backflow trigger table. The backflow index contains the session identifier, time slice identifier, and the version numbers mentioned above. Read the backflow index in the backflow trigger table and trigger the rereading of the in-site behavior event record and the external delivery receipt record in the next time slice to generate a new unified dataset.
[0062] Beneficial effects
[0063] 1. This invention generates a desensitized statistical summary by performing differential privacy perturbation on the intent statistics results, and uses the desensitized statistical summary as a common input for resource allocation strategy generation and delivery request diversion experiments. This ensures that resource allocation, experiment diversion, and incremental evaluation are all based on the same statistical caliber, thereby avoiding the problems of inconsistent experimental units and execution calibers, sample contamination, and caliber drift that occur in existing technologies in cross-channel parallel delivery.
[0064] 2. This invention generates a unified dataset by aligning in-site behavior and out-of-site feedback in time, and generates intent segmentation results, de-identified statistical summaries, and resource allocation strategies at the time slice granularity. Then, it combines real-time delivery feedback and incremental evaluation results to complete weight adjustment, so that bidding and budget are updated and take effect within the same time slice window. This solves the problem that existing offline segmentation and daily updates cannot synchronously reflect changes in price, inventory, activity intensity, and competitors within the update interval.
[0065] 3. This invention reads user contact frequency and maps frequency constraints to adjustment factors of strategy weights, so that frequency constraints and incremental evaluation results jointly determine the budget ratio and bid adjustment value of the execution strategy. It also solidifies the unified dataset version, intent segmentation version, anonymized version, strategy version and execution version in the closed-loop record, thereby realizing the linkage closed loop between cross-channel frequency constraints and delivery strategies, and making the delivery results have version traceability and reproducibility consistency. Attached Figure Description
[0066] Figure 1 This is a flowchart of the present invention.
[0067] Figure 2 This is a comparison chart of the technical effects of the present invention, in which the black bars represent the present invention and the gray bars represent the prior art. Detailed Implementation
[0068] To make the technical means, creative features, and achieved objectives and effects of this invention easier to understand, the invention is further described below with reference to specific embodiments. However, the following embodiments are merely preferred embodiments of this invention and not all of them. Other embodiments obtained by those skilled in the art based on the embodiments described herein without creative effort are all within the protection scope of this invention. Unless otherwise specified, the experimental methods in the following embodiments are conventional methods, and the materials and reagents used in the following embodiments are commercially available unless otherwise specified.
[0069] Example 1 combined Figure 1 The flowchart shown below illustrates a digital advertising delivery method based on big data. The specific implementation steps are as follows:
[0070] Step S1: Collect multi-source user behavior data and campaign data, and generate a unified dataset after standardization and time alignment;
[0071] The process involves reading user behavior event records from in-site behavior collection and exposure, click, conversion, and cost receipt records from external campaign receipts. Each record is then converted into a campaign signal record, which is then aggregated into a campaign signal record set. Next, a deduplication key is generated for each record in the campaign signal record set. This key is input into a Bloom filter and subjected to multi-hash bitwise evaluation. Records deemed unique are written to the deduplicated record set and have their data source identifier appended. Records deemed duplicates are written to the exception record set and a failure reason code is registered. Then, the field mapping rule set is read and the field-by-field normalization is performed on the deduplicated record set. The field names are replaced according to the mapping rule set, and the timestamp field is converted to a uniform format and the amount field is converted to a uniform precision. After the normalization is completed, the character fields are matched character by character according to the format rules registered in the field mapping rule set and the matching results are output. At the same time, the numeric fields are compared item by item according to the lower and upper bound values registered in the field mapping rule set and the comparison results are output. Records that fail both the matching and comparison results are written to the standardized record set; otherwise, they are considered as failing. The failure results are written to the exception record set and the failure reason code is registered.
[0072] Subsequently, the time granularity value registered in the time granularity configuration item is read, and the event timestamps in the standardized record set are merged by integer division to generate time slice identifiers. For indicator values of event type "cost," if valid values exist in adjacent time slices of the same session identifier, an interpolated value is calculated based on the time position ratio and written to the missing time slice. The criteria for determining adjacent time slices are that the time slice sequence numbers of the time slice identifiers differ by 1, and both adjacent time slices contain records of event type "cost" with valid indicator values. When a missing time slice cannot simultaneously locate valid value records in both the preceding and subsequent time slices, the session identifier is... The missing time slice identifier is written into the abnormal record set and the failure reason code is registered to obtain the aligned record set. For records that cannot generate time slice identifiers or cannot obtain interpolation values, they are written into the abnormal record set and the failure reason code is registered. The aligned record set is grouped by session identifier and time slice identifier, and the records in the group are arranged in ascending order by event timestamp to form an event sequence. The event sequence is encapsulated into a unified dataset entry and written into the unified dataset using a double buffer rollback mechanism. When the write is successful, the version number is incremented and the backup buffer is synchronized. When the write fails, it rolls back to the backup buffer and keeps the version number unchanged, thereby generating a unified dataset for step S2 to read.
[0073] The fields for the signal delivery record are fixed as session identifier, event timestamp, event type, channel identifier, object category identifier, and indicator value;
[0074] The deduplication key is obtained by concatenating the session identifier, event type, channel identifier, object identifier, and event timestamp in a fixed order;
[0075] The Bloom filter and multi-hash bit-taking determination maintain a bit array and multiple sets of hash function parameters in the Bloom filter; after generating a deduplication key for each signal record, the deduplication key is input into each set of hash functions to obtain multiple bit array indices; the bits corresponding to the multiple bit array indices are read and the determination result is output. When all the bits are 1, it is determined that the deduplication key has appeared and the record is marked as a duplicate record. When there are 0 bits, it is determined that the deduplication key has not appeared and the bits corresponding to the multiple bit array indices are set to 1 to register the deduplication key.
[0076] The field mapping rule set is a set of rule records registered in the field caliber configuration table. Each rule record in the field mapping rule set includes the source field name, unified field name, target data type, target format rule, and value boundary rule. The above fields are read item by item according to the rule record, and field name replacement, data type conversion, and format conversion are performed on the signal delivery record. The converted field values are matched and boundary compared according to the target format rule and value boundary rule to obtain a unified caliber record that can be used for subsequent steps.
[0077] The value boundary rule field is a rule field used for boundary comparison of numerical fields. Its value is fixed and displayed as a lower bound value and an upper bound value. In step S1, after parsing the field value into a numerical value, it is compared with the lower bound value and the upper bound value respectively. When the numerical value is not less than the lower bound value and not greater than the upper bound value, it is determined to pass. Otherwise, the record is written to the abnormal record set and the failure reason code is registered.
[0078] The aforementioned caliber normalization is driven line by line according to the field mapping rule set. Field name replacement, data type conversion, timestamp format conversion and amount precision conversion are performed sequentially on the signal delivery record. The converted fields are then overwritten back to the fields corresponding to the unified field names to fix the field caliber for subsequent statistics and grouping.
[0079] The time granularity configuration item is a configuration record registered in the time caliber configuration table. The time granularity configuration item must include at least a time granularity millisecond value field and an effective version number field. The time granularity millisecond value is obtained by reading the time granularity configuration item, and the event timestamp of the signal delivery record is converted into a millisecond timestamp. Then, the time slice number is generated by dividing the millisecond timestamp by the time granularity millisecond value. The time slice number is then written into the time slice identifier field as the basis for subsequent grouping and alignment.
[0080] After converting the event timestamp to a millisecond timestamp, the millisecond timestamp is divided by the millisecond time granularity value and the integer quotient is used as the time slice number. The time slice number is written into the time slice identifier field so that records corresponding to the same integer quotient are classified into the same time slice.
[0081] The numerical indicator of the valid value is the indicator value field when the event type is cost; when the indicator value field can be parsed into a numerical value and is not empty or infinite, the indicator value field is determined to be a valid value.
[0082] Step S2: Based on the unified dataset, extract user behavior sequence features, and use a clustering algorithm to classify user sessions into intent categories such as browsing, price comparison, and purchase, generating intent classification results;
[0083] The process involves reading entries from the unified dataset generated in step S1, and reconstructing the event sequences within each entry into a session event sequence set based on session identifiers. Each session event sequence is then length-determined, and the number of event entries is checked against a set of two entries. Successful sequences proceed to feature extraction, while unsuccessful sequences are written to an unclassified session set and a failure reason code is recorded. Next, a session feature vector is generated for each session event sequence entering the feature extraction stage. The number of entries with event types of exposure, click, and conversion is counted as a count feature. The timestamps of adjacent events are subtracted to form a time difference sequence, from which the average time difference and peak time difference are extracted as time features. Object identifiers in the session event sequence are grouped by object category field, and the proportion of each category's occurrences to the total number of event entries is counted as a category distribution feature. Finally, the count feature, time feature, and category distribution feature are concatenated in a fixed field order to obtain the session feature vector. The session feature vector is then categorized for null values and no values. The process involves determining the minimum acceptable value, writing successful session feature vectors into the session feature vector set, and writing unsuccessful session identifiers into the unclassified session set and registering the failure reason code. Specifically, the object category identifier is written in step S1 during the caliber normalization phase: when the source field name for the object category identifier exists in the field mapping rule set, it is transformed according to the field mapping rule set and written into the object category identifier field; when the source field name for the object category identifier does not exist in the field mapping rule set, the object category identifier is written with a default value and the object category missing reason code is registered in the unified dataset entry, so that the caliber of object category identifier normalization in step S2 is both determinable and traceable.
[0084] Then, three-cluster clustering is performed on the session feature vector set. The session feature vector set is sorted in ascending order by session identifier, and the first three vectors are taken as the initial cluster centers. Each session feature vector is compared with the three cluster centers one dimension at a time, and the distance value is obtained by taking the square root of the sum of the squares of the differences in each dimension. The session feature vector is then assigned to the cluster corresponding to the cluster center with the smallest distance value. For each cluster, the cluster centers are updated by averaging each dimension. The center offset is obtained by taking the square root of the sum of the squares of the differences between the old and new cluster centers one dimension at a time. The three center offsets are then summed to obtain the change. The iteration is terminated when the change is less than 0.01 or the number of iterations reaches 20.
[0085] After termination, the number of sessions in each cluster is determined. The determination condition is whether the number of sessions in each cluster is greater than 10. If the number of sessions in a cluster is greater than 10, the determination is passed and the cluster partition record set is written. If the number of sessions in a cluster is less than or equal to 10, the determination is failed and the batch of session identifiers is written to the unclassified session set and the failure reason code is registered. Subsequently, intent mapping is performed on the cluster partition record set: the number of conversion items and the number of click items in each cluster are counted, and the purchase ratio and price comparison ratio are obtained by dividing the number of conversion items and the number of click items by the total number of event items in the cluster, respectively. The three clusters are sorted in descending order of purchase ratio and the first cluster in the sorted order is marked as purchase intent. The remaining two clusters are sorted in descending order of price comparison ratio and the first cluster in the sorted order is marked as price comparison intent. The remaining clusters are marked as browsing intent. The unclassified session set is marked as unclassified intent, and the intent category identifier corresponding to each session identifier is written to the intent partition result set. At the same time, the intent category identifier is backfilled into the unified dataset entries as the aggregation input for step S3.
[0086] The clustering algorithm described above uses K-means clustering to segment conversation intents in the set of conversation feature vectors. Specifically, several vectors are selected in a fixed order as initial cluster centers. Then, the distance between each conversation feature vector and each cluster center is calculated and the vector is assigned to the cluster corresponding to the cluster center with the smallest distance. The cluster centers are then updated by averaging the vectors in each cluster dimension by dimension. When the change in the old and new cluster centers meets the termination condition, the cluster segmentation result is output. Based on the proportion of clicked items and the proportion of converted items in each cluster, the clusters are mapped to browsing intents, price comparison intents, and purchase intents, thus obtaining the intent segmentation result.
[0087] Step S3: Perform differential privacy processing on the statistical information of each intent category in the intent segmentation result to generate a de-identified statistical summary;
[0088] Specifically, the intent segmentation result set generated in step S2 is read, along with the unified dataset generated in step S1. Then, the correspondence between session identifiers and intent category identifiers in the intent segmentation result set is backfilled into the event sequences in the unified dataset entries, ensuring that each event simultaneously carries an intent category identifier, channel identifier, and time slice identifier. Next, the event sequences are merged one by one using the intent category identifier, channel identifier, and time slice identifier as grouping keys. Within each group, the number of entries with the event type of exposure, the number of entries with the event type of click, and the number of entries with the event type of conversion are accumulated. Simultaneously, the cost metric is summed to generate the intent statistics result set. Then, the privacy configuration table is read to obtain the privacy budget value, noise type and anonymization version number, and the cost configuration table is read to obtain the single cost limit; perturbation seeds are generated for each item in the intent statistics result set. The perturbation seed is obtained by concatenating the intent category identifier, channel identifier, time slice identifier and anonymization version number in a fixed order. The perturbation seed is converted into a byte sequence according to character encoding and accumulated byte by byte to obtain a 32-bit integer as a random seed value. The Mersenne Twister pseudo-random number generator is initialized with the random seed value and four independent random number sequences are generated.
[0089] Subsequently, four noise values are generated according to the noise type, corresponding to the number of exposures, clicks, conversions, and cost, respectively: When the noise type is Laplace, the sensitivity of the number of exposures, clicks, and conversions is fixed at 1, and the sensitivity of the cost value is fixed at the single-cost limit. The scaling parameter is obtained based on the privacy budget and sensitivity, and the uniform random number sequence is converted into zero-mean noise value through inverse transformation sampling; When the noise type is Gaussian, the failure probability parameter DIS, privacy budget, sensitivity, and desensitization version number are first read from the privacy configuration table, and the validity of the failure probability parameter DIS is judged. The judgment condition is that the failure probability parameter DIS is greater than 0 and less than 1; if the judgment is successful, the failure probability parameter DIS is used as the divisor to perform a ratio operation with a constant 1.25 to obtain the ratio result, and then the natural logarithm of the ratio result is taken to obtain the logarithm. The process involves: 1) Multiplying the logarithmic term by 2 to obtain a product term, and then taking the square root of the product term to obtain a scaling term. Next, multiplying the sensitivity by the scaling term to obtain a numerator term, and then dividing the numerator term by the privacy budget value as the denominator to obtain the standard deviation parameter. If the determination fails, the intent category identifier, channel identifier, and time slice identifier are used as search keys to retrieve desensitized statistical entries from the desensitized statistical summary set whose desensitized version number is equal to the previous desensitized version number. If the retrieval is successful, the desensitized statistical entry is copied into the desensitized statistical summary set of the current time slice and the failure reason code is registered. If the retrieval fails, the number of exposures, clicks, conversions, and cost values are set to 0 and written into the desensitized statistical summary set and the failure reason code is registered. At the same time, the desensitized version number is kept as the previous desensitized version number to ensure that there is a readable desensitized statistical summary input in step S4.
[0090] Subsequently, two uniform random number sequences are generated based on a pseudo-random number generator. Two sets of uniform random number pairs are sequentially extracted for each intention statistical record. Each set of uniform random number pairs contains a first uniform random number and a second uniform random number. The natural logarithm and square root operation are performed on the first uniform random number to obtain the amplitude term. An angle mapping is performed on the second uniform random number to obtain the angle term. Then, the cosine and sine operations are performed on the angle term and multiplied by the amplitude term to obtain two zero-mean noise base values. The two noise base values are multiplied by the standard deviation parameter to obtain two zero-mean noise values. The number extraction and transformation process is repeated to obtain four noise values. Next, the four noise values are superimposed on the number of exposures, clicks, conversions, and cost values to obtain the perturbed intent statistics result set. The perturbed number of exposures, clicks, and conversions are then converted to non-negative integers. The non-negative integer conversion is performed by first rounding the perturbed value and then setting it to 0 if the rounding result is less than 0. The decimal place configuration item is read from the fixed-point configuration table and the perturbed cost value is converted to a fixed-point value. The cost value is magnified to an integer scale according to the decimal place configuration item, then rounded and restored to the corresponding decimal scale. The perturbed intent statistics result set, together with the desensitized version number, is written into the desensitized statistical summary set to generate the desensitized statistical summary for step S4 to read.
[0091] The decimal place configuration item is a cost fixed-point decimal place field, and its value is a non-negative integer; step S3 reads this field to obtain the decimal place and generates the magnification factor accordingly;
[0092] The process involves initializing the Mersenne Twister pseudo-random number generator with a random seed value and generating four independent random number sequences. The random seed value obtained by perturbation seed conversion is written into the internal state register of the pseudo-random number generator, and the Mersenne Twister random sequence generation process is started with this internal state as the initial state. Subsequently, uniformly distributed random numbers are continuously output in the order of invocation, and the output stream is divided into four random number sequences in a fixed order. The four random number sequences are used to generate noise values corresponding to the number of exposures, number of clicks, number of conversions, and cost values, respectively, so that the same intention statistical records can be reproduced with consistent random number sequences under the same de-identified version number.
[0093] The inverse transformation sampling is based on a pseudo-random number generator to generate uniform random numbers that fall into the target interval. Then, the uniform random numbers are substituted into the inverse cumulative distribution determination rule of the target distribution. The uniform random numbers are then subjected to sign determination, logarithmic operation and scaling according to the determination rule, thereby converting the uniform random numbers into noise sample values that satisfy the target distribution.
[0094] The failure probability parameter DIS is a probability parameter field registered in the privacy configuration table, used to limit the upper bound of the probability of privacy constraints that can be deviated when using the Gaussian noise mechanism; the failure probability parameter is read and a legality judgment is performed. The legality judgment condition is that the parameter is greater than 0 and less than 1. When the judgment is passed, the parameter participates in the determination process of the standard deviation parameter. When the judgment is failed, the corresponding intent statistics record is written into the abnormal record set and the failure reason code is registered.
[0095] After the pseudo-random number generator is initialized with a random seed value, the two uniform random number sequences continuously output uniform random numbers falling within the 0 to 1 interval according to a fixed calling order. The continuously output uniform random numbers are then split into a first uniform random number sequence and a second uniform random number sequence according to their odd and even numbers. The first uniform random number sequence is used to provide uniform random numbers required for the amplitude term, and the second uniform random number sequence is used to provide uniform random numbers required for the angle term. This ensures that the subsequent noise generation process has a definite number taking order and a reproducible sequence result under the same random seed value.
[0096] Step S4: Based on the anonymized statistical summary and real-time delivery feedback, a multi-armed slot machine algorithm is used to generate resource allocation strategies for different intent categories and channels;
[0097] First, the intent statistics entries corresponding to the current time slot are read from the anonymized statistical summary set generated in step S3, and the real-time delivery feedback records corresponding to the same time slot are read from the receipt interface on the delivery execution side. The fields of the real-time delivery feedback records are fixed as channel identifier, time slot identifier, number of impressions, number of clicks, number of conversions, and cost value. Then, a resource allocation arm identifier is constructed based on the intent category identifier and channel identifier, and the anonymized statistical summary and real-time delivery feedback are aligned and merged according to the resource allocation arm identifier and time slot identifier, forming an arm observation record set. Next, the arm parameter record corresponding to the resource allocation arm identifier is read from the strategy configuration table. The arm parameter record contains success count and failure count. The number of conversions in the arm observation record set is added to the success count, and the result of subtracting the number of conversions from the number of impressions is added to the failure count. When the number of impressions is less than the number of conversions, the arm observation record is written to the exception record set and the failure reason code is registered. At the same time, the previous version of the arm parameter record is used.
[0098] Then, the exploration percentage, total budget, and bid adjustment step size are read from the strategy configuration table, and the conversion rate sample value is generated for each resource allocation arm using the Thompson sampling rule: sampling parameters are constructed for each resource allocation arm using success count and failure count, and a random seed value is generated using the random seed generation rule registered in the strategy configuration table to initialize the pseudo-random number generator; uniform random numbers are taken from the pseudo-random number generator in a fixed calling order, and the sampling determination rule is executed on the uniform random numbers to obtain the conversion rate sample value of the arm; when the sampling input parameters of the arm are missing, the observation record of the arm is written into the abnormal record set, the failure reason code is registered, and the conversion rate sample value of the arm in the previous time slice is used.
[0099] The system reads the default value rules for the cost field and the single-time cost limit rules from the cost configuration table. It performs missing value judgment and upper limit constraint on the cost values in the real-time delivery feedback records. If a value is missing, it replaces the cost value with the default value of the cost field. If the cost exceeds the upper limit, the cost value is truncated to the single-time cost limit. Then, it reads the arm score conversion rule field from the strategy configuration table and generates the arm sorting score according to the ratio of the conversion rate sample value to the cost value. When the cost value is equal to 0, the observation record of that arm is written into the abnormal record set and the failure reason code is registered. The arm sorting score corresponding to that arm in the previous time slice is used for sorting to ensure that the strategy for the current time slice can be generated.
[0100] The budget allocation results and bid adjustment results are encapsulated into resource allocation strategy entries. The fields of the resource allocation strategy entries are fixed as intent category identifier, channel identifier, time slice identifier, budget percentage, bid adjustment value and strategy version number. The resource allocation strategy entries are written into the resource allocation strategy set to generate a resource allocation strategy for step S5 to read.
[0101] The multi-armed slot machine algorithm uses Thompson sampling to determine the resource allocation arm identifier based on intent category identifier and channel identifier, and maintains success count and failure count for each resource allocation arm. The number of conversions in the current time slice is added to the success count, and the result of subtracting the number of conversions from the number of exposures is added to the failure count. Then, a conversion rate sample value is generated for each resource allocation arm based on the success and failure counts. The conversion rate sample value and cost value are then converted into an arm ranking score according to the arm score conversion rule. Under the same intent category identifier, channels are ranked according to the arm ranking score, and budget proportions are allocated based on the exploration ratio and arm ranking score, generating bid adjustment values. This yields resource allocation strategy entries and writes them into the resource allocation strategy set.
[0102] The Thompson sampling method generates a conversion rate sample value for each resource allocation arm based on the success count and failure count, and uses the conversion rate sample value as the sorting basis for the resource allocation arm to determine the budget proportion and bid adjustment value.
[0103] The success count and failure count are arm parameter status fields; step S4 adds the number of conversions in the current time slice to the success count, adds the result of subtracting the number of conversions from the number of exposures to the failure count, and writes the updated success count and failure count back to the arm parameter record that matches the resource allocation arm identifier in the strategy configuration table; when the number of exposures is less than the number of conversions, it is written to the exception record set and the failure reason code is registered, and the arm parameter record of the previous time slice is used;
[0104] The default value rule is used for the rule field to be written by default for non-mandatory fields. Its value is fixed and displayed as a default value literal or a default value reference name. In step S1, when the field value is empty and the required field value is non-mandatory, the default value is written according to the default value rule field and the subsequent conversion continues. When the default value writing fails, the record is written to the exception record set and the failure reason code is registered.
[0105] Step S5: Based on the resource allocation strategy, conduct a traffic splitting experiment on the delivery requests, calculate the incremental conversion rate, evaluate the effectiveness of the incremental conversion rate, and generate incremental effect evaluation results;
[0106] First, the resource allocation strategy entry corresponding to the current time slice is read from the resource allocation strategy set generated in step S4, and the record of the request to be delivered is read from the delivery request entry. The record of the request to be delivered carries the user identifier, session identifier, channel identifier and request timestamp. Then, the request timestamp is merged according to the time granularity configuration item in step S1 to generate a time slice identifier, and the intent category identifier is added to the session identifier according to the intent segmentation result output in step S2. The intent category identifier, channel identifier and time slice identifier are concatenated in a fixed field order to generate a delivery unit identifier, thereby merging each request to be delivered into the delivery unit identifier. Next, the experiment number and distribution ratio are read from the distribution configuration table. The distribution ratio is converted into a threshold point according to the conversion rules registered in the distribution configuration table. The distribution key is obtained by concatenating the user identifier, experiment number, and time slice identifier in a fixed order. The distribution key is encoded character by character and accumulated to obtain the distribution value. The distribution value is then moduloed by a fixed modulus to obtain the distribution point. When the distribution point is less than the threshold point, the delivery request is marked as an experimental group. When the distribution point is not less than the threshold point, the delivery request is marked as a control group. The set of execution strategy entries with the previous time slice effective flag is retrieved from the execution strategy set. The budget percentage and bid adjustment value that match the channel identifier in the execution strategy entry set are used to generate the control group delivery parameters. When no matching entry is found, the delivery request is written to the exception record set and the failure reason code is registered. The baseline bid adjustment value and baseline budget percentage registered in the strategy configuration table are used to generate the control group delivery parameters. The group identifier, delivery unit identifier, and strategy version number are written to the experiment distribution record to ensure consistency with the delivery execution caliber when merging subsequent receipts.
[0107] Subsequently, exposure receipts, click receipts, conversion receipts, and cost receipts matching the experimental traffic distribution records were retrieved from the external delivery receipts. Exposure counts, conversion counts, and cost values were then summarized according to the delivery unit identifier and group identifier to form a set of grouped statistical indicators. An equivalent comparison was performed between the exposure counts and conversion counts in the grouped statistical indicator set: when the exposure count equals 0, the group conversion rate was set to 0 and a failure reason code was recorded; when the exposure count is greater than 0, the conversion count was divided by the exposure count to obtain the group conversion rate, which was then written into the grouped statistical indicator set. The result of dividing the conversion count by the exposure count in the grouped statistical indicator set was recorded as the group conversion rate, and the incremental conversion rate was obtained by subtracting the conversion rate of the experimental group from the conversion rate of the control group.
[0108] Then, the exposure threshold and incremental threshold are read from the evaluation gating configuration table, and the number of exposures in the experimental group and the control group are compared with the exposure threshold respectively. When the number of exposures in both the experimental group and the control group reaches the exposure threshold and the incremental conversion rate reaches the incremental threshold, the evaluation conclusion is marked as passed and the strategy version number of this time slice is fixed. When any of the above conditions are not met, the evaluation conclusion is marked as failed and a failure reason code is registered. The failure reason codes include: insufficient exposure reason code, insufficient incremental reason code, and group conversion rate cannot be calculated reason code. The reason codes are written into the incremental effect evaluation result set according to the reason code mapping field in the evaluation gating configuration table. The group statistical indicators, incremental conversion rate, evaluation conclusion, failure reason code, and strategy version number are encapsulated into the incremental effect evaluation result and written into the incremental effect evaluation result set as input for adjusting the weight parameters in step S6.
[0109] Step S6: Based on the incremental effect evaluation results and user contact frequency, dynamically adjust the weight parameters of the resource allocation strategy to form an execution strategy;
[0110] The system retrieves evaluation records matching the current time slice from the incremental effect evaluation result set by time slice identifier, and reads the evaluation conclusion identifier field, incremental conversion rate field, strategy version number field, and failure reason code field from the evaluation records. Then, using the strategy version number field as the search key, it retrieves a set of resource allocation strategy entries with the same strategy version number from the resource allocation strategy set and loads them as the candidate strategy input for this time slice. When the set of resource allocation strategy entries corresponding to the strategy version number is empty, the time slice is written to the exception record set, the failure reason code is registered, and the system proceeds to the rollback path. Next, an equivalence comparison is performed on the evaluation conclusion identifier field: if the evaluation conclusion identifier field is "pass," the system proceeds to the subsequent control process; if the evaluation conclusion identifier field is "fail," the system proceeds to the rollback path. In the rollback path, the system retrieves a set of execution strategy entries that have taken effect in the previous time slice from the execution strategy set based on the condition that the effective time slice identifier is equal to the previous time slice and the effective flag is valid. This set of execution strategy entries is copied and written into the execution strategy set for this time slice, and the failure reason code field is written into the reason code field of the execution strategy set for this time slice.
[0111] Next, the exposure receipt records are read from the external delivery receipts, and the group identifiers are read from the experimental diversion records generated in step S5. The exposure receipt records are grouped and accumulated according to the user identifier, intent category identifier, channel identifier, and time slice identifier to obtain the number of user contacts. Multiple adjacent time slices are merged into a frequency window according to the window length registered in the frequency configuration table. Then, the number of user contacts is compared with the frequency upper limit registered in the frequency configuration table. The number of users exceeding the limit and the number of participating users are accumulated for each intent category identifier and channel identifier. The frequency pressure value is generated by dividing the number of users exceeding the limit by the number of participating users. The frequency suppression coefficient is obtained by looking up the lower limit, upper limit, and suppression coefficient of the suppression coefficient interval table registered in the frequency configuration table.
[0112] Subsequently, the incremental boost coefficient range table field is read from the strategy configuration table, and the incremental boost coefficient is obtained by looking up the range lower bound, range upper bound, and boost coefficient registered in the range table. The budget percentage and bid adjustment value for each resource allocation strategy entry are then read. First, the budget percentage is multiplied by the incremental boost coefficient and frequency suppression coefficient to obtain the adjusted budget percentage. Then, the bid adjustment value is multiplied by the incremental boost coefficient and frequency suppression coefficient to obtain the adjusted bid adjustment value. Next, under the same intent category identifier, the adjusted budget percentage is normalized. The normalization method is to first accumulate the total budget percentage under that intent category identifier, and then divide each adjusted budget percentage by the total budget percentage to obtain the normalized budget percentage. When the total budget percentage equals 0, the strategy is rolled back to the previous time slice and a failure reason code is registered. The intent category identifier, channel identifier, time slice identifier, normalized budget percentage, adjusted bid adjustment value, and strategy version number are encapsulated into an execution strategy entry and written into the execution strategy set, thus forming the execution strategy for step S7 to read.
[0113] Step S7: Based on the execution strategy, obtain the delivery results and conversion results, generate a closed-loop record containing the version status of each stage, and feed the closed-loop record back to step S1 to trigger iterative optimization.
[0114] First, the execution strategy entry corresponding to the current time slice is read from the execution strategy set generated in step S6. The intent category identifier, channel identifier, budget percentage, bid adjustment value, and strategy version number in the execution strategy entry are encapsulated into a delivery instruction and sent to the delivery execution side. The strategy version number is written into the delivery instruction parameters so that the delivery execution side can send back the strategy version number in the receipt. Then, the exposure receipt record, click receipt record, conversion receipt record, and cost receipt record corresponding to the delivery instruction are continuously read from the external delivery receipt. The back-link behavior event records that can be associated with the above receipt records are read from the internal behavior collection. Next, the session identifier, user identifier, channel identifier, time slice identifier, and strategy version number are extracted from each receipt record to generate a receipt matching key. The receipt matching key is used to locate the corresponding group identifier and delivery unit identifier in the execution strategy entry and the experimental traffic splitting record in step S5. When the location is successful, the receipt records are summarized and written into the delivery result set and the conversion receipt records are summarized and written into the conversion result set. When the location fails, the receipt record is written into the exception record set and the failure reason code is registered. Then, the delivery result set and conversion result set are merged and summarized according to the delivery unit identifier to obtain the number of exposures, clicks, conversions and cost values for the current time slot. This summary result is then encapsulated together with the unified dataset version number from step S1, the intent segmentation version number from step S2, the anonymization version number from step S3, the resource allocation strategy version number from step S4, the experiment number from step S5, and the execution strategy version number from step S6 to generate a closed-loop record. Subsequently, the closed-loop record is written into the closed-loop record set and the return flow index of the closed-loop record is written into the return flow trigger table. The return flow index contains the session identifier, time slot identifier and the aforementioned version numbers. The return flow index in the return flow trigger table is read, and step S1 is triggered to reread the in-site behavior event records and external delivery receipt records in the next time slot and generate a new unified dataset, thereby forming a traceable iterative update closed loop.
[0115] The field definition configuration table consists of a source system identifier field, a source field name field, a target field name field, a target data type field, a target unit field, a timestamp format rule field, an amount format rule field, a required field flag field, and a default value rule field. In step S1, the system reads the field definition configuration table and replaces the field names item by item according to the mapping relationship from the source field name to the target field name, and completes the format conversion according to the target data type and the target unit.
[0116] The target format rule field is a rule field used for matching the format of character fields, and its value is fixed as a regular expression string; step S1 performs regular expression matching on the character field value. When the matching result is successful, the field value is retained. When the matching result is unsuccessful, the record is written to the abnormal record set and the failure reason code is registered.
[0117] The timestamp format rule field is a rule field used to parse the source timestamp, and its value is fixed as "parse template identifier, time zone identifier, output unit identifier"; Step S1 performs string parsing on the event timestamp according to the parsing template identifier to obtain a time tuple, converts it to a unified time zone according to the time zone identifier, outputs it as a millisecond timestamp and writes it back to the unified field; when string parsing fails or conversion fails, the record is written to the exception record set and the failure reason code is registered;
[0118] The time caliber configuration table consists of a time granularity configuration item field, a time slice start basis field, a timestamp parsing rule field, a merging method field, and an allowed delay threshold field. In step S1, the time caliber configuration table is read, the event timestamps are used to generate time slice identifiers according to time granularity, and the records under the same time slice identifier are used as alignment inputs.
[0119] The allowed delay threshold field is an access delay gating field, and its value is in milliseconds; in step S1, the delay value is obtained by subtracting the millisecond timestamp of the recorded access time from the event timestamp. When the delay value is not less than the value of the allowed delay threshold field, the record is written into the abnormal record set and the failure reason code is registered.
[0120] The timestamp parsing rule is a parsing caliber field for event timestamps, whose values are fixed as parsing template identifier and time zone identifier; step S1 parses the event timestamp into a millisecond timestamp according to this field, and if the parsing fails, the record is written to the exception record set and the failure reason code is registered;
[0121] The merge method field and the time slice identifier generation method field are defined as having a value that is divisible by integers. Step S1: When the merge method field has a value that is divisible by integers, the integer division merge rule is executed to generate the time slice identifier.
[0122] After converting the event timestamp to a millisecond timestamp, the integer division and merging process first subtracts the time slice start reference field from the millisecond timestamp to obtain the merging reference time. Then, the merging reference time is divided by the time granularity millisecond value field, and the integer quotient is used as the time slice number. The time slice number is written into the time slice identifier field. When the time granularity millisecond value field is 0 or empty, the record is written into the exception record set and the failure reason code is registered.
[0123] The privacy configuration table consists of a noise type identifier field, a privacy budget value field, a sensitivity value rule field, a failure probability parameter DIS field, a de-identification version number field, and a reason code mapping field. In step S3, the system reads the privacy configuration table, determines the noise generation caliber and scale parameter caliber, and solidifies the de-identification version number along with the de-identification statistical summary.
[0124] The sensitivity value rule field is a sensitivity determination field, and its value is fixedly displayed as "exposure number sensitivity value, click number sensitivity value, conversion number sensitivity value, cost value sensitivity value"; after reading this field in step S3, the sensitivity of exposure number, click number, and conversion number is written as 1, and the cost value sensitivity is written as the value of the single cost upper limit rule field in the cost configuration table;
[0125] The noise type identifier field is a noise mechanism selection field, and its value is either Laplace or Gaussian; step S3 selects the inverse transform sampling process or the Box-Muller transform process according to this field;
[0126] The Box-Muller transform sequentially extracts two sets of uniform random number pairs for each intention statistical record. The first uniform random number is processed by performing a natural logarithm and square root operation to obtain an amplitude term. The second uniform random number is processed by angle mapping to obtain an angle term. The angle term is then processed by performing cosine and sine operations respectively, and multiplied by the amplitude term to obtain two zero-mean noise base values. These two noise base values are then multiplied by a standard deviation parameter to obtain two zero-mean noise values. This process of taking numbers and transforming is repeated until four noise values are obtained.
[0127] The privacy budget value field is a privacy budget caliber field, and its value is a positive number. When the privacy budget value field is empty or the value is not greater than 0, the corresponding intent statistics record is written into the abnormal record set and the failure reason code is registered, and the previous de-identification version number rollback path is executed.
[0128] The reason code mapping field is the entry field for writing failure reason codes, and its value is "the correspondence table between reason codes and triggering conditions"; step S3 writes the corresponding reason code in the failure path according to the triggering conditions;
[0129] The cost configuration table consists of a cost field name field, a currency identifier field, a conversion ratio field, a single cost upper limit rule field, a cost default value rule field, and an abnormal cost reason code field. The system reads the cost configuration table in steps S1 and S3, performs currency conversion, upper limit constraint, and validity determination on the cost values, and then proceeds to the subsequent statistics and disturbance process.
[0130] The single cost upper limit rule is a cost cutoff field, whose value is fixed and displayed as the upper limit value. When the cost value is parsed into a numerical value, it is compared with the upper limit value. If it exceeds the upper limit value, the cost value is overwritten with the upper limit value and a failure reason code is registered. If it does not exceed the upper limit value, the original value is retained.
[0131] The cost default value rule field is a cost missing entry field, whose value is fixed and displayed as a default value; when the cost value is empty or cannot be parsed into a number, the cost value will be overwritten with the default value and a failure reason code will be registered.
[0132] The fixed-point configuration table consists of a fixed-point field name field, a decimal place configuration item field, a rounding method field, an amplification factor rule field, and a fixed-point failure reason code field. In step S3, the fixed-point configuration table is read, and the amplified, rounded, and restored cost value is performed on the disturbed cost value according to the decimal place configuration item to obtain the fixed-point cost value.
[0133] The magnification rule is that the magnification determines the caliber field, and its value is fixed as "magnification equals a power of 10"; step S3 generates the magnification according to the value of the decimal place configuration field, multiplies the cost value by the magnification to obtain an integer scale value and rounds it, then divides the rounded result by the magnification to restore the fixed-point cost value and writes it back; when rounding fails, the failure reason code is registered;
[0134] The strategy configuration table consists of the exploration percentage field, total budget field, bid adjustment step size field, arm parameter initialization rule field, random seed generation rule field, and strategy version number field. In step S4, the system reads the strategy configuration table, generates resource allocation strategy entries according to the exploration percentage and arm parameter criteria, and binds the strategy version number with the strategy entries and writes them into the strategy output.
[0135] The bid adjustment step size field is a bid adjustment discrete caliber field; step S4 arranges the channel identifiers in descending order of arm sorting score under the same intent category identifier, and generates the bid adjustment value of each channel by taking the value of the bid adjustment step size field and writes it into the resource allocation strategy entry.
[0136] The exploration percentage field converts the total budget field value into an exploration budget based on the exploration percentage field value, and then equally distributes the exploration budget among each channel under the same intent category identifier.
[0137] The total budget field is the budget allocation field for this time slice; step S4 uses this field as the total budget allocation benchmark to generate the budget percentage;
[0138] The random seed generation rule field is a sampling random seed caliber field, and its value is fixed and displayed in the field concatenation order; step S4 uses this field to concatenate the strategy version number field and the time slice identifier field in a fixed order to generate a random seed string, and then converts the random seed string into an integer and initializes the pseudo-random number generator;
[0139] The arm parameter initialization rule field is the arm parameter initial value caliber field, and its value is fixedly displayed as the initial value of the success count and the initial value of the failure count; in step S4, when the arm parameter record does not exist, the initial values of the success count and the failure count are written according to this field and the strategy version number is registered.
[0140] The diversion configuration table consists of an experiment number field, a diversion ratio field, a diversion modulus field, a diversion key field sequence field, a group identifier coding rule field, and a receipt matching field set field. In step S5, the diversion configuration table is read, diversion keys are generated according to the order of the diversion key fields, and group identifiers are obtained according to the diversion modulus, so that the deployment execution and evaluation use the same diversion caliber.
[0141] The above refers to the field of receipt merging caliber; step S5 writes the group identifier, delivery unit identifier and strategy version number into the experimental diversion record, so that the off-site receipts are matched with the experimental diversion record according to the field set indicated by the receipt matching field set. If the matching fails, it is written into the abnormal record set and the failure reason code is registered.
[0142] The order of the split key fields is the split key concatenation interface field; step S5 reads the user identifier, experiment number and time slice identifier in the order indicated by the field and concatenates them to generate a split key, and then takes the encoded value of each character of the split key and adds them to obtain the split value;
[0143] The evaluation gating configuration table consists of an exposure gating value field, an incremental gating value field, a conclusion judgment rule field, a failure reason code mapping field, and a solidification condition field. In step S5, the system reads the evaluation gating configuration table, generates an evaluation conclusion identifier based on the judgment rule for the exposure and incremental evaluation results, and uses the evaluation conclusion identifier as the gating condition for entering or retreating in step S6.
[0144] The failure reason code mapping field is the failure reason code writing entry field; in step S5, when exposure fails, increment fails, and group conversion rate cannot be calculated, the insufficient exposure reason code, insufficient increment reason code, and group conversion rate cannot be calculated reason code are written respectively.
[0145] The conclusion judgment rule field is the gate judgment caliber field; step S5 compares the number of exposures of the experimental group, the number of exposures of the control group and the exposure gate value field one by one according to this field, and compares the incremental conversion rate and the incremental gate value field. When all the comparison results are passed, the evaluation conclusion identifier field is written as passed; otherwise, it is written as failed and the failure reason code is registered.
[0146] The frequency configuration table consists of a frequency window length field, a frequency upper limit field, a frequency pressure calculation rule field, a suppression coefficient interval table field, and a frequency failure reason code field. In step S6, the system reads the frequency configuration table, merges the number of contacts according to the frequency window length and compares it with the frequency upper limit to obtain the frequency pressure value, and then obtains the frequency suppression coefficient according to the suppression coefficient interval table for adjusting the execution strategy.
[0147] The suppression coefficient interval table field is the frequency suppression lookup table field; step S6 compares the frequency pressure value with the lower and upper limits of the interval segment by segment. When the interval is hit, the suppression coefficient corresponding to that interval is read as the frequency suppression coefficient. When the interval is not hit, the failure reason code is registered and the suppression coefficient of the previous time slice is used.
[0148] The frequency pressure calculation rule field is the frequency pressure caliber field; step S6 counts the number of participating users and the number of users exceeding the limit within the frequency window, and divides the number of users exceeding the limit by the number of participating users to obtain the frequency pressure value; when the number of participating users is equal to 0, the frequency pressure value is set to 0 and the failure reason code is registered;
[0149] The version configuration table consists of a unified dataset version number field, an intent partition version number field, an anonymized version number field, a policy version number field, an execution version number field, a version increment rule field, a rollback rule field, and an activation flag field. The system reads the version configuration table in steps S1 to S7, outputs the execution version writing, version increment, or version rollback for each stage, and associates each version number in the closed-loop record to support traceability and reproduction.
[0150] The version increment rule field is the version number update caliber field; in the successful write path, the version number is incremented according to this field and written back to the corresponding version number field;
[0151] The rollback rule field is the failure rollback caliber field; in the write failure path, the version number remains unchanged according to this field and the entry effective in the previous time slice is used;
[0152] The effective flag field is the policy effective scope field; in step S6, the effective flag field is set to effective when writing the execution policy entry, and the effective flag field of the previous time slice is kept effective during rollback copying;
[0153] Figure 2 This is a comparison chart of the technical effects of a big data-based digital advertising delivery method. The black bars represent the technical effects of the present invention, and the gray bars represent the technical effects of existing technologies. Figure 2 It can be seen that the technical effect of the present invention is superior to that of the prior art.
[0154] Example 2 presents a big data-based digital advertising delivery method based on Example 1. In Example 1, steps S1 to S7 read their respective configuration items in each iteration and generate corresponding outputs. Since the configuration items are maintained by different services and take effect at different times, steps S2 to S6 may use different configuration parameters within the same delivery cycle. This leads to inconsistencies in the processing of steps with the same closed-loop number, making it impossible to obtain consistent incremental evaluation conclusions for the same strategy version under unified constraints. Furthermore, the source of these differences cannot be traced and audited. Example 2 addresses the issues of inconsistent standards and versions, and the inability to replay and verify closed-loop results. It introduces a standard and version consistency response and audit replay link based on Example 1, ensuring that each step within the same delivery cycle uses a unified configuration version. This confirms that the closed-loop record has a verifiable, replayable, and retrievable version status association. The specific solution is as follows.
[0155] Step 1: Version solidification process
[0156] Read the current period's valid field caliber version number, intent version number, de-identification version number, policy version number, experiment version number, and frequency version number from the version configuration table; arrange the above version numbers in a fixed order as a seed version string, perform hashing on the version seed string to obtain the processed version summary value; encapsulate the version number set and version summary value into a caliber version package and write it into the record version record; if the writing is successful, use the caliber version number as the input for step two; if the reading fails, write the reason for the failure into the exception record and use the caliber version package of the previous period.
[0157] Step 2, Input Snapshot Index Processing
[0158] The specified version package constraint reads the unified dataset generated in step S1; an input snapshot index is generated according to the time slice identifier, and the index records the dataset range and version number corresponding to each time slice; if the index is successfully generated, the dataset is read based on the index set; if it fails, the reason is written to the exception record and the current cycle processing is terminated.
[0159] Step 3: Process version integration
[0160] During the processing of steps S1 to S6, the intermediate results generated in each step are associated with the following version numbers: unified dataset is associated with the interface caliber version number; result partitioning results are associated with the version number; desensitization statistics summary is associated with the desensitization version number; resource allocation strategy is associated with the strategy version number; diversion experiment and incremental effect evaluation results are associated with the experiment version number; frequency statistics and calibration task records are associated with the frequency version number; records with successful version association proceed to the next step, and records with failure are written to an exception and marked as version association failure.
[0161] Step 4: Key Summary Generation and Processing
[0162] Extract key fields for replay verification from intent segmentation results, desensitization statistical summaries, resource allocation strategies, incremental effect evaluation results, and execution strategies; concatenate key seed fields into a summary string in a fixed order; perform summary processing on the successful summary seed string to obtain a key result summary; write the summary record set during generation; write the reason to the exception record and terminate the current cycle processing when it fails.
[0163] Step 5, Consistency Verification Processing
[0164] The current closed-loop record of the cycle performs a consistency check: It checks whether the version number marked on each record associated with the same closed-loop number is consistent with the caliber version package, and whether the version digest value of the caliber version package is consistent with the version record's persistence. If the check passes, the check result is set to "pass" and proceeds to step six; if the check fails, the check result is set to "fail" and the reason is marked according to the failure type.
[0165] Step Six: Audit Playback Package Generation and Playback Trigger Processing
[0166] The closed-loop number, caliber version package, input snapshot index, key result summary, verification result and failure reason are encapsulated into an audit callback package and called back to the callback library; when the write is successful, the audit callback package is submitted to step S1 to trigger the next iteration, and when review is required, the corresponding audit callback package is located through the callback trigger record and the callback is executed; when the write fails, the reason is written to the exception record and the callback trigger is terminated.
[0167] The foregoing has shown and described the basic principles, main features, and advantages of the present invention. Those skilled in the art should understand that the present invention is not limited to the above embodiments. The embodiments and descriptions in the specification are merely preferred examples and are not intended to limit the invention. Various changes and modifications can be made to the invention without departing from its spirit and scope, and all such changes and modifications fall within the scope of the present invention as claimed. The scope of protection of the present invention is defined by the appended claims and their equivalents.
Claims
1. A digital advertising delivery method based on big data, characterized in that: Step S1: Collect multi-source user behavior data and campaign data, and generate a unified dataset after standardization and time alignment; Step S2: Based on the unified dataset, extract user behavior sequence features, and use a clustering algorithm to classify user sessions into browsing, price comparison, and purchase intent categories, generating intent classification results; Step S3: Perform differential privacy processing on the statistical information of each intent category in the intent segmentation result to generate a de-identified statistical summary; Step S4: Based on the anonymized statistical summary and real-time delivery feedback, a multi-armed slot machine algorithm is used to generate resource allocation strategies for different intent categories and channels; Step S5: Based on the resource allocation strategy, conduct a traffic splitting experiment on the delivery requests, calculate the incremental conversion rate, evaluate the effectiveness of the incremental conversion rate, and generate incremental effect evaluation results; Step S6: Based on the incremental effect evaluation results and user contact frequency, dynamically adjust the weight parameters of the resource allocation strategy to form an execution strategy; Step S7: Based on the execution strategy, obtain the delivery results and conversion results, generate a closed-loop record containing the version status of each stage, and feed the closed-loop record back to step S1 to trigger iterative optimization.
2. The digital advertising delivery method based on big data according to claim 1, characterized in that: The specific steps for collecting multi-source user behavior data and campaign data, and generating a unified dataset after standardization and time alignment are as follows: Read user behavior event records from in-site behavior collection, and read exposure receipt records, click receipt records, conversion receipt records and cost receipt records from external advertising receipts. Convert the records from each source into advertising signal records and summarize them to form an advertising signal record set. For each record in the signal delivery record set, a deduplication key is generated. The deduplication key is then input into a Bloom filter and a multi-hash bitwise judgment is performed to complete the deduplication. The field mapping rule set is read and the deduplicated record set is normalized field by field. Character fields are matched character by character according to the format rules registered in the field mapping rule set and the matching results are output. Numeric fields are compared item by item according to the lower and upper bound values registered in the field mapping rule set and the comparison results are output. Records that pass both the matching and comparison results are written to the standardized record set, and records that fail are written to the abnormal record set and the failure reason code is registered. Read the time granularity value registered in the time granularity configuration item, and merge the event timestamps in the standardized record set by integer division to generate time slice identifiers; for the indicator value of the event type is cost, if there are valid values in adjacent time slices of the same session identifier, calculate the interpolation value according to the time position ratio and write it into the missing time slice. The criteria for determining adjacent time slices are that the time slice sequence number of the time slice identifier differs by 1 and there are records of event type cost with valid indicator values in both time slices; when the missing time slice cannot simultaneously locate the valid value record of the preceding time slice and the valid value record of the subsequent time slice, write the session identifier and the missing time slice identifier into the abnormal record set and register the failure reason code, thereby obtaining the aligned record set; The record set is grouped according to the session identifier and time slice identifier. The records in the group are arranged in ascending order by event timestamp to form an event sequence. The event sequence is encapsulated into a unified dataset entry and written to the unified dataset using a double buffer rollback mechanism. When the write is successful, the version number is incremented and the backup buffer is synchronized. When the write fails, it rolls back to the backup buffer and keeps the version number unchanged, thereby generating a unified dataset.
3. The digital advertising delivery method based on big data according to claim 1, characterized in that: The specific steps for extracting user behavior sequence features based on the unified dataset are as follows: For each session event sequence, determine its length and whether the number of event entries is greater than 2. Session event sequences that pass the determination will proceed to the feature extraction stage, while session identifiers that fail the determination will be written into the unclassified session set and the failure reason code will be registered. For each session event sequence entering the feature extraction stage, a session feature vector is generated: the number of items with event types of exposure, click, and conversion are counted as counting features. The time difference sequence is formed by subtracting the timestamps of two adjacent events, and the average time difference and peak time difference are extracted from the time difference sequence as time features. The object identifiers in the session event sequence are grouped by object category field and the proportion of occurrence of each category to the total number of event entries is counted as the category distribution feature; the count feature, time feature and category distribution feature are concatenated in a fixed field order to obtain the session feature vector; The session feature vectors are evaluated for null and infinite values. Session feature vectors that pass the evaluation are written into the session feature vector set, while session identifiers that fail the evaluation are written into the unclassified session set and the failure reason code is registered.
4. The digital advertising delivery method based on big data according to claim 1, characterized in that: The specific steps for using clustering algorithms to classify user sessions into browsing, comparison, and purchase intent categories are as follows: Three-cluster clustering is performed on the session feature vector set. The session feature vector set is sorted in ascending order by session identifier, and the first three vectors are taken as the initial cluster centers. Each session feature vector is compared with the three cluster centers one dimension at a time, and the distance value is obtained by taking the square root of the sum of the squares of the differences in each dimension. The session feature vector is assigned to the cluster corresponding to the cluster center with the smallest distance value. The cluster centers of each cluster are updated by averaging each dimension. The center offset is obtained by taking the square root of the sum of the squares of the differences between the old and new cluster centers one dimension at a time. The change is obtained by summing the three center offsets. The iteration terminates when the change is less than 0.01 or the number of iterations reaches 20. After termination, the number of sessions in each cluster is determined. The determination condition is whether the number of sessions in each cluster is greater than 10. If the number of sessions in a cluster is greater than 10, it is written into the cluster partitioning record set. If the number of sessions in a cluster is less than or equal to 10, the session identifiers of that batch are written into the unclassified session set and the failure reason code is registered. Intent mapping is performed on the cluster-divided record set: the number of conversion items and the number of click items are counted for each cluster, and the purchase ratio and price comparison ratio are obtained by dividing the number of conversion items and the number of click items by the total number of event items in the cluster; the three clusters are sorted in descending order of purchase ratio and the first cluster in the sorted order is marked as purchase intent; the remaining two clusters are sorted in descending order of price comparison ratio and the first cluster in the sorted order is marked as price comparison intent; the remaining clusters are marked as browsing intent. The unclassified session set is marked as unclassified intent. The intent category identifier corresponding to each session identifier is written into the intent partitioning result set. At the same time, the intent category identifier is backfilled into the unified dataset entry as the aggregation input for subsequent steps.
5. The digital advertising delivery method based on big data according to claim 1, characterized in that: The specific steps for performing differential privacy processing on the statistical information of each intent category in the intent segmentation result are as follows: Read the intent segmentation result set and the unified dataset, and backfill the correspondence between session identifier and intent category identifier into the event sequence of the unified dataset entries, so that each event carries the intent category identifier, channel identifier and time slice identifier; Event sequences are grouped using intent category identifier, channel identifier, and time slice identifier as grouping keys. Within each group, the number of items with event type of exposure, the number of items with event type of click, and the number of items with event type of conversion are accumulated. The cost metric value is summed to generate an intent statistics result set. Read the privacy configuration table to obtain the privacy budget value, noise type and desensitization version number; read the cost configuration table to obtain the single cost limit. For each item in the intent statistics result set, a perturbation seed is generated. The perturbation seed is a random seed value, which is generated by concatenating the intent category identifier, channel identifier, time slice identifier and de-identified version number in a fixed order and converting them into a 32-bit integer. The Mersenne Twister pseudo-random number generator is initialized with the random seed value to generate four independent random number sequences. Four noise values are generated based on noise type, corresponding to exposure count, click count, conversion count, and cost value, respectively: When the noise type is Laplace, the sensitivity of exposure count, click count, and conversion count is fixed at 1, and the sensitivity of cost value is fixed at the single-use cost limit. A scaling parameter is obtained based on the privacy budget and sensitivity. The uniform random number sequence is converted into zero-mean noise value through inverse transformation sampling. When the noise type is Gaussian, the failure probability parameter is read and it is determined whether it is greater than 0 and less than 1. If the determination is successful, the failure probability parameter is used as the divisor to perform a ratio operation with a constant 1.25, and the natural logarithm is taken. The logarithmic term is multiplied by 2, and the square root is taken to obtain the scaling term. The sensitivity is multiplied by the scaling term and then divided by the privacy budget. The budget value is used to obtain the standard deviation parameter; if the judgment fails, the previous de-identification version number entry is retrieved from the de-identification statistical summary set using the intent category identifier, channel identifier, and time slice identifier as search keys. If the retrieval is successful, it is copied, written, and the failure reason code is registered. If the retrieval fails, the number of exposures, clicks, conversions, and cost values are set to 0 and written to the de-identification statistical summary set; two sets of uniform random number pairs are sequentially extracted by the pseudo-random number generator. The natural logarithm and square root operation are performed on the first uniform random number to obtain the amplitude term. After the angle mapping is performed on the second uniform random number, the cosine and sine operations are performed respectively and multiplied by the amplitude term to obtain two zero-mean noise base values. The noise base values are multiplied by the standard deviation parameter to obtain the zero-mean noise value; The four noise values are superimposed onto the exposure count, click count, conversion count, and cost value respectively to obtain the perturbed intent statistics result set; the perturbed exposure count, click count, and conversion count are first rounded and then set to 0 if the rounding result is less than 0 to perform non-negative integerization; the decimal place configuration item is read, the cost value is magnified to the integer scale according to the decimal place, then rounded and restored to the corresponding decimal scale to perform fixed-pointization; the perturbed intent statistics result set together with the de-identified version number is written into the de-identified statistical summary set.
6. The digital advertising delivery method based on big data according to claim 1, characterized in that: The specific steps for generating resource allocation strategies for different intent categories and channels using the multi-armed slot machine algorithm are as follows: Read the intent statistics entries corresponding to the current time slot from the anonymized statistical summary set, and read the real-time delivery feedback records corresponding to the same time slot from the delivery execution side's receipt interface. The fields of the real-time delivery feedback records are fixed as channel identifier, time slot identifier, number of impressions, number of clicks, number of conversions, and cost value. Construct resource allocation arm identifiers using intent category identifiers and channel identifiers. Align and merge de-identified statistical summaries and real-time delivery feedback according to resource allocation arm identifiers and time slice identifiers to form an arm observation record set. Read the arm parameter records corresponding to the resource allocation arm identifiers from the strategy configuration table. The arm parameter records include success counts and failure counts. The number of conversions in the arm observation record set is added to the success count, and the result of subtracting the number of conversions from the number of exposures is added to the failure count. When the number of exposures is less than the number of conversions, the arm observation record is written to the abnormal record set and the failure reason code is registered. At the same time, the arm parameter record of the previous version of the arm is used. The exploration percentage, total budget, and bid adjustment step size are read from the strategy configuration table. Thompson sampling rules are used to generate conversion rate sample values for each resource allocation arm: sampling parameters are constructed for each resource allocation arm using success and failure counts; a random seed value is generated using the random seed generation rules registered in the strategy configuration table to initialize the pseudo-random number generator; uniform random numbers are retrieved from the pseudo-random number generator in a fixed calling order, and sampling determination rules are applied to the uniform random numbers to obtain the conversion rate sample value for that arm; when the sampling input parameters for that arm are missing, the arm's observation record is written to the anomaly record set, the failure reason code is registered, and the conversion rate sample value for that arm from the previous time slice is used. Read the default value rules and single cost limit rules of the cost field from the cost configuration table, and perform missing value judgment and limit constraint on the cost value in the real-time delivery feedback record. When missing, the cost value is replaced with the default value of the cost field, and when the limit is exceeded, the cost value is truncated to the single cost limit. Read the arm score conversion rule field from the strategy configuration table, generate the arm sorting score according to the ratio of the conversion rate sample value to the cost value, and when the cost value is equal to 0, write the arm observation record into the abnormal record set and register the failure reason code, and use the arm sorting score corresponding to the arm in the previous time slice to participate in the sorting to keep the strategy of this time slice available for generation. The budget allocation results and bid adjustment results are encapsulated into resource allocation strategy entries. The fields of the resource allocation strategy entries are fixed as intent category identifier, channel identifier, time slice identifier, budget percentage, bid adjustment value and strategy version number. The resource allocation strategy entries are written into the resource allocation strategy set.
7. The digital advertising delivery method based on big data according to claim 1, characterized in that: The specific steps for conducting a traffic splitting experiment based on the resource allocation strategy and calculating the incremental conversion rate are as follows: Read the resource allocation strategy entry corresponding to the current time slice from the resource allocation strategy set, and read the pending delivery request record from the delivery request entry. The pending delivery request record carries the user identifier, session identifier, channel identifier and request timestamp. The request timestamps are merged according to the time granularity configuration items to generate time slice identifiers. Based on the intent segmentation results, the intent category identifier is added to the session identifier. The intent category identifier, channel identifier, and time slice identifier are concatenated in a fixed field order to generate the delivery unit identifier, thereby merging each request to be delivered into the delivery unit identifier. Read the experiment number and diversion ratio from the diversion configuration table, and convert the diversion ratio into threshold points according to the conversion rules registered in the diversion configuration table; The user identifier, experiment number and time slice identifier are concatenated in a fixed order to obtain the split key. The character-by-character encoding value of the split key is extracted and accumulated to obtain the split value. The split point is obtained by taking the remainder of the split value with a fixed modulus. When the traffic split point is less than the threshold point, the delivery request is marked as an experimental group; when the traffic split point is not less than the threshold point, the delivery request is marked as a control group. The set of execution strategy entries with the previous time slice effective flag is retrieved from the execution strategy set. The budget percentage and bid adjustment value that match the channel identifier in the execution strategy entry set are used to generate the control group delivery parameters; when no matching entry is found, the delivery request is written to the exception record set and the failure reason code is registered. The baseline bid adjustment value and baseline budget percentage registered in the strategy configuration table are used to generate the control group delivery parameters; the group identifier, delivery unit identifier and strategy version number are written to the experimental traffic split record to ensure consistency with the delivery execution caliber when subsequent receipts are merged.
8. The digital advertising delivery method based on big data according to claim 1, characterized in that: The specific steps for evaluating the effectiveness of incremental conversion rate and generating incremental effect evaluation results are as follows: Read the exposure receipts, click receipts, conversion receipts and cost receipts that match the experimental diversion records from the external delivery receipts, and summarize the number of exposures, conversions and cost values according to the delivery unit identifier and group identifier to form a set of grouped statistical indicators; The group statistical indicators are compared with the number of exposures and the number of conversions: when the number of exposures is equal to 0, the group conversion rate is set to 0 and the failure reason code is recorded; when the number of exposures is greater than 0, the number of conversions is divided by the number of exposures to obtain the group conversion rate and written into the group statistical indicator set; the incremental conversion rate is obtained by subtracting the conversion rate of the experimental group from the conversion rate of the control group. The exposure threshold and incremental threshold are read from the evaluation gating configuration table. The number of exposures in the experimental group and the control group are compared with the exposure threshold. When the number of exposures in both the experimental group and the control group reaches the exposure threshold and the incremental conversion rate reaches the incremental threshold, the evaluation conclusion is marked as passed and the strategy version number of this time slice is fixed. When any of the above conditions are not met, the evaluation conclusion is marked as failed and the failure reason code is registered. The failure reason codes include the insufficient exposure reason code, the insufficient incremental reason code, and the reason code for the incalculable group conversion rate. The reason code mapping fields in the evaluation gating configuration table are written into the incremental effect evaluation result set. The group statistical indicators, incremental conversion rate, evaluation conclusion, failure reason code, and strategy version number are encapsulated into the incremental effect evaluation result and written into the incremental effect evaluation result set.
9. The digital advertising delivery method based on big data according to claim 1, characterized in that: The specific steps for dynamically adjusting the weight parameters of the resource allocation strategy to form the execution strategy are as follows: Retrieve evaluation records that match the current time slice from the incremental effect evaluation result set by time slice identifier, and read the evaluation conclusion identifier field, incremental conversion rate field, strategy version number field, and failure reason code field from the evaluation record; Using the strategy version number field as the search key, retrieve the set of resource allocation strategy entries with the same strategy version number from the resource allocation strategy set and load them as the candidate strategy input for this time slice. When the set of resource allocation strategy entries corresponding to the strategy version number is empty, write the time slice into the exception record set, register the failure reason code, and switch to the rollback path. An equivalent comparison is performed on the evaluation conclusion identifier field: when the evaluation conclusion identifier field is rated as "pass", the subsequent control process is initiated; when the evaluation conclusion identifier field is rated as "fail", the rollback path is initiated. In the rollback path, the set of execution strategy entries that have taken effect in the previous time slice is retrieved from the execution strategy set according to the condition that the effective time slice identifier is equal to that of the previous time slice and the effective flag is valid. The set of execution strategy entries is copied and written into the execution strategy set of the current time slice. At the same time, the failure reason code field is written into the reason code field of the execution strategy set of the current time slice. The system reads exposure feedback records from external delivery receipts and group identifiers from experimental distribution records. It then groups and accumulates the exposure feedback records by user identifier, intent category identifier, channel identifier, and time slice identifier to obtain the number of user contacts. It merges multiple adjacent time slices into a frequency window according to the window length registered in the frequency configuration table. The number of user contacts is compared with the frequency upper limit registered in the frequency configuration table. The system accumulates the number of users exceeding the limit and the number of participating users for each intent category identifier and channel identifier. The system divides the number of users exceeding the limit by the number of participating users to generate the frequency pressure value. The system looks up the frequency suppression coefficient in the table based on the lower and upper limits of the interval and the suppression coefficient registered in the suppression coefficient interval table in the frequency configuration table. Read the incremental boost coefficient range table field from the strategy configuration table. Based on the lower bound, upper bound, and boost coefficient of the range table, look up the incremental boost coefficient to obtain the incremental boost coefficient. Read the budget percentage and bid adjustment value of each resource allocation strategy item. Multiply the budget percentage by the incremental boost coefficient and the frequency suppression coefficient to obtain the adjusted budget percentage. Multiply the bid adjustment value by the incremental boost coefficient and the frequency suppression coefficient to obtain the adjusted bid adjustment value. Normalize the budget percentage after adjustment under the same intent category identifier. The normalization method is to first accumulate the total budget percentage under the intent category identifier, and then divide each budget percentage after adjustment by the total budget percentage to obtain the normalized budget percentage. When the total budget percentage is equal to 0, roll back to the previous time slice to execute the strategy and register the failure reason code. The intent category identifier, channel identifier, time slice identifier, normalized budget percentage, post-adjustment bid adjustment value, and strategy version number are encapsulated as execution strategy entries and written into the execution strategy set.
10. A digital advertising delivery method based on big data according to claim 1, characterized in that: The specific steps for obtaining the delivery results and conversion results based on the execution strategy, and generating a closed-loop record containing the version status of each stage, are as follows: Read the execution strategy entry corresponding to the current time slice from the execution strategy set, encapsulate the intent category identifier, channel identifier, budget percentage, bid adjustment value and strategy version number in the execution strategy entry into a delivery instruction and send it to the delivery execution side, and write the strategy version number into the delivery instruction parameters so that the delivery execution side can send back the strategy version number in the receipt; Continuously read exposure receipt records, click receipt records, conversion receipt records and cost receipt records corresponding to the delivery instruction from external delivery receipts, and read back-link behavior event records that can be associated with the above receipt records from internal behavior collection; For each receipt record, extract the session identifier, user identifier, channel identifier, time slice identifier, and strategy version number to generate a receipt matching key. Use the receipt matching key to locate the corresponding group identifier and delivery unit identifier in the execution strategy entry and experimental distribution record. When the location is successful, summarize the receipt records and write them into the delivery result set and summarize the conversion receipt records and write them into the conversion result set. When the location fails, write the receipt record into the exception record set and register the failure reason code. The delivery result set and the conversion result set are merged and summarized according to the delivery unit identifier to obtain the number of exposures, clicks, conversions and cost values for the current time slot. The summarized result is then encapsulated together with the unified dataset version number, intent segmentation version number, de-identification version number, resource allocation strategy version number, experiment number and execution strategy version number to generate a closed-loop record. Write the closed-loop record into the closed-loop record set and write the backflow index of the closed-loop record into the backflow trigger table. The backflow index contains the session identifier, time slice identifier, and the version numbers mentioned above. Read the backflow index in the backflow trigger table and trigger the rereading of the in-site behavior event record and the external delivery receipt record in the next time slice to generate a new unified dataset.