Dynamic adjustment method, device and system for daily work table
Patent Information
- Application Number
- CN202610837408.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2025-09-05
- Filing Date
- 2026-06-10
- Publication Date
- 2026-09-11
AI Technical Summary
但是,相关技术中仅通过对比融合前后的整体业绩数值来粗略评估任务与日报的融合效果,无法判断业绩的真实贡献来源,导致评估结果不可靠,无法为任务与日报的融合优化提供准确的数据支撑
Smart Images

Figure CN122736393A_ABST
Abstract
Description
[0001] This patent application claims priority to Chinese Patent Application No. 202511265458.4, filed on September 5, 2025, entitled "SOP Task and Daily Report Fusion System and Method Based on AI Intelligent Analysis". Technical Field
[0002] This application relates to the field of daily worksheet management technology, and in particular to a method, device and system for dynamically adjusting daily worksheets. Background Technology
[0003] In related technologies, the integration of task reports and daily reports can pinpoint deviations and problematic aspects during task execution. However, these technologies only roughly assess the integration effect by comparing overall performance values before and after integration, failing to determine the true source of performance contribution. This leads to unreliable assessment results and cannot provide accurate data support for optimizing the integration of task reports and daily reports. Summary of the Invention
[0004] Therefore, it is necessary to provide a method, device, and system for dynamically adjusting daily report worksheets that can accurately evaluate the integration effect of tasks and daily reports, in order to address the aforementioned technical problems.
[0005] To address the aforementioned technical issues, firstly, a method for dynamically adjusting the daily report worksheet is provided, including: Obtain the daily worksheet and task communication record set for the target task. Query and extract task communication records that match preset keywords from the task communication record set and mark them as valid communication records. Calculate the valid communication value based on the type and quantity of valid communication records. Generate a standardized communication value based on the valid communication value and the task complexity of the target task. Combine the standardized communication value with the performance improvement after executing the daily worksheet to obtain the communication contribution value. Construct a work hour characteristic data set for the target task and obtain the effective work hours of the target task based on the work hour characteristic data set. Utilize the effective work hours and the actual performance after executing the daily worksheet to generate the unit work hour output of the target task. Combine the unit work hour output with the performance improvement to obtain the execution contribution value. Evaluate the rationality of the daily worksheet based on the communication contribution value and the execution contribution value. If rational, maintain the current version of the daily worksheet; if not rational, optimize and update the daily worksheet.
[0006] In one embodiment, before obtaining the daily report worksheet of the target task, the method further includes: obtaining the initial task text and initial daily report text of the target task and preprocessing them respectively to obtain standard task text and standard daily report text, wherein the preprocessing includes at least one of removing abnormal characters, unifying format, and sentence segmentation; obtaining preset prompt words and concatenating the preset prompt words with the standard task text to form a model input sequence; using a language model to convert the model input sequence into structured task text, the structured task text including structured fields and information corresponding to the structured fields, the structured fields including at least one of task name, task execution requirements, time nodes, task execution standards, and task standard execution order; receiving the standard task text and standard daily report text, matching the structured task text and standard daily report text based on preset dimensions to establish a mapping relationship between task text and daily report text; and fusing the task text and daily report text based on the mapping relationship between task text and daily report text to generate a daily report worksheet.
[0007] In one embodiment, converting the model input sequence into structured task text using a language model includes: inputting the model input sequence into a language model; segmenting the model input sequence using the language model to obtain multiple word units, and generating embedding vectors that integrate semantic and positional information for each word unit; generating query vectors and key vectors for each word unit based on the embedding vectors; traversing multiple word units, calculating the dot product of the query vector of any word unit with the key vectors of other word units to obtain the association score between the word unit and other word units, and normalizing the association score to obtain the relationship between each word unit. The association weights are calculated; the value vectors of each word are summed in a weighted manner based on the association weights to obtain the weighted representation of each word; the probability of each word belonging to each structured field is calculated based on the weighted representation of each word, and the structured field label corresponding to each word is determined according to the probability; the position of the word sequence with the same structured field label is taken as the key information position of the structured field; the word sequence corresponding to the key information position is extracted as the information corresponding to each structured field; the structured fields and the information corresponding to the structured fields are organized according to the output format in the preset prompt words to obtain the structured task text.
[0008] In one embodiment, establishing a mapping relationship between task text and standard daily report text based on a preset dimension includes: in response to the preset dimension including a time dimension, matching time nodes with the time of work records in the standard daily report text, and establishing a mapping relationship between tasks within the same time interval or meeting a preset time deviation threshold and work records; and / or, in response to the preset dimension including a semantic dimension, extracting behavioral description keywords from work records, integrating task names and task execution requirements to obtain integrated text, calculating the semantic matching degree between behavioral description keywords and integrated text, and establishing a mapping relationship between tasks with a semantic matching degree higher than a preset threshold and work records; and / or, in response to the preset dimension including a logical dimension, comparing the standard execution order of tasks with the actual task execution order of work records with established mapping relationships, and determining whether to retain the established mapping relationship based on the matching situation between the actual task execution order and the standard task execution order.
[0009] In one embodiment, generating a daily report worksheet includes: constructing an execution relationship topology with time nodes and task nodes as target nodes and mapping relationships as edges; organizing the work records in the standard daily report text into a work record sequence according to time order; statistically analyzing the execution status of tasks based on the mapping relationships, where the execution status of tasks includes completed, unprocessed, and partially completed; for tasks with an execution status of unprocessed or partially completed, generating a work plan based on its corresponding time node and task execution requirements; and generating a daily report worksheet based on the work plan, the work record sequence, and the execution status of tasks.
[0010] In one embodiment, after generating the daily report worksheet, the process includes: using task nodes, time nodes, and work records in the execution relationship topology as graph structure nodes; using directed edges from work records to task nodes to represent execution relationships, directed edges from task nodes to work records to represent correspondence relationships, and directed edges from work records to work records to represent cross-cycle continuation relationships, thereby constructing an execution relationship graph structure, which is stored independently of the daily report worksheet.
[0011] In one embodiment, obtaining the task communication record set includes: obtaining historical performance and actual performance after the execution daily worksheet, calculating the standardized deviation of the actual performance relative to the historical performance; obtaining a threshold, comparing the standardized deviation with the threshold; and in response to the standardized deviation being greater than the threshold, obtaining the task communication record set of the target task.
[0012] In one embodiment, obtaining historical performance and actual performance after executing the daily report worksheet, and calculating the standardized deviation of the actual performance relative to the historical performance includes: obtaining performance data for historical periods, identifying and removing abnormal data in the historical performance data to obtain historical performance; reading the target aggregation result within a preset time window from a preset storage structure based on the user identifier, as the actual performance after executing the daily report worksheet; wherein, the target aggregation result is obtained by the stream processing engine in advance from the message queue for order event streams, and incrementally aggregating the order amounts in the order event streams; calculating the average and standard deviation of the historical performance; calculating the difference between the actual performance and the average, and dividing the difference by the standard deviation to obtain the standardized deviation.
[0013] In one embodiment, the method further includes: monitoring order data; in response to a change in order data, acquiring order change data, generating an order event based on the order change data, the order event carrying at least one of a user identifier, order amount, order status, and order event generation time; and sending the order event to a message queue, wherein the order event is partitioned and stored in the message queue according to the hash value of the user identifier.
[0014] In one embodiment, incremental aggregation calculation of order amounts in an order event stream includes: in response to obtaining an order event stream from a message queue via a stream processing engine, marking the processing progress of the order event stream with a progress tag; in response to the time reaching the aggregation boundary of the aggregation time window, performing aggregation calculation on the order events received within the aggregation time window to obtain a window aggregation result; classifying order events arriving after the maximum boundary of the aggregation time window as late order events; in response to the difference between the arrival time of a late order event and the maximum boundary of the aggregation time window not exceeding a preset delay duration, updating the window aggregation result based on the late order event to obtain a target aggregation result; in response to the difference exceeding the preset delay duration, not updating the window aggregation result, and using the window aggregation result as the target aggregation result; wherein, in response to the order amount in an order event being negative or exceeding a preset reasonable range, the order event is marked as an abnormal order, not participating in the aggregation calculation, and an abnormal prompt message is pushed.
[0015] In one embodiment, in response to the difference exceeding a preset delay duration, the process of not compensating for late order events based on the difference exceeding the preset delay duration includes: writing the target aggregation result into a preset storage structure, and constructing a composite tree index in the preset storage structure based on the user identifier and the time dimension; wherein, the composite tree index uses the user identifier as the first index field and the time as the second index field, and during the index construction process, the stored target aggregation results are grouped according to the user identifier, and the target aggregation results are arranged in chronological order within each group.
[0016] In one embodiment, querying and extracting task communication records that match preset keywords from a task communication record set and marking them as valid communication records, and obtaining a valid communication value by combining the type and quantity of valid communication records, includes: receiving a task communication record set for a target task, the task communication record set including at least one of call text and chat text; extracting business keywords from the task communication record set, the business keywords being related to order progress; marking the task communication records corresponding to the business keywords that match the preset keywords as valid communication records; determining the communication weight coefficient of the corresponding valid communication record based on whether the type of the valid communication record is call text or chat text; and weighting and summing the quantity of each valid communication record with its corresponding communication weight coefficient to obtain the valid communication value.
[0017] In one embodiment, obtaining the task communication record set further includes: collecting call records and transcribing the call records into call text; collecting chat records and obtaining chat text; setting tags for the call text and chat text respectively, the tags including the user identifier corresponding to the text and the collection record time corresponding to the text; grouping the call text and chat text according to the user identifier, and arranging the call text and chat text in each group in the order of collection record time to form a task communication record set.
[0018] In one embodiment, the task complexity of the target task is obtained based on the influencing factors of the target task. The influencing factors of the target task include at least one of the following: the number of task execution steps, the number of customers involved in the task, and the task duration. A method for obtaining a standardized communication value based on the task complexity and effective communication value, and combining the standardized communication value with the performance improvement after executing the daily worksheet to obtain the communication contribution value, includes: obtaining the weight coefficients of each influencing factor of the target task; weighting and summing each influencing factor with its corresponding weight coefficient to obtain the task complexity; using the ratio of the effective communication value to the task complexity as the standardized communication value; using the difference between actual performance and historical performance as the performance improvement; and calculating the communication contribution value based on the standardized communication value and the performance improvement.
[0019] In one embodiment, constructing a time feature data set for the target task includes: in response to detecting user operation of the target software and the input interval of the typing device being less than or equal to a preset interval threshold, determining the user operation period as a working period, accumulating the duration of the working period to obtain standard working hours, and the target software being used to execute the target task; wherein the typing device includes at least one of a keyboard, a mouse, and a touch screen; in response to not detecting user operation of the target software, or the input interval of the typing device being greater than the preset interval threshold, determining the user operation period as a non-working period and not counting it as valid working hours; obtaining user-reported working hours; associating and storing the standard working hours with the user-reported working hours to form a time feature data set, the time feature data set containing multiple working hour records, each working hour record including multi-dimensional working hour data features, the multi-dimensional working hour data features including at least two of the following: standard working hours, user-reported working hours, total number of input events, active duration of the software, continuous idle time, and working hour deviation value.
[0020] In one embodiment, obtaining the effective working hours of the target task based on the working hour feature data set includes: selecting any working hour data feature dimension, randomly generating a segmentation threshold within the range of values of the selected working hour data feature dimension, and dividing the working hour feature data set into two subsets according to the segmentation threshold; repeatedly performing the operations of selecting the working hour data feature dimension, generating the segmentation threshold, and dividing the subsets on each subset until at least one subset contains only a single working hour record or reaches a preset maximum number of segmentation layers; recording the number of segmentations of each working hour record during the process of being separately divided into subsets from the working hour feature data set, as the isolation path length of each working hour record; performing multiple random segmentation processes on the same working hour record, calculating the average of the isolation path lengths, and obtaining the average path length; responding to the fact that the average path length is less than a preset length threshold and standard working hours exist, using the standard working hours as the effective working hours of the target task; responding to the fact that the average path length is greater than or equal to the preset length threshold, using the fusion value of the user-reported working hours and the standard working hours as the effective working hours of the target task; and responding to the fact that standard working hours are missing, using the effective working hours of the target historical period as the effective working hours of the target task.
[0021] In one embodiment, the unit hourly output of the target task is generated using effective working hours and actual performance after executing the daily work report. The execution contribution value is obtained by combining the unit hourly output and performance improvement. This includes: dividing the actual performance by the effective working hours to obtain the target unit hourly output; obtaining effective working hour data within a historical period to generate a historical working hour sequence, and performing time-series decomposition on the historical working hour sequence to obtain a historical working hour benchmark; dividing the historical performance by the historical working hour benchmark to obtain the historical unit hourly output; calculating the output change rate of the target unit hourly output relative to the historical unit hourly output; and using the difference between the actual performance and the historical performance as the performance improvement amount, and calculating the execution contribution value based on the output change rate and the performance improvement amount.
[0022] In one embodiment, obtaining effective working hour data within a historical period to generate a historical working hour sequence, and performing time-series decomposition on the historical working hour sequence to obtain a historical working hour benchmark includes: sequentially selecting each time point in the historical working hour sequence as a center point, and selecting a preset number of effective working hour values of adjacent time points of the center point, calculating the smoothing value of the center point, and obtaining a trend term sequence; taking the difference between the effective working hour values of time points in the historical working hour sequence and the smoothing values of the corresponding time points in the trend term sequence as a detrended sequence; grouping the values in the same period position in the detrended sequence according to a preset period length, calculating the average value of each group, and obtaining a period term sequence; subtracting the smoothing value of the corresponding time point in the trend term sequence from the effective working hour value of each time point in the historical working hour sequence, and then subtracting the period value of the corresponding time point in the period term sequence, to obtain a residual term sequence; and calculating the average value of the smoothing values of all time points in the trend term sequence as the historical working hour benchmark.
[0023] In one embodiment, assessing the reasonableness of the daily worksheet based on communication contribution value and execution contribution value includes: calculating the sum of communication contribution value and execution contribution value as the total contribution value; calculating the ratio of communication contribution value to total contribution value and the ratio of execution contribution value to total contribution value, respectively, to obtain the communication contribution percentage and execution contribution percentage; comparing the communication contribution percentage with the execution contribution percentage; if the communication contribution percentage is less than the execution contribution percentage, the daily worksheet is deemed reasonable; if the communication contribution percentage is greater than or equal to the execution contribution percentage, the daily worksheet is deemed unreasonable.
[0024] In one embodiment, optimizing and updating the daily report worksheet includes: setting a preset time window to the current period, querying at least one of the call duration, chat word count, and effective working hours of the current period as input indicators; inputting the input indicators into a multivariate analysis model, using the multivariate analysis model with historical performance as the dependent variable and input indicators as independent variables to generate the contribution ratio of each input indicator to performance; generating an attribution report based on the contribution ratio of each input indicator to performance; determining an optimization strategy based on the attribution report; applying the optimization strategy to the experimental group, applying the daily report worksheet to the control group, and statistically analyzing the performance indicators of the experimental group and the control group; determining the effectiveness of the optimization strategy when the performance indicators of the experimental group are higher than those of the control group; and updating the daily report worksheet based on the optimization strategy in response to successful strategy verification.
[0025] In one embodiment, determining the optimization strategy based on the attribution report includes: obtaining the scheme parameters of the daily worksheet; generating a state vector based on the scheme parameters and the attribution report; inputting the state vector into a reinforcement learning model; using the reinforcement learning model to select at least one target action matching the optimization direction from a predefined action set in the optimization direction indicated by the attribution report; calculating the historical returns of the target actions; and outputting the target action with the highest historical returns as the optimization strategy. The scheme parameters of the daily worksheet include at least one of the following: task splitting granularity, task allocation weight, number of daily work fields, historical work hour baseline, communication input indicators, and performance indicators. The actions in the action set include at least one of the following: increasing or decreasing the task splitting granularity, adjusting the number of daily work fields, modifying the task allocation weight ratio, and adjusting the task execution frequency.
[0026] In one embodiment, the method further includes: obtaining historical scheme parameters of the daily report worksheet within a historical period, historical actions performed on the historical scheme parameters, and historical performance change results after performing the historical actions; constructing a sample set with the historical scheme parameters as state vectors, historical actions as actions, and historical performance change results as reward signals; each sample contains an associated state vector, action, and corresponding reward signal; inputting the sample set into a reinforcement learning model, using the sample set to train the reinforcement learning model, calculating the historical rewards of actions under the state vector, and storing the historical rewards of actions under different state vectors as a policy table.
[0027] To address the aforementioned technical problems, a second aspect provides a dynamic adjustment device for a daily worksheet. This device includes a memory for storing a computer program; a processor connected to the memory for executing the computer program; and a communication interface connected to the processor for data interaction with external devices. When the processor executes the computer program, it implements the steps of the method described in the first aspect.
[0028] To address the aforementioned technical problems, in a third aspect, this application provides a dynamic adjustment system for daily worksheets. The dynamic adjustment system for daily worksheets includes: the dynamic adjustment device for daily worksheets described in the second aspect above, and external devices connected to the dynamic adjustment device for daily worksheets. The external devices include terminal devices, data source systems, and message queues.
[0029] Unlike related technologies, the dynamic adjustment method for daily worksheets provided in this application queries and extracts valid communication records matching preset keywords from a task communication record set. It then obtains a valid communication value based on type and quantity, generates a standardized communication value based on the valid communication value and task complexity, and combines this with performance improvement to obtain a communication contribution value. This eliminates the impact of task complexity on communication efficiency, making the assessment of communication contribution more objective and accurate. By constructing a set of work hour characteristic data, the effective work hours of the target task are obtained. Based on the ratio of effective work hours to actual performance, unit work hour output is generated, and combined with performance improvement to obtain an execution contribution value. This method can distinguish between effective work and non-work states, avoiding misjudging overtime or idle time as efficiency improvement, and providing an objective basis for evaluating execution efficiency. The rationality of the daily worksheet is evaluated using communication contribution value and execution contribution value. If reasonable, the current version of the daily worksheet is maintained; if unreasonable, the daily worksheet is optimized and updated. This accurately determines the true source of performance contribution, providing accurate data support for the evaluation and optimization of the daily worksheet. Attached Figure Description
[0030] To more clearly illustrate the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0031] Figure 1 This is a schematic diagram of the structure of a dynamic adjustment system for the daily report worksheet in one embodiment; Figure 2 This is a flowchart illustrating a method for dynamically adjusting a daily report worksheet in one embodiment. Figure 3 This is a flowchart illustrating the dynamic adjustment steps of the daily report worksheet in one embodiment. Figure 4 This is a flowchart illustrating the dynamic adjustment method for the daily report worksheet in another embodiment; Figure 5 This is a flowchart illustrating the steps of acquiring and processing task communication records in one embodiment; Figure 6 This is a flowchart illustrating the steps for determining effective working hours and determining historical working hour baselines in one embodiment; Figure 7 This is a flowchart illustrating the optimization strategy generation and verification steps in one embodiment; Figure 8 This is a flowchart illustrating the dynamic adjustment method for the daily report worksheet in yet another embodiment. Figure 9 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation
[0032] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0033] like Figure 1 As shown, in order to solve the above-mentioned technical problems, this application provides a dynamic adjustment system for daily report worksheets. The system includes a dynamic adjustment device for daily report worksheets and an external device connected to the dynamic adjustment device for daily report worksheets. The external device includes a terminal device, a data source system, and a message queue.
[0034] Terminal devices are used to allow users to input task text and daily report text, and to receive daily report worksheets, evaluation results and optimization tasks. Specifically, they can be any one or more forms of devices, such as desktop terminals, mobile terminals, and portable terminals.
[0035] The desktop terminal can be a desktop computer, laptop, or all-in-one computer. Users access the web interface of the daily worksheet dynamic adjustment system through a browser, or input task text and daily report text through an installed client application. The daily worksheet, evaluation results, and optimization tasks generated by the daily worksheet dynamic adjustment device are pushed to the user through a web interface or client messages.
[0036] The mobile terminal can be a smartphone or tablet. Users input task text and daily report text through an installed mobile application (APP) or mini-program. The mobile terminal supports multiple interaction methods such as photo upload, voice input, and handwriting input, making it convenient for users to quickly fill out daily reports when visiting clients. The device dynamically adjusts the daily report worksheet by sending the daily report worksheet, evaluation results, and optimization tasks to the mobile terminal in real time via push notifications.
[0037] Portable terminals can be laptops or handheld computers. They combine the processing power of desktop terminals with the portability of mobile terminals, allowing users to use them in various scenarios such as offices, customer sites, and travel.
[0038] In one implementation, users can switch between different terminal devices. For example, a user can use a desktop computer in the office to input daily report text and use a smartphone when out and about to view the daily report worksheet and evaluation results pushed by the system. The dynamic adjustment of the daily report worksheet can be synchronized with the user's account to ensure a consistent user experience across different devices.
[0039] The data source system can include an order system and a call / chat system to provide order data and communication records. The order system can be a relational database, such as MySQL or PostgreSQL, used to provide order data to the dynamically adjusted daily worksheet. The call / chat system provides communication records such as call logs and chat logs between users and customers. The call system can specifically be an internally deployed PBX telephone system, a VoIP network telephone system, or an integrated third-party call service, such as Tencent Cloud Call Center or Alibaba Cloud Call Center. The dynamically adjusted daily worksheet connects to the call system via API to obtain user call records. The chat system can be an enterprise-level instant messaging tool, such as WeChat Work, DingTalk, Lark, or Slack, or an integrated third-party IM service, such as Tencent IM or Huanxin. The dynamically adjusted daily worksheet connects to the chat system via API or a built-in chat entry to obtain chat records between users and customers.
[0040] The data source system can also include other business systems, such as CRM (Customer Relationship Management) systems for providing customer follow-up records, ERP (Enterprise Resource Planning) systems for providing order fulfillment status, and email systems for providing email communication records. The dynamic adjustment device for daily report worksheets, through standardized data acquisition interfaces, can flexibly connect to different types of data sources, continuously enriching communication input indicators and performance analysis dimensions.
[0041] Message queues are used for asynchronous transmission of order events, decoupling the system from the data source. Specifically, this could be a Kafka message queue deployed between the dynamic adjustment device of the daily report worksheet and the order system for asynchronous transmission of order events. Alternatively, an order change capture component, such as Canal, can monitor the order system's change logs in real time. When it detects operations such as order creation, order status changes, or order amount updates, it retrieves the order change records. This component converts the change records into standardized order events, which include at least a user identifier, order amount, order status, and order occurrence timestamp. The order change capture component then sends these standardized order events to the message queue. The order events are partitioned and stored in the message queue according to the hash value of the user identifier. This component can be deployed within the dynamic adjustment device of the daily report worksheet or run as a standalone external component.
[0042] The dynamic adjustment method for daily worksheets provided in this application is applied to dynamic adjustment devices for daily worksheets. These devices may include: The text analysis module is used to obtain the initial task text and initial daily report text of the target task from the terminal device, and to preprocess the initial task text and initial daily report text, including removing abnormal characters, unifying the format, and sentence segmentation; the task text is structured by using preset prompt words and a large language model, and the structured task text is output to the fusion module.
[0043] The fusion module is used to obtain structured task text from the text analysis module and standard daily report text from the terminal device. Based on the mapping relationship between the task text and the daily report text, the task is integrated into the daily report in a preset dimension to generate a daily report worksheet. The daily report worksheet is then distributed to the terminal device, and users can view and execute the daily report worksheet through the terminal device.
[0044] The data acquisition module is used to collect work hour data and communication records. Specifically, it collects work hour data from terminal devices and transmits the work hour data to the work hour analysis module; it collects communication records from the data source system and transmits the communication records to the communication analysis module.
[0045] The communication analysis module is used to obtain communication records from the data acquisition module, extract effective communication volume from the communication records, calculate standardized communication values based on task complexity, calculate communication contribution values, and transmit communication contribution values to the evaluation module.
[0046] The work time analysis module is used to obtain work time data (including user-reported work time and collected work time) from the data acquisition module, determine the effective work time based on the work time data, calculate the output per unit work time and the execution contribution value, and transmit the execution contribution value to the evaluation module.
[0047] The stream processing engine is used to retrieve order event streams from the message queue, perform incremental aggregation calculations based on the event time window, and output the aggregation results to a preset storage structure.
[0048] A pre-defined storage structure is used to receive and store the aggregation results output by the stream processing engine. A composite index is built based on user identifiers and time dimensions to support the evaluation module in quickly querying performance data. The performance data in this application includes historical performance and the actual performance of the daily execution worksheet. The pre-defined storage structure is the sole source of performance data. Both historical and actual performance are stored in the same pre-defined storage structure and distinguished by a pre-defined time window. Historical performance refers to the aggregation results of multiple consecutive periods prior to the current period, i.e., the historical periods. Actual performance refers to the aggregation results within the current period, i.e., the pre-defined time window.
[0049] The evaluation module is used to retrieve performance data from a preset storage structure, calculate the standardized deviation of actual performance relative to historical performance, obtain communication contribution values from the communication analysis module, obtain execution contribution values from the time analysis module, calculate the standardized deviation of actual performance relative to historical performance, calculate the communication contribution ratio and execution contribution ratio based on the communication contribution value and execution contribution value respectively, evaluate the daily worksheet based on the comparison results of the communication contribution ratio and execution contribution ratio, and transmit the evaluation results to the terminal device. When the evaluation result is unreasonable, the attribution analysis module is triggered.
[0050] The attribution analysis module receives trigger signals from the evaluation module, acquires input indicator data such as call duration, chat word count, and effective working hours from the data acquisition module, calls a multivariate analysis model to analyze the contribution ratio of each input indicator to performance, generates an attribution report, and transmits the attribution report to the optimization module and terminal devices.
[0051] The optimization module is used to obtain attribution reports from the attribution analysis module, call the reinforcement learning model to determine the optimization strategy, and transmit the optimization strategy to the workflow engine.
[0052] The workflow engine is used to obtain optimization strategies from the optimization module, execute optimization workflows, create optimization tasks and assign responsible persons, and push optimization tasks and attribution reports to terminal devices.
[0053] The daily worksheet dynamic adjustment system and equipment provided in this application clearly distinguish between the dynamic adjustment equipment (internal core processing equipment) and external equipment (terminal equipment, data source system, message queue, etc.), achieving a clear separation between internal processing logic and external interaction interface. The daily worksheet dynamic adjustment equipment integrates multiple modules, each with a single responsibility and low coupling, facilitating system development, maintenance, and expansion. External equipment connects to internal equipment through standardized interfaces. Terminal equipment supports various forms of user input for task text and daily report text, and receives daily worksheets, evaluation results, and optimization tasks. The data source system provides order data and communication records to internal equipment through API interfaces, message queues, etc. The message queue decouples the order data source from the stream processing engine, improving system throughput, stability, and scalability. Thus, it provides complete, efficient, and scalable technical support for the generation, evaluation, and optimization of daily worksheets.
[0054] In one embodiment, such as Figure 2 As shown, this application provides a method for dynamically adjusting a daily report worksheet, which includes the following steps: Step 101: Obtain the daily worksheet and task communication record set of the target task. Query and extract the task communication records that match the preset keywords from the task communication record set and mark them as valid communication records. Combine the type and number of valid communication records to obtain the valid communication value.
[0055] like Figure 3 As shown, before obtaining the daily worksheet for the target task, the text analysis module obtains the initial task text and the initial daily report text for the target task. The target task can refer to a specific task node in a standard operating procedure (SOP), and the initial task text can refer to the specific operational steps described in the SOP, such as sending a pro forma invoice, confirming order delivery dates, or following up on customer payments. The initial daily report text refers to the work record text filled out by the user each day, for example, communicating product details with customer A in the morning and sending a quotation to customer B in the afternoon.
[0056] The text analysis module preprocesses the initial task text and initial daily report text to obtain standard task text and standard daily report text. Preprocessing may specifically include at least one of the following: removing abnormal characters, standardizing formatting, and sentence segmentation.
[0057] For example, text recognition can be performed on the initial task text and the initial daily report text to identify and remove abnormal characters. Abnormal characters are special symbols, garbled characters, extra spaces, and other unnecessary characters in the initial task text and the initial daily report text. Dates, times, numbers, etc., in the initial task text and the initial daily report text can be standardized according to a preset format, for example, May 8th can be standardized to the format 05-08. Long texts can be segmented into independent sentence units according to punctuation marks (periods, semicolons, line breaks, etc.) to facilitate subsequent sentence-by-sentence analysis.
[0058] The text analysis module can obtain preset prompt words, concatenate the preset prompt words with standard task text to form the model input sequence, and use the language model to transform the model input sequence into structured task text.
[0059] Specifically, preset prompts can be pre-defined instruction texts used to guide the large language model to output in a specified format. For example, preset prompts could extract key information from standard task text and output it in JSON format.
[0060] A language model can refer to a large language model (LLM), such as the OpenAI GPT series and the Tongyi Qwen series. The language model is configured with fixed inference parameters, including a temperature coefficient set to 0.1 to 0.3, a maximum number of output tokens set to 2048, and an output format constraint of JSON structure.
[0061] The preset prompts and standard task text can be concatenated in either order, with the preset prompts first and the standard task text second, or vice versa. To improve the language model's ability to recognize the input sequence, a separator can be inserted between the preset prompts and the standard task text. For example, the model input sequence = preset prompts + separator + standard task text.
[0062] Structured task text refers to task data organized according to a preset format. Structured task text includes structured fields such as task name, task execution requirements, time nodes, task execution standards, and task standard execution order, as well as the information corresponding to the structured fields.
[0063] The task name refers to the identifying name of the task, such as sending a pro forma invoice or confirming an order.
[0064] Task execution requirements refer to the specific conditions or operational procedures that must be met to complete a task, such as completing the task within 2 hours after the customer confirms the order.
[0065] The time frame is the time constraint for task execution, such as before 10:00 AM or within 2 hours after order confirmation.
[0066] Task execution standards are the criteria for measuring the quality of task completion. For example, they should include product model, quantity, unit price, total price, and payment method.
[0067] The standard execution order of tasks is the sequential number of tasks in the overall process, used to indicate the dependencies between tasks.
[0068] Specifically, the input sequence can be fed into a language model; the language model can be used to segment the input sequence to obtain multiple lexical units, and an embedding vector integrating semantic and positional information can be generated for each lexical unit; based on the embedding vectors, query vectors and key vectors for each lexical unit can be generated; multiple lexical units can be traversed, and the dot product of the query vector of any lexical unit and the key vectors of other lexical units can be calculated to obtain the association score between the lexical unit and other lexical units. The association score is normalized to obtain the association weight between each lexical unit; the value vectors of each lexical unit are weighted and summed according to the association weight to obtain the weighted representation of each lexical unit; the probability of each lexical unit belonging to each structured field is calculated based on the weighted representation of each lexical unit, and the structured field label corresponding to each lexical unit is determined according to the probability. The position of the lexical unit sequence with the same structured field label is taken as the key information position of the structured field; the lexical unit sequence corresponding to the key information position is extracted as the information corresponding to each structured field; the structured fields and the information corresponding to the structured fields are organized according to the output format in the preset prompt words to obtain the structured task text.
[0069] The language model first performs word segmentation on the input sequence, dividing the continuous text string into discrete tokens. For each token, a corresponding embedding vector is generated. This embedding vector consists of two parts: token embedding (representing the semantic information of the token itself) and position embedding (representing the position information of the token in the sequence). The sum of these two parts enables the model to simultaneously understand the meaning of the token and its order in the context.
[0070] Based on the embedding vector of each word, a query vector, key vector, and value vector are generated through linear transformation. The query vector represents the type of information the current word wants to query, the key vector represents the information content that the word can provide, and the value vector carries the actual content information of the word. For example, suppose that after word segmentation, we get n words t1, t2, ..., tn. The embedding vector ei of each word ti is obtained by adding the word embedding and the position embedding: ei = TokenEmb(ti) + PosEmb(i), where TokenEmb(ti) represents the semantic embedding vector of word ti, and PosEmb(i) represents the position embedding vector of position i. The embedding vectors are mapped to the query vector, key vector, and value vector respectively through linear transformation. Traversing all words, for any word, the dot product of its query vector and the key vectors of all other words except itself is calculated to obtain the association score between words. The larger the dot product value, the stronger the semantic association between the two words. Softmax normalization is applied to all association scores of each word to obtain the association weights between the word and other words. The normalized weights are between 0 and 1 and sum to 1, reflecting the importance of other words when understanding the word.
[0071] Based on the calculated association weights, the value vectors of each word are summed in a weighted manner to obtain a weighted representation of each word. This weighted representation integrates the semantic information of the current word and related words in its context, enabling the model to more accurately understand the meaning of the word within the overall context. Based on the weighted representation of each word, the probability of the word belonging to each preset structured field category (including task name, task execution requirements, time nodes, task execution standards, and task standard execution order) is calculated through the classification layer of the language model. The category with the highest probability is taken as the structured field label of the word. Based on the word's position index, the position interval of consecutive word sequences with the same structured field label is determined as the key information position of that structured field. For example, if word 1-3 is labeled as the task name, the key information position is [1,3]; if word 4-5 is labeled as the time node, the key information position is [4,5]. Extract the word sequence corresponding to each key information position, concatenate them as the value of the structured field, and finally, organize the name of the structured field and its corresponding value into a key-value pair format according to the output format specified in the preset prompt words (such as JSON), and output the structured task text.
[0072] Thus, this application can automatically convert unstructured task text into computer-readable structured data. Based on its pre-trained semantic understanding capabilities, the language model can accurately identify key information such as task name, execution requirements, and time nodes without manual annotation. Positional embedding preserves the order information of lexical units, and a self-attention mechanism calculates association weights to capture the contextual relationships between lexical units, making the extracted structured information more accurate. The final output structured task text can be directly parsed and processed by a computer, providing a standardized data foundation for the automated matching and fusion of subsequent tasks and daily reports, improving fusion efficiency and accuracy.
[0073] The fusion module receives standard task text and standard daily report text, and can match the structured task text and standard daily report text based on preset dimensions to establish a mapping relationship between task text and daily report text. The preset dimensions can be set in advance according to actual needs. For example, the preset dimensions can be at least one of time dimension, semantic dimension, and logical dimension.
[0074] In response to preset dimensions, including the time dimension, the system matches time nodes with the time of work records in standard daily report texts, and establishes a mapping relationship between tasks and work records that are in the same time interval or meet the preset time deviation threshold.
[0075] For example, each task is associated with a time node, such as sending a quotation before 10:00 AM. Each work record (daily report entry) also records the execution time, such as sending a quotation at 9:30 AM on May 20, 2026. It is determined whether the task's time node and the work record's time fall within the same time interval, or whether the time difference between them is within a preset time deviation threshold, such as a deviation of no more than 30 minutes. If the above conditions are met, a candidate mapping relationship is established between the task node and the work record.
[0076] In response to preset dimensions, including semantic dimensions, the system extracts behavioral description keywords from work records, integrates task names and task execution requirements to obtain integrated text, calculates the semantic matching degree between behavioral description keywords and integrated text, and establishes a mapping relationship between tasks with semantic matching degrees higher than a preset threshold and work records.
[0077] For example, the process begins by extracting behavioral description keywords from work records. For instance, from the work record "issued a Proforma Invoice (PI) to a client," the keywords "issued," "PI," and "client" are extracted. Then, the task name and execution requirements of the task node are integrated into a single text. A semantic similarity algorithm is used to calculate the semantic match between the behavioral description keywords and the integrated text. When the semantic match is higher than a preset threshold (e.g., 0.7), the work record is considered to match the content of the task node, establishing a mapping relationship. Semantic similarity algorithms can include cosine similarity, BERT semantic matching, etc.
[0078] In response to preset dimensions, including logical dimensions, the standard execution order of tasks is compared with the actual task execution order of work records with established mapping relationships. Based on the matching of the actual task execution order with the standard task execution order, it is determined whether to retain the established mapping relationship.
[0079] Each task has a preset standard execution order; for example, customer communication must be performed first, followed by sending a quotation, and finally order confirmation. Based on the established mapping relationship, the actual execution order of the work records is obtained, which is sorted by the timestamps of the work records. The actual execution order is then compared with the standard execution order to determine if they match.
[0080] For example, if the standard order of tasks does not match the actual order of work records, it indicates a sequence conflict, and the mapping relationship can be eliminated or corrected. If the actual order matches the standard order, or if there is a deviation but it does not affect the rationality of the process (e.g., sending quotations and confirming orders are executed in parallel), then the mapping relationship is retained.
[0081] Thus, by matching along the time dimension, candidate mapping relationships can be quickly established based on time information, narrowing the matching range; by matching along the semantic dimension, the semantic association between task descriptions and work records can be understood, overcoming the problem of incomplete keyword matching; and by validating along the logical dimension, the mapping relationship can be ensured to conform to the sequential logic of the business process, avoiding incorrect mappings caused by reversed order. These three preset dimensions can be used independently or in combination, flexibly adapting to the matching needs of different scenarios, improving the reliability of task-to-work-record mapping, and ultimately achieving automatic alignment of task and daily report work records based on the mapping relationship between task text and daily report text.
[0082] Based on the mapping relationship between task text and daily report text, a daily report worksheet is generated by merging structured task text and standard daily report text. For example, time nodes and task nodes can be used as target nodes, with the mapping relationship as edges to construct an execution relationship topology; work records in the standard daily report text are organized into a work record sequence according to time order; based on the execution status of tasks according to the mapping relationship, the task execution status includes completed, unprocessed, and partially completed; for tasks with an execution status of unprocessed or partially completed, a work plan is generated based on its corresponding time node and task execution requirements; and a daily report worksheet is generated based on the work plan, work record sequence, and task execution status.
[0083] For example, a time node here refers to the time constraint for the execution of a structured task text or the time when a work record in a standard daily report text is generated. A task node refers to a specific execution step in the structured task text. An execution relationship topology can be constructed using time nodes and task nodes as nodes in a data structure, with mapping relationships as edges connecting the nodes. Here, the time node includes the time constraint for task execution (e.g., within 2 hours of customer confirmation) and the actual time the work record is generated (e.g., 09:30). A task node refers to a specific execution step in the structured task text (e.g., sending a pro forma invoice). This structure expresses the association between tasks and execution time constraints, and between tasks and actual work records.
[0084] For example, the task node "Send pro forma invoice" has a time node "within 2 hours after customer confirmation" (execution time constraint), and is connected to the work record "PI issued at 9:30 AM" via a mapping edge, which corresponds to the time node "09:30 AM". By comparing the time node "within 2 hours after customer confirmation" with "09:30 AM", it can be determined whether the task was completed on time.
[0085] Retrieve all work records from the standard daily report text. Each work record contains the record content and a corresponding timestamp. Sort the work records according to the order of the timestamps to form a time-ordered sequence of work records. For example, the work record sequence may include records such as "09:30 issued PI to customer" and "10:15 followed up on customer A's payment" sorted by time.
[0086] Iterate through all task nodes and check the associated work records for each task node according to the mapping relationships in the execution relationship topology: if a task node is associated with a work record and the content of the work record meets the execution requirements of the task, it is considered completed; if a task node is not associated with any work record or the associated work record does not meet the execution requirements at all, it is considered unprocessed; if a task node is associated with a work record but the content of the work record only partially meets the execution requirements, it is considered partially completed. For example, the task "Send a pro forma invoice" is associated with the work record "Issue a Proforma Invoice to the Customer" and all execution requirements are met, so it is considered completed; the task "Confirm Order Delivery Date" has no associated work record, so it is considered unprocessed; the task "Customer Communication" only records "Introduce the Product" and does not record understanding needs or obtaining intentions, so it is considered partially completed.
[0087] For each unprocessed or partially completed task node, extract the task name, task execution requirements, and time node, and automatically generate a work plan text based on the above information. For example, for the unprocessed task "Confirm order delivery date", generate the work plan "Follow up with the customer to confirm the order delivery date tomorrow"; for the partially completed task "Customer communication", generate the work plan "Continue to understand customer needs and obtain product intentions tomorrow".
[0088] A daily worksheet is a comprehensive data table that includes the day's work records (arranged chronologically), task execution status (the completion status of each task), and tomorrow's work plan (a plan generated based on unprocessed / partially completed tasks). For example, a daily worksheet might be presented as follows: the time column displays "09:30", "10:15", "14:00", etc.; the work record column displays "issued PI to customer", "follow up on customer A's payment", "confirm customer B's order specifications", etc.; the associated task column displays the corresponding task node; the execution status column displays "completed", "unprocessed", "partially completed"; and the tomorrow's plan column displays "follow up with customer to confirm order delivery date tomorrow" and "continue to understand customer needs tomorrow", etc. The generated structured daily worksheet is output to the terminal device for user viewing and simultaneously stored in a local database or a preset storage structure for subsequent evaluation and analysis.
[0089] Compared to related technologies that simply overlay information to integrate tasks and daily reports, this application organizes work records in chronological order, ensuring the time traceability of daily reports. By mapping task execution status, it can automatically identify completed, unprocessed, and partially completed tasks, providing an accurate basis for subsequent plan generation. By automatically generating work plans for unprocessed or partially completed tasks, it achieves a closed-loop connection between daily reports and tomorrow's plans, reducing the workload of users manually filling in plans. The final generated structured daily report worksheet integrates work records, task status, and tomorrow's plans, providing users with clear work guidance, enabling precise integration between tasks and daily reports, and quickly locating deviations and problems in the task execution process.
[0090] After generating the daily report worksheet, the task nodes, time nodes, and work records in the execution relationship topology can be used as graph structure nodes; the directed edges from work records to task nodes represent execution relationships, the directed edges from task nodes to work records represent correspondence relationships, and the directed edges from work records to work records represent cross-cycle continuation relationships, thus constructing an execution relationship graph structure. The execution relationship graph structure is stored independently of the daily report worksheet.
[0091] The task nodes here represent the specific execution steps in the structured task text. Each task node includes attributes such as task name, task execution requirements, time point, and execution criteria. The time point refers to the time constraint for task execution in the structured task text or the time when the work record in the standard daily report text was generated. Each time point includes attributes such as time value and time type (constraint time or actual time). The work record here represents the specific work item in the daily report. Each work record includes attributes such as record content, timestamp, and associated task.
[0092] An execution relationship is represented by a directed edge that points a work record to a task node. This edge indicates that a certain work record actually executes a certain task. For example, the work record "Send PI to customer at 9:30 am" points to the task node "Send pro forma invoice", indicating that this work record is an execution of the "Send pro forma invoice" task.
[0093] The correspondence edge is represented by a directed edge pointing from a task node to a work record. This edge indicates that a task and a work record have a content correspondence, and the direction is opposite to that of the execution relationship edge, forming a bidirectional association. For example, the task node "Send pro forma invoice" pointing to the work record "Send PI to customer at 9:30 am" indicates that the task matches the content of the work record.
[0094] Cross-period continuation relationships are represented by directed edges pointing from one work record to another. This edge indicates that an unprocessed task in a work record is carried over to a work record in the next period. For example, Friday's work record "Confirmed Order Delivery Date Unprocessed" points to Monday's work record "Follow-up Confirmed Order Delivery Date," indicating that the task continues execution across periods.
[0095] The process iterates through all nodes and mappings in the execution relationship topology, adding all task nodes, time nodes, and work records as nodes in the graph structure. For each mapping, if a work record has executed a task, a directed edge (execution relationship edge) is added from the work record to the task node. For each mapping, if a task corresponds to the content of a work record, a directed edge (correspondence relationship edge) is added from the task node to the work record. For unprocessed tasks spanning multiple periods, unprocessed tasks in the current period's work records are identified, and related work records in the next period are found, adding directed edges (cross-period continuation relationship edges) from the previous period's work records to the next period's work records. The daily report worksheet can be stored in a relational database or a local file in tabular form, while the execution relationship graph structure can be stored independently in a graph database (such as Neo4j, JanusGraph) or an in-memory graph structure. Both are independent but linked through node identifiers (such as task ID and record ID). This graph structure supports efficient path lookups and relationship traversals, facilitating complex queries such as task execution chain analysis and process breakpoint detection. The daily report worksheet is stored in tabular format for easy viewing and editing. The two are decoupled and do not affect each other; different storage formats can be selected based on different query needs.
[0096] By constructing an execution relationship graph structure, task nodes, time nodes, and work records are organized into a graph structure. Directed edges clearly express execution relationships, correspondence relationships, and cross-cycle continuation relationships, realizing structured modeling of task execution behavior. The graph structure is stored independently of the daily report worksheet, ensuring both the usability and readability of the daily report table and supporting efficient graph traversal and relationship query. Based on the graph structure, path query, node degree analysis, cross-cycle tracking, and process compliance checks can be performed, providing powerful data analysis capabilities for process optimization and task management.
[0097] Before acquiring the task communication records for the target task, the evaluation module needs to obtain historical performance and actual performance after executing the daily worksheet, calculate the standardized deviation of the actual performance relative to historical performance, obtain a threshold, and compare the standardized deviation with the threshold. Based on the comparison result, it determines whether to acquire the task communication records for the target task. If the standardized deviation is greater than the threshold, the data acquisition module acquires the task communication records for the target task and continues to execute the subsequent communication contribution value calculation steps. If the standardized deviation is less than or equal to the threshold, it is determined that the change in actual performance is due to random fluctuations, processing stops, task communication records are not acquired, and subsequent communication contribution value calculation and contribution value calculation steps are not executed.
[0098] The evaluation module can acquire historical performance data, identify and remove abnormal data from the historical performance data to obtain historical performance; based on the user identifier, it reads the target aggregation result within a preset time window from the preset storage structure as the actual performance after executing the daily report worksheet; the target aggregation result is obtained by the stream processing engine from the message queue in advance by obtaining the order event stream and performing incremental aggregation calculation on the order amount in the order event stream; the average and standard deviation of historical performance are calculated; the difference between the actual performance and the average is calculated, and the difference is divided by the standard deviation to obtain the standardized deviation.
[0099] Historical periods refer to multiple consecutive statistical periods preceding the execution of the daily report worksheet, such as the past 3 or 4 periods. Performance data for historical periods refers to sales performance data within these periods.
[0100] Anomaly detection and removal can be used to avoid data fluctuations caused by promotional activities, unusually large orders, or equipment errors affecting the analysis results. Specifically, anomaly detection is performed on historical performance data. First, the performance data for the historical period is sorted by value. The historical performance data for the historical period can be sorted from smallest to largest value. Assuming there are n data points, the sorted data are denoted as x(1), x(2), ..., x(n), where x(1) is the minimum value and x(n) is the maximum value.
[0101] For example, suppose a salesperson's performance data for the past 7 days is: [100, 120, 90, 110, 500, 105, 115], which, after sorting, becomes: [90, 100, 105, 110, 115, 120, 500]. The first quartile, Q1, is the data at the 25th percentile, and the third quartile, Q3, is the data at the 75th percentile. The formulas for calculating the position are: Q1 position = (n+1) × 0.25; Q3 position = (n+1) × 0.75.
[0102] In the example above, Q1 is at position 2, corresponding to the second sorted data, 100; Q3 is at position 6, corresponding to the sixth sorted data, 120. Therefore, Q1 = 100, Q3 = 120.
[0103] After obtaining the first quartile (Q1) and third quartile (Q3) of the historical performance data, the interquartile range (IQR) is calculated as IQR = Q3 - Q1. If a data point is less than Q1 - 1.5 × IQR or greater than Q3 + 1.5 × IQR, the performance data for that historical period is marked as an outlier and removed. After removal, a stable set of historical performance data (historical performance) is obtained, which is used for subsequent statistical calculations.
[0104] User identifier refers to a user's unique identity. Users can be salespersons, administrators, etc., such as a salesperson ID or account, used to distinguish the performance data of different salespersons. The preset time window refers to the time range within which performance data needs to be queried. The target aggregation result within the preset time window can be read from the preset storage structure based on the user identifier, serving as the actual performance after executing the daily report worksheet. The target aggregation result is obtained by the stream processing engine pre-retrieving order event streams from the message queue and performing incremental aggregation calculations on the order amounts in the order event streams.
[0105] This application also includes a method to monitor order data in real time via a stream processing engine, respond to changes in order data, obtain order change data, generate order events based on the order change data, and the order event carries at least one of the following: user identifier, order amount, order status, and order event generation time; the stream processing engine sends the order event to a message queue, wherein the order event is partitioned and stored in the message queue according to the hash value of the user identifier.
[0106] Please see Figure 4 The order system can be monitored in real time using an order change capture component. This component tracks order data and responds to detected changes in the order system by retrieving the change data. For example, the Canal component can be used to parse the binlog logs of the order system / MySQL order database to capture change records in the order data table in real time. Order events are generated based on this change data. Order data changes include order creation, order status changes (e.g., pending payment, completed, cancelled), and order amount updates. Order events carry information such as user identifier, order amount, order status, and order event generation time. Here, the user identifier is a unique identifier corresponding to each salesperson's account; the order amount refers to the foreign trade transaction amount, consistent with the salesperson's performance statistics; the order status refers to the current order status, such as pending payment, completed, cancelled; and the order event generation time uses a UTC+8 timestamp to align with the timeline of work hours and communication data.
[0107] Order events are sent to a message queue, where they are partitioned and stored in the message queue according to the hash value of the user identifier.
[0108] Specifically, the message queue can be a Kafka message queue, used to achieve asynchronous data transmission and decoupling. Next, the Kafka message queue modulo the number of partitions (e.g., 32 partitions) using the hash value of the user identifier, ensuring that order events corresponding to the same user identifier enter the same partition. This guarantees the order of data during subsequent processing and avoids errors in sales performance data statistics.
[0109] In response to retrieving an order event stream from the message queue via the stream processing engine, the processing progress of the order event stream is indicated by a progress tag.
[0110] The stream processing engine can be the Flink stream processing engine, which supports event-time processing and state management. An event time window refers to a time interval divided according to the occurrence time of an order event, such as a fixed time window (e.g., a 1-hour window) or a sliding time window (with a sliding step of 1 day). For each newly arriving order event, only the aggregation results corresponding to the salesperson and time window of that event are updated, without repeating calculations on historical data, thereby reducing computational complexity and improving processing efficiency.
[0111] The progress label can specifically be a watermark. To address the issue of out-of-order arrival of order events, this application introduces a watermark to indicate the current event processing progress. The watermark is a monotonically increasing timestamp, indicating that all data before that timestamp has arrived. When the watermark exceeds the maximum boundary of the aggregation time window, aggregation calculation for that window is triggered. Specifically, the preset delay range is 500ms to 1000ms. Late data is received within this delay range, and the aggregation results within the corresponding time window are updated with compensation. Late data exceeding this range is no longer updated with compensation, balancing data accuracy and processing efficiency.
[0112] In response to the arrival time reaching the maximum boundary of the aggregation time window, the order events received within the aggregation time window are aggregated to obtain the window aggregation result. Order events arriving after the maximum boundary of the aggregation time window are treated as late order events. If the difference between the arrival time of a late order event and the maximum boundary of the aggregation time window does not exceed a preset delay duration, the window aggregation result is updated based on the late order event to obtain the target aggregation result. If the difference exceeds the preset delay duration, no compensation update is performed based on the late order event with a difference exceeding the preset delay duration, and the window aggregation result is used as the target aggregation result. In response to the order amount in an order event being negative or exceeding a preset reasonable range, the order event is marked as an abnormal order, not included in the aggregation calculation, and an abnormal prompt message is pushed.
[0113] An aggregation time window refers to the time interval within which the stream processing engine aggregates data, such as a 5-minute rolling window or a 1-hour sliding window. The maximum boundary refers to the end time of this time window. For example, for a window from 10:00:00 to 10:05:00, its maximum boundary is 10:05:00. When the time reaches 10:05:00, the aggregation calculation for all order events received within that window is triggered, that is, the order amounts of all order events within the window are summed to obtain the window aggregation result.
[0114] The window aggregation result is a provisional result, representing the initial aggregated performance data within that time window. However, this result may not be final because late events may exist. This is because in real-world stream processing scenarios, due to network latency, failures, or issues with the data source itself, some order events may arrive at the stream processing engine after the maximum boundary of their respective time window. For example, if an order event occurs at 10:03:00 but arrives at 10:05:30 due to network latency, this event is considered a late order event relative to the 10:00:00 to 10:05:00 window. Order events arriving after the maximum boundary of the aggregation time window will be considered late order events.
[0115] The preset delay duration refers to the time range within which late events are allowed to be compensated for and updated, preferably set to 500ms to 1000ms. This delay duration is pre-configured in the progress tagging mechanism to balance data accuracy and processing efficiency.
[0116] For example, suppose the aggregation time window is from 10:00:00 to 10:05:00, and the preset delay duration is 1000ms (1 second). If a late order event arrives at 10:05:00:500 (exceeding the maximum boundary of 500ms), the difference of 500ms is less than the preset delay duration of 1000ms. Therefore, the late order event is included in the window aggregation, and the aggregation result of the window is compensated and updated (that is, the order amount of the event is added to the original aggregation result) to obtain the updated target aggregation result.
[0117] If a late order event arrives at 10:05:01:500 (exceeding the maximum boundary of 1.5 seconds), the difference of 1500ms is greater than the preset delay duration of 1000ms. Therefore, no further compensation update will be made for this late order event, and it will be discarded (i.e., it will not participate in the aggregation of this time window). In this case, the previously obtained window aggregation result is directly used as the target aggregation result. This ensures data accuracy while avoiding processing delays caused by indefinitely waiting for late events.
[0118] In response to order events where the order amount is negative or exceeds a preset reasonable range, the order event is marked as an abnormal order, excluded from aggregate calculations, and an exception notification is pushed to the system. The preset reasonable range can be pre-defined based on business scenarios, such as adapting to the order amount range for foreign trade, set to 0 to 10 million yuan. When the order amount is negative (e.g., a returned order not correctly converted) or exceeds this range, the order event is automatically marked as an abnormal order and excluded from aggregate calculations to prevent abnormal data from interfering with performance statistics. Simultaneously, an exception notification is pushed to the administrator for manual verification and handling.
[0119] This application can effectively handle the problem of out-of-order order events caused by network latency or latency, balancing processing efficiency while ensuring the accuracy of performance data; through an abnormal order filtering mechanism, it avoids abnormal data from interfering with performance statistics results.
[0120] After the stream processing engine determines the target aggregation result, the target aggregation result can be written into the preset storage structure, and a composite tree joint index can be built in the preset storage structure based on the user identifier and the time dimension.
[0121] A pre-defined storage structure is used to store the target aggregation results output by the stream processing engine, enabling subsequent evaluation modules to quickly query performance data. In one specific implementation, the pre-defined storage structure is implemented using a MySQL database and includes at least a daily aggregation data table and a periodic aggregation data table to support performance query needs at different granularities, such as single-day performance queries, custom periodic performance queries, and historical multi-period performance queries. The target aggregation result refers to the final performance data after incremental aggregation calculation and late event processing; each target aggregation result corresponds to a specific user identifier and a specific time window.
[0122] To support fast queries, a composite tree index is built in the preset storage structure based on user ID and time dimension. The composite tree index can be a B+ tree index. Specifically, the composite tree index uses user ID as the first index field and time as the second index field. Using user ID as the first index field allows for quick data location by salesperson, narrowing the query scope; using time as the second index field allows for quick data filtering by time range after locating a specific salesperson, such as querying salesperson A's performance in the last 7 days.
[0123] During index construction, the stored target aggregation results are grouped according to user identifiers, and within each group, the target aggregation results are arranged in chronological order. Specifically, firstly, all target aggregation results are grouped by user identifiers, and records with the same user identifier are grouped into the same data block. Then, within each data block, the target aggregation results are arranged in chronological order (e.g., ascending or descending by date). Through the above grouping and sorting, an ordered leaf node linked list structure is finally formed. In a B+ tree index, leaf nodes store pointers or data values of data records sequentially, allowing range queries to quickly retrieve data within a continuous time period through sequential scanning, without requiring table lookups or reducing the number of table lookups.
[0124] This application also includes a fault tolerance mechanism. When a message queue (such as Kafka) fails, the system temporarily stores order events on the local disk, continuously monitors the fault recovery status of the message queue, and automatically synchronizes the temporarily stored order events on the local disk to the message queue in response to the message queue's fault recovery. After synchronization is complete, the temporary storage data on the local disk is deleted.
[0125] When a stream processing engine (such as Flink) fails, a master-slave backup mechanism is employed to ensure uninterrupted aggregation computation. Specifically, a primary stream processing engine and a backup stream processing engine are deployed, with the backup engine synchronizing its computation status with the primary engine in real time. When a primary engine failure is detected, the system automatically switches to the backup engine to continue aggregation computation. Upon recovery of the primary engine, the system synchronizes the backup engine's computation status back to the primary engine and switches back to the primary engine.
[0126] When a sales performance query request is received, the system retrieves the aggregated results for the corresponding user ID within a specified time range from a pre-defined storage structure, based on the user ID. The specific query process is as follows: First, the system locates the corresponding user ID group in the B+ tree index based on the user ID in the query request. Second, within the located group, a range scan is performed according to the time range in the query request, using the time order in the index. Finally, all target aggregated results within that time range are obtained and returned to the evaluation module. Because the index is already grouped by user ID and sorted by time, there is no need to scan the entire table or perform real-time statistical calculations during the query. The query response time can be controlled within 100ms, significantly improving query response speed and reducing resource consumption.
[0127] By constructing a composite B+ tree index with user identifier as the first index field and time as the second index field, and organizing the data according to the method of "grouping by user identifier and sorting by time within the group", this application enables fast querying of performance data. During the query, it is only necessary to locate the group corresponding to the user identifier, and then perform a range scan in time order to obtain the target data. There is no need to scan the entire table or perform real-time statistical calculations, which significantly improves the query response speed and reduces resource consumption.
[0128] After obtaining the actual and historical performance data, the mean and standard deviation of the historical performance can be calculated. Then, the standardized deviation of the actual performance relative to the historical performance can be calculated. The specific calculation method is as follows: Standardized deviation Z = (Experimental performance - average of historical performance) / standard deviation of historical performance.
[0129] Obtain a threshold and compare it with the standardized deviation. If the standardized deviation is less than or equal to the threshold, it is determined that the performance change may be due to random fluctuations, and the processing is stopped, thus avoiding misjudgment problems caused by simple comparison. If the standardized deviation is greater than the threshold, it indicates that the actual performance improvement is statistically significant.
[0130] In response to the completion of the standardized deviation calculation, the experimental performance of the current period is included in the historical performance data set; the historical mean and historical standard deviation are recalculated using an incremental update method: new mean = (original mean × original sample size + new experimental performance) / (original sample size + 1); the new standard deviation is calculated based on the original sample size, original mean, original standard deviation and new experimental performance, without having to traverse all historical data.
[0131] Specifically, call logs can be collected and transcribed into text; chat logs can be collected and text obtained; tags can be set for the call text and chat text, including the user identifier and the collection time of the text; the call text and chat text can be grouped according to the user identifier, and the call text and chat text in each group can be arranged in the order of the collection time to form a task communication record.
[0132] Please see Figure 5 In one implementation, the chat log can refer to the instant messaging records between the salesperson and the customer. The salesperson edits and sends messages through the built-in chat entry, and the daily worksheet dynamically adjusts the device to simultaneously store the chat messages in the local database, while also pushing the messages to the client through the access channel of the CRM's built-in chat module.
[0133] The daily report worksheet's dynamic adjustment device counts the number of characters in each message, filters out emoticons and meaningless symbols, and only counts valid business text. After the statistics are completed, the daily report worksheet's dynamic adjustment device transmits the statistical results, such as chat character count, keyword hit count, and keyword coverage rate, to the internal communication analysis module, without transmitting the complete original chat content.
[0134] Call logs can refer to the records of telephone communication between salespersons and customers. When a salesperson initiates or answers a customer call through the call system, the system generates a call start event and sends it to the dynamic adjustment device of the daily report worksheet. In response to receiving the call start event, the dynamic adjustment device of the daily report worksheet records the call start time (e.g., using a timer to record a timestamp). In response to the call ending, the system generates a call hang-up event and sends it to the dynamic adjustment device of the daily report worksheet. In response to receiving the call hang-up event, the dynamic adjustment device of the daily report worksheet records the call end time, calculates the call duration by subtracting the call start time from the end time, and transmits the call duration to the internal communication analysis module.
[0135] In addition, the daily worksheet dynamic adjustment device obtains call records through the built-in call interface and records the call voice at the same time. It automatically transcribes the call recording into call text by calling a third-party speech recognition (ASR) API.
[0136] Label the call text and chat text separately. Each label includes the user identifier corresponding to the text and the collection record time. The collection record time is the timestamp generated for each communication record, using a uniform format (e.g., UTC+8) for easy chronological arrangement later. Group the call text and chat text according to the user identifier, and then arrange the call text and chat text within each group in chronological order to form the task communication record.
[0137] Specifically, all communication records are grouped according to user identifiers, and call texts and chat texts for the same user identifier are grouped into the same data block. Within each data block, call texts and chat texts are sorted according to the chronological order of their collection time, forming task communication records arranged by time. In this way, each salesperson's task communication record is a sequence of communication records arranged in chronological order, which facilitates subsequent keyword extraction and determination of effective communication.
[0138] The communication analysis module can obtain task communication records, including call text and chat text, from the data acquisition module. After obtaining the task communication records, it can extract business keywords related to order progress. The task communication records corresponding to the business keywords that match the preset keywords in the preset keyword dictionary are taken as valid communication records. The communication weight coefficient is determined according to whether the valid communication record is a call text or a chat text. The valid communication value is calculated based on the number of valid communications and the communication weight coefficient.
[0139] Keywords refer to core terms that reflect business progress, such as quotations, order placement, specification confirmation, delivery dates, payment methods, and product models. These keywords are used to determine whether communication is effective. Task communication records corresponding to business keywords that match the preset keyword dictionary are considered valid communication records. The preset keyword dictionary is a pre-built set of business keywords containing the aforementioned core business terms related to order progress. The keywords in each communication record are matched against the preset keyword dictionary; if a match is found, the communication record is marked as valid.
[0140] Based on the call or chat text to which the valid communication record belongs, a corresponding communication weight coefficient is determined. This weight coefficient distinguishes the importance of different communication types to business progress. For example, telephone communication is generally more direct and efficient than text communication; therefore, the weight coefficient for call records can be higher than that for chat records. In one specific implementation, the weight coefficient for call records is set to 1.2, and the weight coefficient for chat records is set to 0.8.
[0141] The effective communication value is calculated based on the number of effective communications and the communication weighting coefficient.
[0142] Specifically, the formula for calculating the effective communication value is: Effective Communication Value = Σ (Number of Effective Communication Records × Corresponding Weighting Coefficient). That is, for each effective communication record, multiply it by the corresponding weighting coefficient according to its type (call or chat), and then sum all the weighted values to obtain the effective communication value.
[0143] Step 102: Generate a standardized communication value based on the effective communication value and the task complexity of the target task, and combine the standardized communication value with the performance improvement after executing the daily worksheet to obtain the communication contribution value.
[0144] Specifically, the task complexity of the target task is obtained based on the influencing factors of the target task, which include the number of task execution steps, the number of customers involved in the task, and the task duration of at least one of the following: obtain the weight coefficient of each influencing factor; sum the weighted values of each influencing factor and its corresponding weight coefficient to obtain the task complexity; divide the effective communication value by the task complexity to obtain the standardized communication value; use the difference between actual performance and historical performance as the performance improvement amount, and calculate the communication contribution value based on the standardized communication value and the performance improvement amount.
[0145] The number of task execution steps refers to the number of operational steps required to complete the task. The number of customers involved in the task refers to the number of customers that need to be contacted for the task. The task duration refers to the estimated time required to complete the task.
[0146] For example, when the influencing factors include the number of task execution steps, the number of customers involved in the task, and the task duration, the formula for calculating task complexity can be: Task complexity = a × number of steps + b × number of customers + c × duration, where a, b, and c are preset weight parameters. These preset weight parameters can be pre-set according to the business scenario, for example, a = 0.5, b = 0.3, c = 0.2, or obtained through regression training on historical data. For instance, by acquiring historical task data from multiple periods and the corresponding performance completion rates, multiple linear regression or gradient descent algorithms can be used to automatically fit the optimal values of a, b, and c, with the goal of maximizing the correlation coefficient between task complexity and performance completion rate.
[0147] The standardized communication value is obtained by dividing the effective communication value by the task complexity. The formula for calculating the standardized communication value is: Standardized Communication Value = Effective Communication Value / Task Complexity. This metric measures the amount of effective communication effort per unit of task complexity, eliminating the influence of the task's inherent difficulty on communication input, and making communication efficiency comparable across different tasks.
[0148] The difference between actual performance and historical performance is used as the performance improvement amount, and the communication contribution value is calculated based on the standardized communication value and the performance improvement amount.
[0149] The formula for calculating performance improvement is: Performance Improvement = Actual Performance - Historical Average Performance. The communication contribution value represents the degree to which communication investment contributes to performance improvement. In one specific implementation, the communication contribution value is positively correlated with the standardized communication value. The standardized communication value can be directly used as the communication contribution value, or it can be calculated according to a preset mapping relationship. For example, the standardized communication value can be multiplied by a preset coefficient to obtain the communication contribution value. The preset coefficient can be customized as needed.
[0150] This application achieves structured processing of multi-source communication data by transcribing call logs and chat logs into text and sorting them by user identifier and time to form task communication records; it eliminates the interference of invalid communication on the analysis results by calculating the effective communication value through keyword matching and weight coefficients; and it normalizes the communication input by task complexity to eliminate the influence of the difficulty of the task itself, making the communication contribution value more objective and accurate, and providing a reliable data foundation for subsequent attribution analysis.
[0151] Step 103: Construct a set of time characteristic data for the target task, and obtain the effective time of the target task based on the set of time characteristic data. Use the effective time and the actual performance after the execution daily work report to generate the unit time output of the target task. Combine the unit time output and the performance improvement to obtain the execution contribution value.
[0152] Please see Figure 6 The data collection module can automatically collect employees' active time on work-related software through the desktop behavior collection SDK, eliminating the need for manual reporting. The desktop behavior collection SDK is a software toolkit embedded in the salesperson's terminal device, used to monitor and record user actions. Work-related software refers to applications related to work task execution, such as foreign trade CRM, customer chat tools, and business documents. These software programs are used to perform tasks; salespeople primarily use them for customer follow-up, order processing, and document editing during their work. Active window detection and input device monitoring technology distinguish between active working states and idle / non-working states.
[0153] For example, the system can monitor currently active windows (i.e., the windows the user is interacting with) in real time to determine whether the application to which the window belongs is work-related software. For instance, if the currently active window is a CRM application, it is determined to be work-related; if the currently active window is a game or video player, it is determined to be non-work-related software. The system can also monitor keyboard and mouse input events in real time through device listening, recording the time intervals between adjacent input events.
[0154] In response to detecting user operation of the target software and the input interval of the typing device being less than or equal to a preset interval threshold, the user operation period is determined to be a working period. The duration of the working period is accumulated to obtain the standard working hours. The target software is used to perform the target task. The typing device includes at least one of a keyboard, mouse, and touch screen. In response to not detecting user operation of the target software, or the input interval of the typing device being greater than the preset interval threshold, the user operation period is determined to be a non-working period and is not counted as valid working hours. The user-reported working hours are obtained. The standard working hours and the user-reported working hours are associated and stored to form a working hour feature data set. The working hour feature data set contains multiple working hour records. Each working hour record includes multi-dimensional working hour data features, which include at least two of the following: standard working hours, user-reported working hours, total number of input events, active duration of the software, continuous idle time, and working hour deviation value.
[0155] The preset threshold is a critical value for the input interval used to distinguish between effective work and idle states, and is preferably set to 30 seconds. That is, when a user continuously operates work-related software and the time interval between two adjacent inputs (keyboard taps or mouse clicks) does not exceed 30 seconds, the user is determined to be in a focused work state, and this period is counted as effective working hours.
[0156] For example, if a user continuously operates in the CRM, with at least one input method (keyboard, mouse, or touchscreen) every few seconds, then valid working hours are continuously accumulated. If a user operates continuously for 2 hours, with each input interval less than 30 seconds, then 2 hours of valid working hours are accumulated.
[0157] If no user operation of the target working software is detected, or if the input interval of at least one of the keyboard, mouse, or touch screen exceeds a preset interval threshold, the user operation period is determined to be a non-working period and is not included in the effective working hours.
[0158] Specifically, if a user switches to non-work software (such as games, video software, web browsing, etc.), even if there is input activity, it will not be counted as valid working hours. Alternatively, even if a user is on work software, but has no input activity for a long time (such as reading documents, thinking, answering phone calls, etc.), if the input interval exceeds a preset threshold (such as 30 seconds), this idle period will not be counted as valid working hours.
[0159] In this way, the actual effective working time of employees can be collected, eliminating interference from non-work activities and idle time, which fits the daily customer follow-up and order processing work scenarios of foreign trade salespersons. The data collection module transmits the collected working time characteristic data set to the working time analysis module.
[0160] The work time analysis module receives a set of work time feature data, selects any work time data feature dimension, randomly generates a segmentation threshold within the selected value range of the work time data feature dimension, and divides the work time feature data set into two subsets according to the segmentation threshold. The process of selecting the work time data feature dimension, generating the segmentation threshold, and dividing the subset is repeated on each subset until at least one subset contains only a single work time record, or the preset maximum number of segmentation layers is reached. The number of times each work time record is segmented from the work time feature data set into subsets is recorded as the isolation path length of each work time record. Multiple random segmentation processes are performed on the same work time record, and the average isolation path length is calculated to obtain the average path length. If the average path length is less than a preset length threshold, the user-reported work time corresponding to the work time record with the average path length less than the preset length threshold is determined to be abnormal. In response to the user-reported work time being abnormal, standard work time is used as the valid work time.
[0161] In practical applications, in addition to automatically collected work hours, salespeople can also manually enter work hour data. Since work scenarios such as telephone communication, offline meetings, and field visits cannot be fully covered by automatic data collection, user-reported work hours can serve as a supplement. However, user-reported work hours may contain false, misreported, or incomplete information, thus requiring anomaly detection and correction.
[0162] First, user-reported work hours are obtained, and a work hour feature data set is constructed. The work hour feature data set contains multiple work hour records, and each work hour record corresponds to a sample (e.g., the work data of a salesperson on a certain day). Each work hour record includes multi-dimensional work hour data features, which specifically include at least two of the following: standard work hours, user-reported work hours, total number of input events (total number of keyboard and mouse inputs), active duration of work software (total active window duration of work-related software), continuous idle time (length of the longest continuous idle period), and deviation value from historical average work hours (the difference between the current work hour and the historical average work hour).
[0163] The Isolation Forest algorithm is used to detect whether user-reported working hours are abnormal. The Isolation Forest algorithm is an anomaly detection method based on the concept of isolation. Its core idea is that abnormal data usually deviates from the normal distribution in the feature space and is easier to isolate (i.e., it can be separated with less random partitioning).
[0164] Specifically, first, select any one of the time-related data feature dimensions from the time-related data set. Then, randomly generate a splitting threshold within the current value range of this selected feature dimension. Divide the time-related data set into two subsets according to this threshold. For example, if standard working hours are selected as the time-related data feature dimension, with a value range of 0-12 hours, and a randomly generated splitting threshold of 6 hours, then all time-related records with standard working hours ≤ 6 hours are assigned to the left subset, and those > 6 hours are assigned to the right subset. Then, repeat the above operation (randomly selecting the time-related data feature dimension, randomly generating the splitting threshold, and dividing the dataset) on each subset until either a subset contains only a single time-related record (i.e., the sample is isolated) or the preset maximum number of splitting layers (e.g., a preset maximum number of splitting layers of 10) is reached.
[0165] The number of times each work hour record is segmented before it can be isolated is recorded as the isolation path length for that record. Fewer segmentations (shorter path length) indicate a greater likelihood of isolation and a higher probability of anomaly. For example, an abnormal work hour record might be isolated after only 3 segments, while a normal work hour record might require 8 segments. To improve detection stability, the same work hour record is randomly segmented multiple times (e.g., 100 times), and the average isolation path length obtained each time is taken as the average path length for that work hour record. When the average path length is less than a preset threshold, the user-reported work hour corresponding to that work hour record is considered abnormal. When the average path length is greater than or equal to the preset threshold, the user-reported work hour corresponding to that work hour record is considered normal. The preset threshold is an empirical value derived from historical data statistics; for example, it can be set as a certain percentage of the expected average path length.
[0166] If the user-reported work hours are abnormal but standard work hours exist, the standard work hours will be used as the effective work hours for the target task. The effective work hours for the target task are the final determined effective work hours used for subsequent calculations. When abnormal user-reported work hours are detected, it indicates that the salesperson may have falsely reported or misreported work hour data. In this case, the automatically collected standard work hours will be used as a substitute to ensure data objectivity. If the user-reported work hours are normal, the combined value of the user-reported work hours and the standard work hours will be used as the effective work hours for the target task. Normal user-reported work hours indicate that the user-reported work hours are highly reliable, but the standard work hours also have their objective value. For example, scenarios such as telephone communication and meetings may not be automatically collected. The combined value can compensate for the shortcomings of both, combining the user's supplementary information for special scenarios with the objectivity of the system's automatic collection. The method for obtaining the combined value can be a weighted average of the user-reported work hours and the standard work hours, or the maximum value of the user-reported work hours and the standard work hours, or this can be dynamically adjusted according to the business scenario. If the standard work hours are missing, the average work hours of the target historical period will be used as the effective work hours. The standard working hours for the current period are missing and cannot be used as a reference. In this case, working hours from adjacent historical periods are used as compensation to fill the data gap and ensure the continuity of subsequent calculations. The average working hours for the target historical period refer to the average of the effective working hours of the previous period and the effective working hours of the next period. If data for the next period is unavailable, only the effective working hours of the previous period are used. For example, if standard working hour data for the current period is missing, the effective working hours of the previous period and the next period are obtained, their average is calculated as compensation, and then entered into the effective working hours. In this way, when users report abnormal working hours, objective data sources are automatically used for correction, avoiding the impact of manual reporting errors on subsequent performance comparison analysis, ensuring the accuracy and completeness of working hour data, and providing a reliable data foundation for subsequent calculations of unit working hour output and execution contribution value.
[0167] This application constructs a multi-dimensional working hour feature data set and uses the isolated forest algorithm to detect anomalies in user-reported working hours, effectively identifying abnormal reporting behaviors such as false reporting and misreporting. When an anomaly is detected, it automatically corrects the data using the automatically collected standard working hours. When the automatically collected data is missing, it compensates for the missing data using the effective working hours of adjacent historical periods, ensuring the accuracy and completeness of the working hour data and providing a reliable data foundation for the subsequent calculation of unit working hour output and execution contribution value.
[0168] Once the effective working hours are determined, the execution contribution value can be calculated based on the effective working hours and actual performance. The execution contribution value measures the degree to which improved execution efficiency contributes to performance growth. Specifically, the actual performance is divided by the effective working hours to obtain the target unit hourly output. Effective working hours are the effective working hours for the current period determined after automatic data collection, anomaly detection, and correction. Actual performance is the sales performance within the current period after executing the daily work report. The target unit hourly output reflects the salesperson's performance output efficiency per unit of working hours within the current period. The process involves obtaining effective working hour data from historical periods to generate a historical working hour sequence, performing time-series decomposition on the historical working hour sequence to obtain a historical working hour baseline, dividing historical performance by the historical working hour baseline to obtain historical unit hourly output, calculating the rate of change of target unit hourly output relative to historical unit hourly output, and using the difference between actual performance and historical performance as the performance improvement amount. The execution contribution value is then calculated based on the rate of change and the performance improvement amount.
[0169] The process of obtaining effective working hours data within a historical period to generate a historical working hour series, and then performing time-series decomposition on the historical working hour series to obtain a historical working hour benchmark, includes: sequentially selecting each time point in the historical working hour series as a center point, selecting a preset number of effective working hour values from adjacent time points of the center point, calculating the smoothed value of the center point, and obtaining a trend term series; taking the difference between the effective working hour values of time points in the historical working hour series and the smoothed values of the corresponding time points in the trend term series as a detrended series; grouping the values in the detrended series at the same period position according to a preset period length, calculating the average value of each group, and obtaining a period term series; subtracting the smoothed value of the corresponding time point in the trend term series from the effective working hour value of each time point in the historical working hour series, and then subtracting the period value of the corresponding time point in the period term series, to obtain a residual term series; and calculating the average value of the smoothed values of all time points in the trend term series as the historical working hour benchmark.
[0170] Specifically, effective working hours data within historical periods refer to the effective working hours collected and corrected within these periods, while historical performance refers to sales performance data within these periods. Time-Trend Decomposition using Loss (STL) is a method that decomposes a time series into trend, period, and residual terms. Through STL, the interference of seasonal factors (such as end-of-month overtime and holidays) on working hour data can be eliminated, resulting in a more stable historical working hour benchmark.
[0171] The specific steps of time series decomposition are as follows: First, each time point in the historical work-hour sequence is selected as the center point. Then, a predetermined number of adjacent time points (e.g., 5 points before and after the center point) are selected. A weighted average is used to calculate the smoothed value of the center point. The smoothed values of all time points constitute the trend term sequence, reflecting the long-term trend of the work-hour data. The effective work-hour value of each time point in the historical work-hour sequence is subtracted from the smoothed value of the corresponding time point in the trend term sequence to obtain the detrended sequence. This sequence eliminates the influence of long-term trends while retaining periodic and random components. The values in the detrended sequence are grouped according to a predetermined period length (e.g., 7 days or 30 days). Values at the same position within the same period are grouped together (e.g., day 1, day 8, and day 15 are grouped together). The average value of each group is calculated to obtain the periodic term sequence, which reflects the seasonal patterns in the work-hour data, such as lower work-hours on weekends and higher work-hours at the end of the month. The historical work-hour sequence is subtracted from the trend term sequence and the periodic term sequence to obtain the residual term sequence, representing the random fluctuations in the time series data that cannot be explained by trends and periods. The average of the smoothed values at all time points in the trend term sequence is calculated and used as the historical working hour benchmark. Since the trend term sequence eliminates seasonal cyclical fluctuations, using the average of the trend term as the historical working hour benchmark can effectively avoid the impact of seasonal factors such as end-of-month overtime and holidays on working hour judgment, making the historical working hour benchmark more stable and objective.
[0172] After obtaining the historical output per unit of labor hours, the rate of change of output per target unit of labor hours relative to the historical output per unit of labor hours is calculated using the formula: Rate of Change = (Target Output per Unit of Labor Hour - Historical Output per Unit of Labor Hour) / Historical Output per Unit of Labor Hour. Then, the difference between the actual performance of the current period and the average performance of the historical period is taken as the performance improvement, calculated using the formula: Performance Improvement = Actual Performance - Historical Average Performance. Finally, the execution contribution value is calculated based on the rate of change of output and the performance improvement. In one specific implementation, the execution contribution value is positively correlated with the rate of change of output. The execution contribution value can be calculated by multiplying the performance improvement by the normalized value of the rate of change of output, or it can be calculated according to a preset mapping relationship.
[0173] By comparing the output per unit of working hours in the current cycle with the output per unit of working hours in historical cycles, changes in execution efficiency can be quantified. Through time series decomposition, the historical working hour sequence is broken down into trend terms, periodic terms, and residual terms, and the average value of the trend term is used as the historical working hour benchmark. This effectively eliminates the interference of seasonal factors such as end-of-month overtime and holidays on working hour judgment, making the historical working hour benchmark more stable and objective. Based on this, the output change rate and execution contribution value are calculated, providing accurate data support for distinguishing the different impacts of improved execution efficiency and increased working hour input on performance.
[0174] Step 104: Evaluate the rationality of the daily report worksheet based on the communication contribution value and the execution contribution value; if it is rational, maintain the current version of the daily report worksheet; if it is not rational, optimize and update the daily report worksheet.
[0175] Specifically, the sum of the communication contribution value and the execution contribution value is calculated as the total contribution value; the ratio of the communication contribution value to the total contribution value and the ratio of the execution contribution value to the total contribution value are calculated separately to obtain the communication contribution percentage and the execution contribution percentage; the communication contribution percentage and the execution contribution percentage are compared; if the communication contribution percentage is less than the execution contribution percentage, the daily report worksheet is deemed reasonable.
[0176] If the proportion of communication contribution is greater than or equal to the proportion of execution contribution, the daily worksheet is deemed unreasonable; the execution data of the daily worksheet is analyzed to generate an attribution report.
[0177] The communication contribution value represents the degree to which communication input (call duration, chat word count, etc.) contributes to performance growth, while the execution contribution value represents the degree to which improved execution efficiency (increased output per unit of work hour) contributes to performance growth. The formula for calculating the total contribution value is: Total Contribution Value = Communication Contribution Value + Execution Contribution Value. The total contribution value equals the performance improvement, which is the difference between actual performance and historical average performance.
[0178] Calculate the ratio of communication contribution value to total contribution value and the ratio of execution contribution value to total contribution value to obtain the communication contribution percentage and execution contribution percentage respectively.
[0179] The formula for calculating the percentage of communication contribution is: Percentage of communication contribution = Communication contribution value / Total contribution value.
[0180] The formula for calculating the percentage of execution contribution is: Execution contribution percentage = Execution contribution value / Total contribution value.
[0181] The sum of the communication contribution ratio and the execution contribution ratio is 1. The communication contribution ratio reflects the share of communication investment in performance growth, while the execution contribution ratio reflects the share of improved execution efficiency in performance growth. The communication contribution ratio and the execution contribution ratio are compared, and the reasonableness of the daily worksheet is evaluated based on the comparison results. If the communication contribution ratio is less than the execution contribution ratio, the daily worksheet is deemed reasonable.
[0182] When the contribution of communication is less than the contribution of execution, it indicates that the contribution of improved execution efficiency to performance growth is greater than the contribution of increased communication investment. In other words, performance growth mainly stems from the improved execution efficiency brought about by the daily worksheet (such as task standardization, process optimization, and increased time utilization), rather than simply increasing call duration or chat frequency. In this case, the current daily worksheet is deemed reasonable, its integration solution is effective, and it can continue to be used.
[0183] If the proportion of communication contribution is greater than or equal to the proportion of execution contribution, the daily worksheet is deemed unreasonable. When the communication contribution proportion exceeds the execution contribution proportion, it indicates that increased communication investment contributes more to performance growth than improved execution efficiency. In other words, performance growth primarily stems from increased call duration and chat frequency, rather than the improved execution efficiency brought about by the daily worksheet. In this case, the current daily worksheet is deemed unreasonable, its integration solution is ineffective, and further analysis and optimization are needed.
[0184] By calculating and comparing the contribution ratios of communication and execution, the main sources of performance growth can be objectively determined: when the execution contribution ratio is greater than the communication contribution ratio, it indicates that the improved execution efficiency brought about by the daily worksheet is the dominant factor in performance growth, and the daily worksheet is deemed reasonable; conversely, it is deemed unreasonable. This evaluation method effectively distinguishes the different impacts of process optimization, communication input, and working hours input on performance, avoiding misjudging overtime or increased communication as the effect of daily worksheet integration, and providing accurate data support for the continuous optimization of the daily worksheet.
[0185] Please see Figure 7 When the contribution of communication equals the contribution of execution, the two are roughly equal, and it is impossible to clearly determine the dominant factor. This is also considered unreasonable and requires further analysis, triggering subsequent attribution analysis and optimization processes.
[0186] The evaluation results are output to the terminal device for user viewing. If deemed unreasonable, the attribution analysis module is automatically triggered to analyze the contribution ratio of each input indicator to performance, generate an attribution report, and determine optimization strategies based on the attribution report, iteratively optimizing the daily worksheet.
[0187] For example, a preset time window is set to the current period, and at least one of the call duration, chat word count, and effective working hours in the current period is queried as an input indicator; the input indicator is input into a multivariate analysis model, and the multivariate analysis model is used to generate the contribution ratio of each input indicator to the performance with the performance in the historical period as the dependent variable and the input indicator as the independent variable; an attribution report is generated based on the contribution ratio of each input indicator to the performance.
[0188] Multivariate analysis is a type of multiple linear regression model used to analyze the influence of multiple independent variables (input indicators) on the dependent variable (performance). Call duration refers to the total call duration of the salesperson within the current period; chat word count refers to the total number of chat words of the salesperson within the current period; and effective working hours refer to the effective working time of the salesperson within the current period. These three indicators, as independent variables, reflect the salesperson's input in communication and working hours.
[0189] The multivariate analysis model uses historical performance as the dependent variable and call duration, chat word count, and effective working hours as independent variables, and calculates the regression coefficients of each independent variable using the least squares method.
[0190] Specifically, during the training phase of the multivariate analysis model, performance data and corresponding input indicator data (call duration, chat word count, effective working hours) from historical periods are acquired to construct a multidimensional data sample set. Using historical performance Y as the dependent variable and call duration X1, chat word count X2, and effective working hours X3 as independent variables, a multiple linear regression model is constructed: Y=β0+β1·X1+β2·X2+β3·X3+ε; Wherein, β1, β2, and β3 are the regression coefficients for call duration, chat word count, and effective working hours, respectively, representing the degree and direction of the impact of each input indicator on performance. The larger the absolute value of the regression coefficient, the greater the impact of that indicator on performance; the positive or negative sign of the regression coefficient indicates the direction of the impact (positive or negative correlation).
[0191] The regression coefficients are solved using the least squares method to minimize the sum of squared errors between the predicted and actual performance. The regression coefficients are then normalized to obtain the contribution percentage of each input indicator to the performance. Because different input indicators have different units of measurement (call duration in hours, chat characters in thousands of characters, effective working hours in hours), the regression coefficients cannot be directly compared. Therefore, the regression coefficients need to be normalized, and the sum of the absolute values of each regression coefficient is used as the denominator to calculate the percentage of the absolute value of each regression coefficient. The formula for calculating the contribution percentage is: Contribution percentage of call duration = |β1| / (|β1|+|β2|+|β3|); Contribution percentage of chat word count = |β2| / (|β1|+|β2|+|β3|); Effective working hours contribution ratio = |β3| / (|β1|+|β2|+|β3|); For example, assuming the regression coefficients obtained using the least squares method are: β1 = 0.5 (call duration), β2 = 0.3 (chat word count), β3 = 0.2 (effective working hours), then the contribution percentages are: call duration contribution percentage = 0.5 / (0.5+0.3+0.2) = 50%, chat word count contribution percentage = 0.3 / 1.0 = 30%, and effective working hours contribution percentage = 0.2 / 1.0 = 20%. This indicates that call duration has the greatest impact on performance, followed by chat word count, while the impact of effective working hours is relatively small.
[0192] An attribution report is generated based on the contribution percentage. The attribution report includes the contribution percentage of each input indicator to performance, as well as the corresponding analytical conclusions and recommendations.
[0193] For example, an attribution report could include the following: The main drivers of this period's performance growth are analyzed as follows: call duration contributed 50%, chat word count contributed 30%, and effective working hours contributed 20%. It is suggested that call duration is the main driver of performance growth, and optimization of call efficiency and script training should be considered; the contribution of chat word count is moderate, and the current chat frequency can be maintained; the contribution of effective working hours is low, and attention should be paid to the efficiency of working hour utilization.
[0194] Attribution reports can be presented through visual charts (such as bar charts and pie charts) and pushed to terminal devices for decision-making reference. Attribution results are only output when the model fit meets a preset threshold condition; otherwise, no attribution is output to ensure the reliability of the analysis results. Here, model fit refers to the goodness of fit of the regression model (R²). 2 R represents the degree to which the model interprets the data. 2 The value ranges from 0 to 1, with a value closer to 1 indicating a better model fit. A preset goodness-of-fit threshold (e.g., Rfit) is also provided. 2 (≥ 0.8) Only when the model fit meets this threshold is the regression analysis result considered reliable and an attribution report output; otherwise, no attribution report is output to avoid giving misleading conclusions based on a low-quality model.
[0195] Optimization strategies can be determined based on the attribution report; the optimization strategies can be validated, and the daily report worksheet can be updated based on the validation results.
[0196] Specifically, the process involves obtaining the scheme parameters from the daily report worksheet, generating a state vector based on these parameters and the attribution report, inputting the state vector into a reinforcement learning model, and using the model to select at least one target action from a predefined action set that matches the optimization direction indicated by the attribution report. The historical returns of the target actions are calculated, and the target action with the highest historical return is output as the optimization strategy. The scheme parameters from the daily report worksheet include task splitting granularity, task allocation weights, the number of fields in the daily report, historical work hour baselines, communication input indicators, and performance indicators. The actions in the action set include: increasing or decreasing task splitting granularity, adjusting the number of fields in the daily report, modifying the task allocation weight ratio, and adjusting the task execution frequency.
[0197] The daily report worksheet's configuration parameters describe the multidimensional features of the current daily report worksheet configuration. These include: task breakdown granularity (i.e., the level of detail in SOP task breakdown, such as how many sub-tasks each task is divided into), task allocation weight (the proportion of importance of each task in execution), number of fields in the daily report (the number of fields included in the daily report worksheet), average working hours (the average effective working hours over a historical period), communication input metrics (call duration, chat word count, etc.), and performance metrics (historical performance data). The attribution report provides the contribution percentage of each input metric to performance, indicating optimization directions (e.g., if call duration contributes a low percentage, the optimization direction is to improve call efficiency).
[0198] The parameters of the above scheme are fused with the contribution percentage information in the attribution report to generate a multi-dimensional state vector. This state vector is a digital representation of the current daily worksheet configuration and effect evaluation results, serving as input to the reinforcement learning model. The state vector is then input into the reinforcement learning model, which, along the optimization direction indicated by the attribution report, selects at least one target action from a predefined set of actions that matches the optimization direction. The model calculates the historical payoff of each target action and outputs the target action with the highest historical payoff as the optimization strategy.
[0199] The reinforcement learning model is a policy learning model based on state, action, and reward mechanisms, trained using historical periodic data. This model can select the optimal action based on different states, achieving adaptive policy adjustment. Attribution reports guide action selection; for example, if the attribution report shows a low contribution from call duration, the model prioritizes actions related to call efficiency; if it shows a low contribution from effective working hours, it prioritizes actions related to working hour utilization. The predefined action set includes increasing or decreasing task splitting granularity, adjusting the number of fields in daily reports, modifying task allocation weight ratios, and adjusting task execution frequency, among other things.
[0200] In one implementation, historical scheme parameters of the daily report worksheet within a historical period, historical actions performed on the historical scheme parameters, and historical performance changes after performing the historical actions can be obtained. A sample set is constructed using the historical scheme parameters as state vectors, historical actions as actions, and historical performance changes as reward signals. Each sample contains an associated state vector, action, and corresponding reward signal. The sample set is input into a reinforcement learning model, and the reinforcement learning model is trained using the sample set. The historical rewards of actions under different state vectors are calculated, and the historical rewards of actions under different state vectors are stored as a policy table.
[0201] Reinforcement learning models require pre-training on historical data to learn the historical benefits of each action under different states. The model acquires the scheme parameters, adjustment behaviors, and corresponding performance changes within historical periods. The scheme parameters within the historical period record the configuration status of the daily worksheets for each historical period; the adjustment behaviors record the operations performed on the scheme parameters in history (such as adjusting task splitting granularity, modifying task allocation weights, etc.); and the performance change results record the change in performance (increase or decrease) after the adjustment behavior relative to before the adjustment. A sample set is constructed using the scheme parameters within the historical period as the state vector, the adjustment behaviors on the scheme parameters as actions, and the periodic performance change results as reward signals. Each sample contains a triplet of (state, action, reward), for example: State = {Task splitting granularity: fine, Number of fields in daily report: 10, ...}, Action = {Increase task splitting granularity}, Reward = +5% (performance improvement).
[0202] Then, the sample set is input into the reinforcement learning model, which is used to train the model to calculate the historical reward for each action in each state. The historical reward refers to the average reward obtained after performing the action in that state. For example, if action G is performed in state S, and there are 3 historical records with rewards of +5%, +3%, and -2%, then the historical reward is (+5%+3%-2%) / 3 = +2%.
[0203] The historical rewards of each action under different states are stored in a policy table. The policy table is a mapping structure, indexed by state, recording the historical rewards of each action in each state. During online decision-making, the policy table is queried based on the current state, and the action with the highest historical reward is selected as the optimization policy.
[0204] Through the training process described above, the reinforcement learning model continuously accumulates historical experience, and the policy table is constantly updated and optimized. In actual operation, after each cycle, new samples (states, actions, rewards) are added to the training set, and the policy table is updated periodically or in real time, enabling the model to adapt to changes in the business environment and achieve adaptive adjustment of the strategy. For example, the initial policy table may show that increasing call duration has historically yielded higher returns when the contribution of call duration is relatively low; after a period of learning, the policy table may discover that optimizing script training actions yields higher returns, thus automatically adjusting the optimization direction.
[0205] Increasing or decreasing the granularity of task breakdown refers to breaking down SOP tasks into finer subtasks or merging them into coarser task units. Adjusting the number of fields in the daily report means adding or removing fields from the daily report worksheet, such as adding fields for completion time and difficulties. Modifying the task allocation weight ratio means adjusting the importance weight of each task during execution, tilting resources towards critical tasks. Adjusting the task execution frequency means increasing or decreasing the execution frequency of certain tasks, such as changing daily tasks to weekly tasks.
[0206] Calculate the historical reward for each action, which is the average reward obtained after performing the action under similar historical conditions. The reward signal is determined based on performance changes: a positive reward is given when the periodic performance improves and the output per unit of work hour increases after implementing the new plan; a negative reward is given when the performance declines or work hours increase significantly. Select actions with higher historical rewards as the output of the optimization strategy.
[0207] Once the optimization strategy is determined, it can be applied to the experimental group and the daily report worksheet can be applied to the control group. The performance indicators of the two groups are statistically analyzed. When the performance indicators of the experimental group are higher than those of the control group, the optimization strategy is deemed effective. In response to the successful validation of the strategy, the daily report worksheet is updated.
[0208] The experimental and control groups can be two separate groups of salespeople, or a comparison of the same group of salespeople over different time periods. For example, salespeople can be randomly divided into experimental and control groups based on the hash value of their user identifiers. The experimental group uses the optimized strategy (i.e., the updated daily report worksheet), while the control group uses the original strategy (i.e., the original daily report worksheet). After one experimental period, the performance indicators (such as total sales and output per unit of time) of the two groups of salespeople are statistically analyzed. When the performance indicators of the experimental group are significantly higher than those of the control group, the optimization strategy is deemed effective. In response to the successful strategy verification, the low-code workflow engine is automatically triggered to execute the optimization workflow, creating optimization tasks and assigning them to the corresponding responsible persons according to the salespeople's organizational structure. The attribution analysis results and optimization strategies are then pushed as task attachments. After the person in charge completes the parameter adjustments, the results are automatically verified. Once the verification is successful, the new plan is written into the configuration table and automatically takes effect in the next cycle. In this way, by generating state vectors based on attribution reports, and using reinforcement learning models to select actions with higher historical returns as optimization strategies in the optimization direction indicated by the attribution reports, the automatic generation of optimization strategies is achieved. By defining a set of actions that includes dimensions such as task splitting granularity, number of daily report fields, task allocation weights, and execution frequency, the main adjustment directions for daily report worksheet optimization are covered. The effectiveness of the optimization strategies is ensured through historical return calculations and A / B testing (A / B testing is a method to verify the effectiveness of optimization strategies by comparing the effects of experimental and control groups). Finally, a closed-loop iteration of evaluation, attribution, optimization, and re-evaluation is formed, achieving continuous automatic optimization of the daily report worksheet.
[0209] In this application, the effectiveness of the strategy is judged by comparing the performance indicators of the experimental group and the control group, thus ensuring the reliability of the optimization strategy. By constructing a sample set and training a reinforcement learning model with the scheme parameters in the historical period as the state, the adjustment behavior as the action, and the performance change as the reward, the strategy table is automatically generated and continuously updated. The trained strategy table can quickly select the action with higher historical returns based on the current state, thus realizing the adaptive optimization of the daily worksheet.
[0210] Please see Figure 8 In one specific implementation, the data acquisition module of this application may include a performance acquisition module, a working hour acquisition module, a communication acquisition module, and a data acquisition module.
[0211] The performance data acquisition module interfaces with the order system, using a data change capture mechanism (such as Canal) to monitor the binlog logs of the order database and obtain order change data. After converting the order change data into standardized order events, it is sent to a Kafka message queue. The stream processing engine (Flink) consumes the order event stream from the message queue, performs incremental aggregation calculations based on the event time window, and obtains the target aggregation result. The target aggregation result is written to the performance pre-calculation storage structure for subsequent evaluation modules to read.
[0212] The work time acquisition module collects user activity time on work-related software through a desktop behavior acquisition SDK. The desktop behavior acquisition SDK includes an active window detection function (determining if the currently active window is work-related software) and a typing device monitoring function (recording input event intervals). When a user operates work-related software and the input interval is less than or equal to a preset threshold, it is determined as a work period and accumulated into standard work hours. User-reported work hours are obtained, and an isolated forest algorithm is used for abnormal work hour detection. Standard work hours and user-reported work hours are combined to determine valid work hours, which are then stored in the work hour database for use by the work hour analysis module.
[0213] The communication acquisition module interfaces with enterprise calling systems or business calling channels to record call durations and simultaneously record call audio. It transcribes the call audio into text by calling a third-party Automatic Speech Recognition (ASR) API. Simultaneously, it retrieves chat messages through a built-in chat entry, stores them locally, counts the number of words, and extracts keywords. Keyword extraction and keyword coverage calculations are performed on the call and chat texts to obtain the effective communication volume, which is then stored in the communication database for use by the communication analysis module.
[0214] Salespeople or administrators input initial task text and initial daily report text through the data acquisition module. The data acquisition module preprocesses the initial text, including removing abnormal characters, standardizing expression formats, sentence segmentation, and JSON structuring. After preprocessing, it calls a Large Language Model (LLM) to extract information, retrieving structured fields such as task name, task execution requirements, time nodes, task execution standards, and task execution order. Based on the extracted structured information, it establishes a mapping relationship between tasks and daily reports across time, semantic, and logical dimensions, merges them to generate a daily report worksheet, stores it in a relational database, and distributes it to the salesperson's terminal for execution.
[0215] The evaluation and analysis module reads actual and historical performance from the pre-calculated performance storage structure, effective working hours from the working hours database, and effective communication volume from the communication database. It performs outlier removal on historical performance data (e.g., using the interquartile range method); calculates the standardized deviation of actual performance relative to historical performance to determine statistical significance; calculates standardized communication values based on effective communication volume and task complexity, and then calculates the communication contribution value; calculates unit working hour output based on effective working hours and actual performance, and then calculates the execution contribution value; calculates the communication contribution ratio and the execution contribution ratio, and compares their magnitudes to determine the reasonableness of the daily worksheet. If the execution contribution ratio is greater than the communication contribution ratio, the daily worksheet is deemed reasonable, performance growth mainly stems from improved execution efficiency, and the current daily worksheet is maintained.
[0216] If the daily worksheet is unreasonable, the attribution analysis module is triggered. The attribution analysis module calls a multivariate analysis model to analyze the contribution of input indicators such as call duration, chat word count, and effective working hours to performance, and generates an attribution report.
[0217] The optimization module generates a state vector based on the attribution report and inputs it into the reinforcement learning model. The reinforcement learning model uses the KNN algorithm to match historical failure cases and generate optimization strategies. A / B testing is performed on the optimization strategies to determine their effectiveness. If the optimization strategy is effective, an optimization task is created through the workflow engine, assigned to the corresponding responsible person, and the attribution report and optimization strategy are pushed to the salesperson's terminal. After the responsible person completes the parameter adjustments, the system automatically verifies the adjustment results. If the verification passes, the daily report worksheet configuration is updated, and the updated solution is fed back to the data acquisition module, entering the next round of evaluation and optimization cycle.
[0218] It should be understood that, although Figures 2-8 The steps in the flowchart are shown sequentially as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order in which these steps are executed, and they can be performed in other orders. Figures 2-8At least some of the steps in the process may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least some of the sub-steps or stages of other steps.
[0219] In one embodiment, this application also provides a computer program product, which includes a computer program stored on a non-transitory computer-readable storage medium. The computer program includes program instructions, and when the program instructions are executed by a computer, the computer is able to execute the dynamic adjustment method for the daily worksheet provided by the above methods.
[0220] In one embodiment, the dynamic adjustment device for the daily report worksheet is located in a computer device, which may be a server, and its internal structure diagram may be as follows: Figure 9 As shown, the computer device includes a processor, memory, communication interface, and database connected via a system bus. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage media. The database stores data used in the dynamic adjustment method for daily worksheets. The network interface allows communication with external terminals via a network connection. When the computer program is executed by the processor, it implements a dynamic adjustment method for daily worksheets.
[0221] Those skilled in the art will understand that Figure 9 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0222] In one embodiment, a device for dynamically adjusting a daily worksheet is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it performs the following steps: Step 101: Obtain the daily worksheet and task communication record set of the target task. Query and extract the task communication records that match the preset keywords from the task communication record set and mark them as valid communication records. Combine the type and number of valid communication records to obtain the valid communication value.
[0223] Step 102: Generate a standardized communication value based on the effective communication value and the task complexity of the target task, and combine the standardized communication value with the performance improvement after executing the daily worksheet to obtain the communication contribution value.
[0224] Step 103: Construct a set of time characteristic data for the target task, and obtain the effective time of the target task based on the set of time characteristic data. Use the effective time and the actual performance after the execution daily work report to generate the unit time output of the target task. Combine the unit time output and the performance improvement to obtain the execution contribution value.
[0225] Step 104: Evaluate the rationality of the daily report worksheet based on the communication contribution value and the execution contribution value; if it is rational, maintain the current version of the daily report worksheet; if it is not rational, optimize and update the daily report worksheet.
[0226] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, the computer program performing the following steps when executed by a processor: Step 101: Obtain the daily worksheet and task communication record set of the target task. Query and extract the task communication records that match the preset keywords from the task communication record set and mark them as valid communication records. Combine the type and number of valid communication records to obtain the valid communication value.
[0227] Step 102: Generate a standardized communication value based on the effective communication value and the task complexity of the target task, and combine the standardized communication value with the performance improvement after executing the daily worksheet to obtain the communication contribution value.
[0228] Step 103: Construct a set of time characteristic data for the target task, and obtain the effective time of the target task based on the set of time characteristic data. Use the effective time and the actual performance after the execution daily work report to generate the unit time output of the target task. Combine the unit time output and the performance improvement to obtain the execution contribution value.
[0229] Step 104: Evaluate the rationality of the daily report worksheet based on the communication contribution value and the execution contribution value; if it is rational, maintain the current version of the daily report worksheet; if it is not rational, optimize and update the daily report worksheet.
[0230] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments of the above methods. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), RAMbus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.
[0231] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be determined to be within the scope of this specification.
[0232] The above embodiments merely illustrate several implementation methods of this application, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the invention patent. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this patent application should be determined by the appended claims.
Claims
1. A method for dynamically adjusting a daily report worksheet, characterized in that, The method includes: Obtain the daily worksheet and task communication record set of the target task; query and extract the task communication record set that matches the preset keywords, and mark it as a valid communication record; obtain the valid communication value by combining the type and quantity of the valid communication record. A standardized communication value is generated based on the effective communication value and the task complexity of the target task. The communication contribution value is then obtained by combining the standardized communication value with the performance improvement after executing the daily report worksheet. Construct a set of time characteristic data for the target task, and obtain the effective time of the target task based on the set of time characteristic data. Use the effective time and the actual performance after executing the daily worksheet to generate the unit time output of the target task. Combine the unit time output and the performance improvement to obtain the execution contribution value. The rationality of the daily report worksheet is evaluated based on the communication contribution value and the execution contribution value; if it is rational, the current version of the daily report worksheet is maintained; if it is not rational, the daily report worksheet is optimized and updated.
2. The method according to claim 1, characterized in that, The method further includes, before obtaining the daily report worksheet of the target task: The initial task text and initial daily report text of the target task are obtained and preprocessed respectively to obtain standard task text and standard daily report text. The preprocessing includes at least one of removing abnormal characters, unifying the format, and sentence segmentation. Obtain preset prompt words, and concatenate the preset prompt words with the standard task text to form a model input sequence; use a language model to convert the model input sequence into structured task text, the structured task text including structured fields and information corresponding to the structured fields, the structured fields including at least one of the following: task name, task execution requirements, time nodes, task execution standards, and task standard execution order; Receive standard task text and standard daily report text, match the structured task text and the standard daily report text based on preset dimensions, and establish a mapping relationship between task text and daily report text; merge task text and daily report text based on the mapping relationship between task text and daily report text to generate a daily report worksheet.
3. The method according to claim 2, characterized in that, The step of using a language model to transform the input sequence of the model into structured task text includes: The input sequence of the model is input into the language model; The language model is used to segment the input sequence of the model to obtain multiple word units, and an embedding vector that integrates semantic information and positional information is generated for each word unit. Based on the embedding vector, query vectors and key vectors for each word are generated; Traverse multiple lexical units, calculate the dot product of the query vector of any lexical unit and the key vectors of other lexical units, and obtain the association score between the lexical unit and other lexical units. Normalize the association score to obtain the association weight between each lexical unit. The value vectors of each word are weighted and summed according to the association weights to obtain the weighted representation of each word. The probability of each word belonging to each structured field is calculated based on the weighted representation of each word. The structured field label corresponding to each word is determined according to the probability. The position of the word sequence with the same structured field label is taken as the key information position of the structured field. Extract the word sequence corresponding to the key information position as the information corresponding to each structured field; Organize the structured fields and their corresponding information according to the output format in the preset prompts to obtain the structured task text.
4. The method according to claim 2, characterized in that, The step of establishing a mapping relationship between the task text and the daily report text based on a preset dimension includes: In response to preset dimensions, including the time dimension, the system matches time points with the timestamps of work records in standard daily report texts, establishing a mapping relationship between tasks within the same time interval or meeting a preset time deviation threshold and the work records; and / or, In response to preset dimensions, including semantic dimensions, extract behavioral description keywords from work records, integrate task names and task execution requirements to obtain integrated text, calculate the semantic matching degree between behavioral description keywords and integrated text, and establish a mapping relationship between tasks with semantic matching degrees higher than a preset threshold and work records; and / or, In response to preset dimensions, including logical dimensions, the standard execution order of tasks is compared with the actual task execution order of work records with established mapping relationships. Based on the matching of the actual task execution order with the standard task execution order, it is determined whether to retain the established mapping relationship.
5. The method according to claim 2, characterized in that, The generated daily report worksheet includes: Using time nodes and task nodes as target nodes and the mapping relationship as edges, construct an execution relationship topology; Organize the work records in the standard daily report text into a work record sequence according to time order; The execution status of the task is statistically analyzed based on the mapping relationship. The execution status of the task includes completed, unprocessed, and partially completed. For tasks whose execution status is unprocessed or partially completed, a work plan is generated based on the corresponding time nodes and task execution requirements. A daily worksheet is generated based on the work plan, work record sequence, and task execution status.
6. The method according to claim 5, characterized in that, The process of generating the daily report worksheet includes: The task nodes, time nodes, and work records in the execution relationship topology are used as graph structure nodes; the directed edges from work records to task nodes represent execution relationships, the directed edges from task nodes to work records represent correspondence relationships, and the directed edges from work records to work records represent cross-cycle continuation relationships, thereby constructing an execution relationship graph structure. The execution relationship graph structure is stored independently of the daily report worksheet.
7. The method according to claim 1, characterized in that, The collection of task communication records includes: Obtain historical performance and actual performance after executing daily work reports, and calculate the standardized deviation of actual performance relative to historical performance; Obtain the threshold and compare the standardized deviation with the threshold; In response to the standardized deviation being greater than the threshold, a set of task communication records for the target task is obtained.
8. The method according to claim 7, characterized in that, The calculation of the standardized deviation of the actual performance relative to the historical performance, after obtaining historical performance and daily performance reports, includes: Acquire historical performance data, identify and remove abnormal data from the historical performance data to obtain historical performance. The target aggregation result within a preset time window is read from a preset storage structure based on the user identifier and used as the actual performance after executing the daily report worksheet; wherein, the target aggregation result is obtained by the stream processing engine in advance from the message queue to obtain the order event stream and perform incremental aggregation calculation on the order amount in the order event stream; Calculate the average and standard deviation of historical performance; Calculate the difference between the actual performance and the average value, and divide the difference by the standard deviation to obtain the standardized deviation.
9. The method according to claim 8, characterized in that, The method further includes: Monitor order data; In response to a change in order data, the system obtains the order change data and generates an order event based on the order change data. The order event carries at least one of the following: user identifier, order amount, order status, and order event generation time. The order event is sent to a message queue, wherein the order event is partitioned and stored in the message queue according to the hash value of the user identifier.
10. The method according to claim 8, characterized in that, The incremental aggregation calculation of order amounts in the order event stream includes: In response to retrieving an order event stream from the message queue via the stream processing engine, the processing progress of the order event stream is indicated by a progress tag; In response to the arrival of the aggregation boundary of the aggregation time window, the order events received within the aggregation time window are aggregated and calculated to obtain the window aggregation result; Order events arriving after the maximum boundary of the aggregation time window will be treated as late order events. If the difference between the arrival time of the late order event and the maximum boundary of the aggregation time window does not exceed a preset delay duration, then the window aggregation result is updated based on the late order event to obtain the target aggregation result; If the difference exceeds the preset delay time, the window aggregation result is not updated, and the window aggregation result is used as the target aggregation result. Specifically, in response to an order event where the order amount is negative or exceeds a preset reasonable range, the order event is marked as an abnormal order, excluded from aggregate calculation, and an abnormal notification message is pushed to the system.
11. The method according to claim 1, characterized in that, The step of querying and extracting task communication records that match preset keywords from the task communication record set, marking them as valid communication records, and obtaining a valid communication value by combining the type and quantity of the valid communication records includes: A set of task communication records for receiving a target task, wherein the set of task communication records includes at least one of call text and chat text; Extract business keywords from the task communication record set; these business keywords are related to order progress. Mark the task communication records corresponding to the business keywords that match the preset keywords as valid communication records; Based on whether the valid communication record is a call text or a chat text, determine the corresponding communication weight coefficient for the valid communication record; The effective communication value is obtained by weighting and summing the number of each effective communication record with its corresponding communication weight coefficient.
12. The method according to claim 1, characterized in that, The task complexity of the target task is obtained based on the influencing factors of the target task, which include at least one of the following: the number of task execution steps, the number of customers involved in the task, and the task duration. The method for obtaining a standardized communication value based on the task complexity of the target task and the effective communication value, and combining the standardized communication value with the performance improvement after executing the daily worksheet to obtain a communication contribution value, includes: Obtain the weight coefficients of each influencing factor; The task complexity is obtained by weighting and summing each influencing factor with its corresponding weight coefficient. The ratio of effective communication value to task complexity is used as the standardized communication value; The difference between actual performance and historical performance is used as the performance improvement amount, and the communication contribution value is calculated based on the standardized communication value and the performance improvement amount.
13. The method according to claim 1, characterized in that, The time-related feature data set for constructing the target task includes: In response to detecting that a user is operating the target software and the input interval of the typing device is less than or equal to a preset interval threshold, the user operation period is determined as a working period, and the duration of the working period is accumulated to obtain standard working hours. The target software is used to perform the target task. The typing device includes at least one of a keyboard, a mouse, and a touch screen. In response to the absence of detected user operation of the target working software, or the input interval of the typing device being greater than a preset interval threshold, the user operation period is determined to be a non-working period; Obtain user-reported work hours; The standard working hours are associated with and stored with the user-reported working hours to form a working hour feature data set. The working hour feature data set contains multiple working hour records, and each working hour record includes multi-dimensional working hour data features, which include at least two of the following: standard working hours, user-reported working hours, total number of input events, active duration of the working software, continuous idle time, and working hour deviation value.
14. The method according to claim 13, characterized in that, The effective working hours of the target task obtained based on the working hour feature data set include: Select any work hour data feature dimension, randomly generate a segmentation threshold within the value range of the selected work hour data feature dimension, and divide the work hour feature data set into two subsets according to the segmentation threshold; Repeat the operations of selecting the feature dimension of the work hour data, generating the segmentation threshold, and dividing the sub-dataset on each of the said sub-datasets until at least one of the said sub-datasets contains only a single work hour record or reaches the preset maximum number of segmentation layers; The number of times each work hour record is split during the process of dividing the work hour feature data set into separate subsets is recorded as the isolation path length of each work hour record. The same work hour record is randomly split multiple times, and the average isolation path length of each split is calculated to obtain the average path length. If the average path length is less than a preset length threshold and standard working time exists, the standard working time is used as the effective working time of the target task. In response to the average path length being greater than or equal to a preset length threshold, the fusion value of the user-reported working hours and the standard working hours is used as the effective working hours of the target task. In response to the lack of standard working hours, the effective working hours of the target historical period are used as the effective working hours of the target task.
15. The method according to claim 1, characterized in that, The step of generating the unit hour output of the target task by utilizing the effective working hours and the actual performance after executing the daily worksheet, and combining the unit hour output with the performance improvement to obtain the execution contribution value includes: Divide the actual performance by the effective working hours to obtain the target unit working hour output; Obtain valid working hour data within the historical period to generate a historical working hour sequence, and perform time-series decomposition on the historical working hour sequence to obtain the historical working hour benchmark; Divide historical performance by historical working hours benchmark to obtain historical output per unit working hour; Calculate the rate of change of output per unit of work-hour relative to historical output per unit of work-hour; The difference between actual performance and historical performance is used as the performance improvement amount, and the execution contribution value is calculated based on the output change rate and the performance improvement amount.
16. The method according to claim 1, characterized in that, The rationale for evaluating the daily report worksheet based on the communication contribution value and the execution contribution value includes: Calculate the sum of the communication contribution value and the execution contribution value as the total contribution value; Calculate the ratio of the communication contribution value to the total contribution value and the ratio of the execution contribution value to the total contribution value to obtain the communication contribution ratio and the execution contribution ratio, respectively. Compare the communication contribution ratio with the execution contribution ratio; If the communication contribution ratio is less than the execution contribution ratio, the daily report worksheet is deemed reasonable. If the percentage of communication contribution is greater than or equal to the percentage of execution contribution, the daily report worksheet is deemed unreasonable.
17. The method according to claim 1, characterized in that, The optimization and updating of the daily report worksheet includes: Set the preset time window to the current period, and query at least one of the following as the input indicator: call duration, chat word count, and effective working hours in the current period. The input indicators are input into a multivariate analysis model, and the multivariate analysis model is used to generate the contribution ratio of each input indicator to the performance, with the performance in the historical period as the dependent variable and the input indicators as the independent variables. An attribution report is generated based on the contribution percentage of each input indicator to performance. Based on the attribution report, an optimization strategy is determined; The optimization strategy was applied to the experimental group, and the daily report worksheet was applied to the control group to calculate the performance indicators of the experimental group and the control group. The optimization strategy is considered effective when the performance indicators of the experimental group are higher than those of the control group. In response to the successful verification of the strategy, the daily report worksheet is updated based on the optimized strategy.
18. The method according to claim 17, characterized in that, The determination of optimization strategies based on the attribution report includes: Obtain the scheme parameters from the daily report worksheet, and generate a state vector based on the scheme parameters and the attribution report; The state vector is input into the reinforcement learning model. The reinforcement learning model selects at least one target action that matches the optimization direction from the predefined action set in the optimization direction indicated by the attribution report. The historical reward of the target action is calculated, and the target action with the highest historical reward is output as the optimization strategy. The scheme parameters of the daily report worksheet include at least one of the following: task splitting granularity, task allocation weight, number of daily report fields, historical working hour benchmark, communication input indicators, and performance indicators. The actions in the action set include at least one of the following: increasing or decreasing the task splitting granularity, adjusting the number of fields in the daily report, modifying the task allocation weight ratio, and adjusting the task execution frequency.
19. The method according to claim 18, characterized in that, The method further includes: Obtain historical scheme parameters from the daily report worksheet within a historical period, historical actions performed on the historical scheme parameters, and historical performance changes after the historical actions were performed; A sample set is constructed using the historical scheme parameters as state vectors, the historical actions as actions, and the historical performance change results as reward signals; each sample contains an associated state vector, action, and corresponding reward signal. The sample set is input into the reinforcement learning model, and the reinforcement learning model is trained using the sample set. The historical rewards of actions under different state vectors are calculated, and the historical rewards of actions under different state vectors are stored as a policy table.
20. A dynamic adjustment device for a daily report worksheet, characterized in that, The dynamic adjustment device for the daily report worksheet includes: Memory, used to store computer programs; A processor, connected to the memory, is used to execute the computer program; A communication interface, connected to the processor, is used for data interaction with external devices; When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 19.
21. A dynamic adjustment system for a daily report worksheet, characterized in that, The dynamic adjustment system for the daily report worksheet includes: The dynamic adjustment device for the daily report worksheet as described in claim 20; External devices connected to the dynamic adjustment device of the daily report worksheet, including terminal devices, data source systems, and message queues.