Software value evaluation method and device, electronic equipment and storage medium

By collecting, preprocessing, and aggregating user behavior data, user behavior feature vectors are generated, solving the problem of inaccurate software value assessment and achieving efficient and low-cost software value assessment.

CN120807007APending Publication Date: 2025-10-17CHINA TELECOM CORP LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202510874463.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-26
Publication Date
2025-10-17

AI Technical Summary

Technical Problem

Existing software valuation methods cannot accurately reflect the actual market value of software, and data collection is incomplete and costly.

Method used

User behavior data is collected by pre-setting collection rules, preprocessed and aggregated to generate user behavior feature vectors, and value assessment is performed using software usage statistics.

Benefits of technology

It improved the comprehensiveness and accuracy of data collection, reduced data collection costs, and enhanced the accuracy of software value assessment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120807007A_ABST
    Figure CN120807007A_ABST
Patent Text Reader

Abstract

The invention discloses a software value evaluation method and device, electronic equipment and a storage medium, and can be applied to the technical field of software data analysis. The first user behavior data of each piece of to-be-collected software is collected through the preset collection rule, the unified collection process of the user behavior data in all pieces of to-be-collected software can be achieved, the comprehensiveness of data collection is effectively improved, the sampling rule does not need to be independently set for each piece of to-be-collected software, and the data collection efficiency is improved. According to the method, the design and maintenance cost adopting rules is effectively reduced, then first user behavior data is preprocessed to obtain user behavior feature vectors, then aggregation operation is performed on the user behavior feature vectors through preset aggregation rules to obtain target aggregation data, and usage amount statistics is performed according to the target aggregation data to obtain a usage amount statistics result; and then software value evaluation is carried out according to a usage amount statistical result, so that the accuracy of software value evaluation can be effectively improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of software data analysis, and particularly relates to a software value evaluation method and device, an electronic device and a storage medium. BACKGROUND

[0002] In the related art, as intangible assets, the value of software assets is difficult to be intuitively obtained through depreciation or residual calculation as tangible assets. The traditional software value is usually reflected by the cost method, but the traditional cost method can only reflect the actual investment of software and cannot accurately reflect the actual market value of software. With the popularity of subscription software services (SaaS), the market value of software assets of an enterprise is usually evaluated by user payment conversion rate, activity and other indicators. In this mode, real-time tracking and analysis of user behavior data become an important means to evaluate the value of software. However, the means for tracking software usage process cannot be unified, which may lead to incomplete data collection and thus low accuracy of software value evaluation, and high data collection cost.

[0003] In summary, the technical problems in the related art need to be improved. SUMMARY

[0004] The main purpose of the embodiments of the present application is to provide a software value evaluation method and device, an electronic device and a storage medium, which can effectively improve the comprehensiveness of data collection, improve the accuracy of software value evaluation, and reduce the data collection cost.

[0005] To achieve the above purpose, one aspect of the embodiments of the present application provides a software value evaluation method, which comprises the following steps:

[0006] Collecting first user behavior data of each software to be collected through a preset collection rule;

[0007] Preprocessing the first user behavior data to obtain a user behavior feature vector;

[0008] Performing an aggregation operation on the user behavior feature vector through a preset aggregation rule to obtain target aggregation data;

[0009] Performing usage amount statistics according to the target aggregation data to obtain a usage amount statistics result;

[0010] Performing software value evaluation according to the usage amount statistics result.

[0011] In some embodiments, the collecting first user behavior data of each software to be collected through a preset collection rule comprises:

[0012] Splitting each preset function flow corresponding to each software to be collected into a plurality of sub-flows;

[0013] acquire a preset event of the sub-process;

[0014] embed a counting code in the preset event;

[0015] acquire page click data of the preset event through the counting code;

[0016] process the page click data to obtain second user behavior data;

[0017] acquire page element information corresponding to the page click data in the preset event;

[0018] generate the first user behavior data according to the page click data, the second user behavior data and the page element information.

[0019] In some embodiments, the processing of the page click data to obtain second user behavior data comprises:

[0020] acquiring information dimensions in the page click data;

[0021] determining a preset noise processing mode corresponding to each information dimension;

[0022] processing the page click data corresponding to each information dimension according to the preset noise processing mode to obtain second user behavior data.

[0023] In some embodiments, the preprocessing of the first user behavior data to obtain a user behavior feature vector comprises:

[0024] cleaning the first user behavior data to obtain third user behavior data;

[0025] standardizing the third user behavior data to obtain fourth user behavior data;

[0026] vectorizing the fourth user behavior data to obtain the user behavior feature vector.

[0027] In some embodiments, the vectorizing of the fourth user behavior data to obtain the user behavior feature vector comprises:

[0028] extracting a preset field in the fourth user behavior data;

[0029] encoding the preset field to obtain an encoding vector;

[0030] splicing the encoding vector according to a preset splicing rule to obtain the user behavior feature vector.

[0031] In some embodiments, the aggregating the user behavior feature vector based on the preset aggregation rule to obtain target aggregation data comprises:

[0032] processing the user behavior feature vector based on a client fingerprint to obtain a behavior feature vector to be verified;

[0033] performing data authenticity verification on the behavior feature vector to be verified to obtain a behavior feature vector to be clustered;

[0034] performing aggregation operation on the behavior feature vector to be clustered based on a preset clustering center to obtain the target aggregation data.

[0035] In some embodiments, the software value evaluation according to the usage statistical result comprises:

[0036] obtaining weight data corresponding to an evaluation dimension in a software usage value evaluation model, the size of the evaluation dimension being adjusted by the type of the software to be collected;

[0037] performing software value evaluation according to the usage statistical result and the weight data.

[0038] To achieve the above object, another aspect of the embodiment of the present application proposes a software value evaluation device, which comprises:

[0039] a first module for collecting first user behavior data of each software to be collected through a preset collection rule;

[0040] a second module for pre-processing the first user behavior data to obtain a user behavior feature vector;

[0041] a third module for performing aggregation operation on the user behavior feature vector based on a preset aggregation rule to obtain target aggregation data;

[0042] a fourth module for performing usage statistics according to the target aggregation data to obtain a usage statistical result;

[0043] a fifth module for performing software value evaluation according to the usage statistical result.

[0044] To achieve the above object, another aspect of the embodiment of the present application proposes an electronic device, which comprises:

[0045] at least one processor;

[0046] at least one memory for storing at least one program;

[0047] When the at least one program is executed by the at least one processor, the at least one processor implements the above method.

[0048] To achieve the above object, another aspect of the embodiment of the present application provides a computer readable storage medium, which stores a computer program, and the computer program is executed by a processor to implement the above method.

[0049] The embodiment of the present application at least has the following beneficial effects: the present application provides a software value evaluation method and device, electronic equipment and storage medium, the scheme collects the first user behavior data of each to-be-collected software through the preset collection rule, can realize the unified collection process of the user behavior data in all to-be-collected software, effectively improves the comprehensiveness of data collection, and does not need to set the sampling rule for each to-be-collected software separately, effectively reduces the design and maintenance cost of the sampling rule, then the first user behavior data is preprocessed to obtain the user behavior feature vector, the target aggregation data is obtained by performing the aggregation operation on the user behavior feature vector through the preset aggregation rule, then the usage amount statistical result is obtained according to the target aggregation data, and then the software value is evaluated according to the usage amount statistical result, so that the accuracy of the software value evaluation can be effectively improved. BRIEF DESCRIPTION OF DRAWINGS

[0050] Figure 1 is a flowchart of the software value evaluation method provided by the embodiment of the present application;

[0051] Figure 2 is a sub-flowchart of step S110 provided by the embodiment of the present application;

[0052] Figure 3 is a sub-flowchart of step S250 provided by the embodiment of the present application;

[0053] Figure 4 is a sub-flowchart of step S130 provided by the embodiment of the present application;

[0054] Figure 5 is a single-software usage monitoring trend chart provided by the embodiment of the present application;

[0055] Figure 6 is a trend chart of the number of users and the number of webpage openings in a time period provided by the embodiment of the present application;

[0056] Figure 7 is a sub-flowchart of step S150 provided by the embodiment of the present application;

[0057] Figure 8 is a complete flowchart of the software value evaluation method provided by the embodiment of the present application;

[0058] Figure 9 is a structural schematic diagram of a software value evaluation device provided by an embodiment of the present application;

[0059] Figure 10 is a hardware structural schematic diagram of an electronic device provided by an embodiment of the present application. DETAILED DESCRIPTION

[0060] In order to make the objects, technical solutions and advantages of the present application clearer, the present application is further described in detail below in combination with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not intended to limit the present application. When the following description refers to the accompanying drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the following exemplary embodiments do not represent all the implementations consistent with the embodiments of the present application, but are only examples of devices and methods consistent with some aspects of the embodiments of the present application.

[0061] It can be understood that the terms "first", "second", and the like used in the present application can be used herein to describe various concepts, but unless specifically stated, these concepts are not limited by these terms. These terms are only used to distinguish one concept from another. For example, without departing from the scope of the embodiments of the present application, the first information can also be referred to as the second information, and similarly, the second information can also be referred to as the first information. Depending on the context, the word "if" as used herein can be interpreted as "when" or "when" or "in response to determining".

[0062] The terms "at least one", "multiple", "each", "any" and the like used in the present application include one, two or more than two, multiple includes two or more than two, each refers to each of the corresponding multiple, and any refers to any one of the multiple.

[0063] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as understood by a person skilled in the art to which the present application belongs. The terms used herein are only for the purpose of describing the embodiments of the present application and are not intended to limit the present application.

[0064] Before the embodiments of the present application are described in detail, first, some nouns and terms involved in the embodiments of the present application are explained, and the nouns and terms involved in the embodiments of the present application are applicable to the following explanations:

[0065] Software is a collection of computer data and instructions organized in a specific order, and is a non-tangible part in a computer. Software is generally divided into system software, application software, and middleware between the two. Software not only includes all programs running on the computer, but also documents, data, etc. related to the program. Software can also be understood as a collection of programs and documents.

[0066] PV (Page View) refers to the page view of the software, which refers to the total number of times the page is loaded when the user accesses the website in a statistical period. Page views are used to count page access behavior.

[0067] CV (Content View) refers to the content play of the software, which refers to the complete number of successful plays of the video content (excluding advertisements). Content play is used to count the complete play behavior of the video. That is, page views and content plays are two different dimensions of analysis indicators.

[0068] DAU (Daily Active User) refers to the number of daily active users in the software operation process, that is, the number of users who log in each day. DAU is used to reflect the use frequency and user activity of the software product, and is suitable for evaluating the short-term operation effect of promotion activities, push messages, etc.

[0069] MAU (Monthly Active User) refers to the monthly active user data in the software operation process, that is, the user data logged in within the last month, generally calculated according to the natural month. MAU is used to measure user growth trends, market penetration rates, and product stability. MAU combined with DAU can analyze user stickiness.

[0070] User stickiness refers to the degree of continuous use and dependence of users on the software, which is composed of multiple dimensions such as function, experience, security, etc. Its core lies in the loyalty, trust and repeated use willingness of the software. User stickiness is generally measured by the ratio of DAU / MAU. The higher the ratio, the stronger the stickiness.

[0071] SaaS (Software as a Service) is a software delivery mode based on cloud computing, which provides software application services through the Internet. SaaS deploys software applications on cloud servers through the Internet, and users can subscribe to use them on demand without local installation.

[0072] CPU (Central Processing Unit) is the core component of a computer system, responsible for executing instructions and processing data. Its core functions include instruction decoding, operation execution, data storage and reading, etc. CPU is mainly composed of arithmetic unit, controller, register group and internal bus modules. Arithmetic unit handles arithmetic and logical operations, controller is responsible for instruction scheduling, register group temporarily stores data, and internal bus realizes communication between modules.

[0073] SDK (Software Development Kit) is a core tool set that assists in developing software applications. SDK is provided by third-party service providers and includes documents, library files, sample codes and tools to implement specific functions (such as payment, voice recognition, etc.) and help developers quickly build applications.

[0074] Web is a global distributed information system based on hypertext and HTTP protocol. Web is a global network service built on Internet, which realizes information storage, retrieval and interaction through hypertext and HTTP protocol. Web is composed of hypertext and HTTP protocol, hypertext is connected by hyperlinks to form a network structure. HTTP protocol is a standard protocol for transmitting hypertext data.

[0075] Applet is a lightweight application that does not need to be downloaded and installed. It can be accessed quickly by scanning the code or searching, with the characteristics of "within reach" and "walk away after use", avoiding frequent installation and uninstallation. Applet mainly relies on various platforms to run, and the functions and services of applets on different platforms have some differences, but they all follow the design principles of lightweight and convenience.

[0076] APP mainly refers to third-party application programs installed on smart phones, which are used to perfect system functions, provide personalized services, and realize commercial value through traffic monetization. APP is a software application on a smart phone, which is generated through analysis, design, coding, and is used to make up for the shortcomings of the system and meet the diverse needs of users.

[0077] HMAC (Hash-based Message Authentication Code) is a message authentication code algorithm based on hash function and key, used to verify the integrity and authenticity of data.

[0078] In the related art, in the process of obtaining the user usage amount of software, client resources need to be occupied to obtain the user behavior data of the related software on the corresponding client. If the client resources are insufficient to support the user behavior data obtaining process, the user behavior data on the software cannot be obtained in time and effectively, which may lead to incomplete collection of user behavior data. Moreover, when the client resources are occupied to obtain the user behavior data during software usage, the authenticity of the data needs to be verified, and therefore authenticity verification rules need to be set according to the software usage scenarios, which increases the rule maintenance cost and leads to an increase in the data collection cost.

[0079] Therefore, in the embodiments of the present application, a software value evaluation method and device, an electronic device and a storage medium are provided. The user behavior data during software usage can be effectively collected without relying on client resources, which can effectively improve the comprehensiveness of data collection, and thus improve the accuracy of software value evaluation. Moreover, no verification rules need to be set according to actual scenarios, which effectively reduces the data collection cost.

[0080] The software value evaluation method provided in the embodiments of the present application relates to the technical field of software data analysis. The software value evaluation method provided in the embodiments of the present application can be applied in a terminal, a server or software running in a terminal or a server. In some embodiments, the terminal can be a smart phone, a tablet computer, a notebook computer, a desktop computer, a smart speaker, a smart watch, a vehicle-mounted terminal or the like, but is not limited thereto. The server end can be configured as an independent physical server, a server cluster composed of multiple physical servers or a distributed system, a cloud server providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN and basic cloud computing services such as big data and artificial intelligence platforms, or a node server in a blockchain network. The software can be an application for implementing the software value evaluation method, but is not limited to the above forms.

[0081] The application is operable in a variety of general purpose or special purpose computer systems environments or configurations. Examples of well-known computing systems, environments, and / or configurations that can be suitable for use with the application include personal computers, server computers, handheld or laptop devices, tablet devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like. The application can be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, and the like, that perform particular tasks or implement particular abstract data types. The application can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules can be located in both local and remote computer storage media including memory storage devices.

[0082] It should be noted that in each specific embodiment of the present application, when it is necessary to process relevant data related to the identity or characteristics of the user according to user information, user behavior data, user history data, and user location information, etc., the user's permission or consent will be obtained first, and the collection, use and processing of these data will comply with relevant laws, regulations and standards. In addition, when the embodiments of the present application need to obtain sensitive personal information of the user, the separate permission or separate consent of the user will be obtained through a pop-up window or a jump to a confirmation page, and after obtaining the separate permission or separate consent of the user, the necessary user-related data for enabling the embodiments of the present application to normally operate will be obtained.

[0083] The embodiments of the present application will be described in detail below with reference to the accompanying drawings:

[0084] Figure 1 is an optional flowchart of the software value evaluation method provided by the embodiments of the present application, Figure 1 The method in can include but is not limited to including steps S110 to S150:

[0085] Step S110, collecting first user behavior data of each software to be collected through a preset collection rule;

[0086] Step S120, pre-processing the first user behavior data to obtain a user behavior feature vector;

[0087] Step S130, performing an aggregation operation on the user behavior feature vector through a preset aggregation rule to obtain target aggregation data;

[0088] Step S140, performing usage statistics according to the target aggregation data to obtain a usage statistics result;

[0089] Step S150, evaluating the software value according to the usage statistics result.

[0090] It can be understood that the collection process of the embodiment can collect data of various software through a lightweight SDK. Specifically, the SDK can support WEB, applet and APP full-end data collection. The collected data can include but is not limited to basic receipts such as users and page views, and can also include user behavior data such as page hotspots and event interactions. Through integration and analysis of all collected data, the corresponding software value can be effectively evaluated.

[0091] In the embodiment of the present application, as shown in Figure 2 The process of collecting the first user behavior data of each software to be collected through the preset collection rule includes but is not limited to steps S210 to S270:

[0092] Step S210, splitting the preset function flow corresponding to each software to be collected into a plurality of sub-flows;

[0093] Step S220, obtaining a preset event of the sub-flow;

[0094] Step S230, embedding a counting code in the preset event;

[0095] Step S240, obtaining page click data of the preset event through the counting code;

[0096] Step S250, processing the page click data to obtain second user behavior data;

[0097] Step S260, obtaining page element information corresponding to the page click data in the preset event;

[0098] Step S270, generating first user behavior data according to the page click data, the second user behavior data and the page element information.

[0099] It can be understood that the preset function flow of the to-be-collected software can be a core function flow in the software. Illustratively, when the to-be-collected software is a shopping software, the core function flow of the shopping software can include a login flow, a payment flow, a search flow, and the like, and therefore, the embodiment can split the core function flow into three sub-flows of the login flow, the payment flow, and the search flow. Specifically, each sub-flow is composed of a series of events or operation steps, and the series of events or operation steps of different sub-flows are different. The embodiment can obtain all preset events corresponding to each sub-flow by dividing the events in each sub-flow, and then embed the pre-edited counting code in the preset events, and thus the counting code can be used to collect the page click data in the preset events in each to-be-collected software in real time. Illustratively, for the payment flow in the shopping software, the payment flow includes events of order submission, order payment confirmation, and order payment, and by embedding the counting code in the events of order submission, order payment confirmation, and order payment respectively, the real-time page click data of the events can be counted, that is, whether the user clicks the operation of the events is counted in real time, and the counting code is incremented once for each operation, so that the accuracy of the real-time page click data obtained is higher.

[0100] Specifically, the embodiment also collects key fields to reflect the specific operation type when each software page is clicked during the collection process of the page click data. The key fields can include but are not limited to event type, timestamp, user ID, session ID, device information, business label, and the like. The data interface of the data collection process supports multiple transmission modes such as API, file import, and database synchronization, and the data transmission format can adopt the json format. The key fields of the real-time collected events and the meanings of the key fields are shown in Table 1.

[0101] Table 1

[0102]

[0103] It can be understood that the embodiment can also adjust the sampling frequency through adaptive gradient sampling processing when collecting the page click data. Specifically, the embodiment dynamically adjusts the data collection frequency by monitoring the resource status such as CPU usage rate and memory occupation of the client in real time. For example, in a high-load scenario, the collection frequency of high-frequency events (PV) can be reduced preferentially, so as to maintain the collection density of core events (CV), so as to avoid affecting the user experience in a high-load scenario. The process of the adaptive gradient sampling processing of the embodiment is shown in Table 2.

[0104] Table 2

[0105]

[0106] In the embodiment of the present application, the obtained page click data can include but is not limited to user ID, user click time, geographic location and the like. Specifically, as shown in the embodiment, the process of obtaining the second user behavior data from the page click data includes but is not limited to steps S310 to S330: Figure 3

[0107] Step S310, obtaining information dimensions in the page click data;

[0108] Step S320, determining a preset noise processing mode corresponding to each information dimension;

[0109] Step S330, performing noise processing on the page click data corresponding to each information dimension according to the preset noise processing mode to obtain the second user behavior data.

[0110] Specifically, the information dimensions of the embodiment can include but are not limited to user personal information dimensions, time dimensions, location dimensions and the like. When the information dimension is the user personal information dimension, the embodiment can process the user ID by HMAC hash and update the salt value (randomly generated string) regularly. When the information dimension is the time dimension, the noise can be uniformly distributed by adding [-15s, +15s] in the event timestamp. When the information dimension is the location dimension, the GPS coordinates can be converted into H3 geographic grid encoding (resolution level adjustable) to perform fuzzy processing on the geographic location information.

[0111] It can be understood that the data collection process of the embodiment is completed on the client side. The embodiment can also pre-process the real-time collected data on the edge, thereby effectively reducing the data transmission amount, effectively improving the transmission efficiency, and further accelerating the system response speed of the server. Specifically, the edge computing process of the embodiment can be a combination of PV practice aggregation, CV trajectory compression, data packet encoding and the like to perform preliminary data aggregation. The process of PV practice aggregation can be to merge the same page access times in every 30-second window. The process of CV trajectory compression can be to simplify the click coordinate sequence by using the Douglas-Peucker algorithm. The process of data packet encoding can be to use Protobuf+Snappy compression to reduce the volume to 18% of the original JSON.

[0112] It can be understood that after obtaining the page click data, the second user behavior data and the page element information, the embodiment can form the first user behavior data after preliminary processing of these information on the edge. These user behavior data can represent the operation state of the user on the software in a certain time period or time point.

[0113] ​Specifically, after obtaining the first user behavior data, the embodiment pre-processes the first user behavior data to obtain a user behavior feature vector. As shown in Figure 4 It can be understood that the data uploaded by the edge terminal in the embodiment is raw data in JSON format, and there may be abnormal data as shown in Table 3 in the data, and the length of each data and the like may not be the same. Therefore, the embodiment sequentially performs data cleaning, standardization processing as shown in Table 4 on the first user behavior data uploaded by the edge terminal to remove abnormal values and unify the data format, and then vectorizes the user behavior data of the same data format to obtain the user behavior feature vector, thereby facilitating the subsequent software value evaluation processing process. In the embodiment of the present application, the user behavior data can include but is not limited to behavior events, page elements, user information and the like. The behavior events can include but are not limited to mouse trajectory coordinates, keyboard input speed, page scrolling speed, page dwell time and the like; the page elements can include but are not limited to page IDs; and the user information can include but is not limited to anonymized user IDs, device types and the like.

[0114] Table 3

[0115]

[0116] Table 4

[0117]

[0118]

[0119] It can be understood that after obtaining the fourth user behavior data after standardization, the embodiment can extract a preset field in the fourth user behavior data, then encode the preset field to obtain an encoded vector, and then splice the encoded vector according to a preset splicing rule to obtain a user behavior feature vector, so as to complete the vectorization processing process of the user behavior data. Specifically, the preset field in the embodiment can be a field related to the user behavior data, and the encoding method can use the One-Hot encoding method. After encoding, the embodiment splices the encoded feature vectors of different types according to a predefined order to form a final user behavior feature vector.

[0120] It can be understood that after obtaining the user behavior feature vectors of different types, the embodiment performs an aggregation operation on all the user behavior feature vectors to obtain target aggregation data. As shown inFigure 4 As shown, the process of the aggregation operation includes, but is not limited to, steps S410 to S430:

[0121] Step S410, processing the user behavior feature vector based on the client fingerprint to obtain a to-be-verified behavior feature vector;

[0122] Step S420, performing data authenticity verification on the to-be-verified behavior feature vector to obtain a to-be-clustered behavior feature vector;

[0123] Step S430, performing an aggregation operation on the to-be-clustered behavior feature vector based on a preset clustering center to obtain target aggregation data.

[0124] In the embodiment of the present application, the client fingerprint can be composed of user ID + event type + page hash + time window SHA256 first 16 bits. Specifically, after obtaining the client fingerprint, the embodiment constructs a context feature set of user behavior through the context construction model trained on the terminal side, which refers to the user behavior feature vector containing the behavior sequence, user state and operation environment. Then the context features in the context feature set are normalized and encoded to generate a feature vector, which is compared with the normal behavior feature vector to determine whether the current user behavior data is consistent with the historical data by calculating the similarity score. If not, it is considered that the current user behavior data may be fake or abnormal data, so as to refuse or mark the processing, so as to avoid the distortion of real-time collected user behavior data caused by malicious browser or robot script, and thus complete the processing process of the user behavior feature vector to obtain the to-be-verified behavior feature vector consistent with the real situation.

[0125] It can be understood that the embodiment will also perform data authenticity verification on the to-be-verified behavior feature vector. Specifically, the embodiment can use different verification methods in different data stages. Among them, in the data accumulation period, the preset basic general verification rule and data signature can be used as the main authenticity verification means, wherein the basic general verification rule includes various rules listed in Table 5:

[0126] Table 5

[0127]

[0128] Specifically, in the data maturation period, the embodiment can introduce cross-validation of user behavior based on a machine learning algorithm in the model driving stage, and also introduce incremental learning and feedback closed loop optimization. Every preset time period, the latest data is extracted from the database to fine-tune the model to update the model parameters, and then the fine-tuned model generates a clustering center. Then, based on the clustering center, the clustering operation is performed on the behavior feature vector to be clustered, so that the data representing the typical behavior mode of the high-value user can be obtained, which can be used to evaluate the software value. Specifically, the embodiment can also distribute these typical behavior models and corresponding abnormal score thresholds to the SDK of the client, so that the client SDK can adjust the threshold configuration of the local verification model according to these information, and then improve the accuracy of the client in identifying high-value user behavior.

[0129] It can be understood that, after obtaining the target aggregated data, the embodiment performs usage statistics of the software based on the target aggregated data. Specifically, the embodiment calculates the PV and CV of the key business process based on the target aggregated data to realize usage statistics of the key business process. Among them, the embodiment can realize the usage statistics process according to a three-layer hierarchical aggregation strategy: the first layer: Apache Flink is used to realize real-time window calculation, track the client user session state, filter page access events based on predefined business event types, and remove duplicates according to user ID and page ID; the second layer: hourly rolling aggregation, write to ClickHouse database cluster; the third layer: daily offline batch processing, generate final usage statistics results.

[0130] In the embodiment of the present application, after obtaining the usage statistics results, the embodiment can use Grafana and other tools to realize visualization of the calculation and analysis results. Among them, the usage statistics results include page usage statistics results of a single software, PV / CV active rate statistical analysis of key business processes, and statistical analysis of investment benefit evaluation of each system, and API interface is provided to support export of PV / CV raw data or aggregated report for subsequent in-depth analysis. Specifically, the visualization chart specifically includes but is not limited to heat map, trend chart and ranking list. Among them, the heat map is used to show the PV / CV peak value in different time periods; the trend chart is used to compare the historical active rate change; the ranking list is used to show the high active business process after sorting according to PV / CV. Specifically, after performing usage statistics on the usage process of a single software, the embodiment can show the usage monitoring trend chart of the single software as shown in Figure 5 ; the embodiment can also analyze the number of user visits and the number of page openings in a certain time period in the software usage process according to the real-time collected data, as shown in Figure 6 ; and the embodiment can also show the ranking list of the high active business process according to the PV / CV, as shown in Figure 6It can be seen that at 11 o'clock, the number of users asking questions of the software is 2346, and the number of page openings of the software is 3678.

[0131] It can be understood that after obtaining the usage statistics result, the software value evaluation can also be performed based on the usage statistics result. Specifically, as shown in Figure 7 the software value evaluation process includes but is not limited to steps S710 and S720:

[0132] Step S710, obtaining weight data corresponding to the evaluation dimension in the software usage value evaluation model, wherein the size of the evaluation dimension is adjusted by the type of the software to be collected;

[0133] Step S720, performing software value evaluation according to the usage statistics result and the weight data.

[0134] Specifically, the software usage value evaluation model can be as shown in Table 6:

[0135] Table 6

[0136]

[0137]

[0138] The embodiment evaluates the software value to quantify the core indicators (such as the comprehensive score 83.2) and economic benefits (such as ROI 13%). Among them, the software usage value evaluation model in the quantification process supports dynamic adjustment of weight and dimension, so as to adapt to the evaluation needs of different types of software, and thus improve the accuracy of the actual software value evaluation result.

[0139] In the embodiment of the application, as Figure 8 shown, the complete processing process of the method of the embodiment of the application in the application process includes but is not limited to the following steps:

[0140] Data collection: in the data collection process, the collected data can be adaptively gradient sampled, fused with differential privacy, and preprocessed by edge computing;

[0141] Data preprocessing: the collected data is processed by data cleaning and data standardization;

[0142] Aggregation and storage: after the standardized data is de-duplicated and aggregated, the data is stored, so as to provide data support in the subsequent data analysis process;

[0143] PVCV calculation: based on the aggregated data, usage statistics result is generated, wherein the usage statistics result includes PV and CV;

[0144] Evaluation result generation: based on the usage statistics results, the software value evaluation results are output after the software value evaluation by the evaluation model.

[0145] Visualization: based on different types of usage statistics results, visual trend charts are generated, so that the software usage statistics results can be intuitively displayed.

[0146] In the embodiments of the present application, when the method implemented by the present application is applied to a newly built marketing management system, the embodiments need to monitor the user behavior data in the software in real time to evaluate the software value of the newly built marketing management system and provide optimization suggestions for subsequent continuous investment and optimization. Specifically, the embodiments include but are not limited to the following steps when the system is applied:

[0147] Step one, the core function "product payment" of the marketing management system software is disassembled into multiple key business processes (for example: login process, payment process, search process, etc.), and each sub-process is composed of a series of preset events. For example, as shown in Table 7:

[0148] Table 7

[0149]

[0150]

[0151] Step two, data collection: the key fields in the collected data can include event type, timestamp, user ID, session ID, device information, business label and other information as shown in Table 8:

[0152] Table 8

[0153]

[0154] Step three, data preprocessing: after cleaning and standardizing the collected data, the user ID is hashed, and sensitive data such as identity and address are encrypted to ensure the security of the data in transmission and storage. For example, as shown in Table 9:

[0155] Table 9

[0156]

[0157]

[0158] Step four, aggregation and analysis based on pre-processed data: the pre-processed data can be processed by the client fingerprint, and then the data authenticity is checked, and the aggregated operation is performed based on the checked data, and then the software usage statistics can be performed based on the aggregated data, so that the software value evaluation can be performed based on the usage statistics results.

[0159] From the above, it can be seen that the embodiments of the application can provide SDK for data collection, so that the unified collection process of user behavior data in all to-be-collected software can be realized, the comprehensiveness of data collection is improved, and it is not necessary to set sampling rules for each to-be-collected software, thereby effectively reducing the design and maintenance cost of sampling rules; then the software usage data in the whole process is analyzed, thereby improving the accuracy of software value evaluation. At the same time, the software statistical data is visually and intuitively displayed, thereby helping the staff to quickly understand the software usage state.

[0160] Reference Figure 9 The embodiments of the application provide a software value evaluation device, and the device comprises:

[0161] The first module 910 is configured to collect first user behavior data of each to-be-collected software through a preset collection rule.

[0162] The second module 920 is configured to pre-process the first user behavior data to obtain a user behavior feature vector.

[0163] The third module 930 is configured to perform an aggregation operation on the user behavior feature vector through a preset aggregation rule to obtain target aggregation data.

[0164] The fourth module 940 is configured to perform usage statistics according to the target aggregation data to obtain usage statistics results.

[0165] The fifth module 950 is configured to perform software value evaluation according to the usage statistics results.

[0166] It can be understood that the contents in the above method embodiments are applicable to the device embodiments, the device embodiments specifically realize the same functions as the above method embodiments, and achieve the same beneficial effects as the above method embodiments.

[0167] The embodiments of the application also provide an electronic device, which comprises a memory and a processor, the memory stores a computer program, and the processor realizes the above method when executing the computer program. The electronic device can be any intelligent terminal including a tablet computer, a vehicle-mounted computer, etc.

[0168] It can be understood that the contents in the above method embodiments are all applicable to the present device embodiments, the present device embodiments specifically implement the functions same as those of the above method embodiments, and achieve the same beneficial effects as those of the above method embodiments.

[0169] Please refer to Figure 10 , Figure 10 The hardware structure of the electronic device of another embodiment is illustrated, and the electronic device comprises:

[0170] The processor 1010 can be implemented in a manner of a general CPU (Central Processing Unit), a microprocessor, an ASIC (Application Specific Integrated Circuit), or one or more integrated circuits, and is used to execute related programs to implement the technical solutions provided by the present application.

[0171] The memory 1020 can be implemented in a form of a ROM (Read Only Memory), a static storage device, a dynamic storage device, or a RAM (Random Access Memory). The memory 1020 can store an operating system and other application programs. When the technical solutions provided by the present application are implemented by software or firmware, the related program codes are stored in the memory 1020 and are called and executed by the processor 1010 to implement the above method of the present application.

[0172] The input / output interface 1030 is used to realize information input and output.

[0173] The communication interface 1040 is used to realize the communication interaction between the present device and other devices. The communication can be realized in a wired manner (for example, a USB, a network cable, etc.) or in a wireless manner (for example, a mobile network, WIFI, Bluetooth, etc.).

[0174] The bus 1050 is used to transmit information between various components (for example, the processor 1010, the memory 1020, the input / output interface 1030, and the communication interface 1040) of the device.

[0175] The processor 1010, the memory 1020, the input / output interface 1030, and the communication interface 1040 are connected to each other in the device through the bus 1050.

[0176] The present application also provides a computer readable storage medium, which stores a computer program. When the computer program is executed by a processor, the above method is implemented.

[0177] It can be understood that the contents in the above method embodiments are all applicable to the present storage medium embodiments, the present storage medium embodiments specifically implement the functions same as those of the above method embodiments, and achieve the same beneficial effects as those of the above method embodiments.

[0178] The memory, as a non-transitory computer readable storage medium, can be used to store non-transitory software programs and non-transitory computer executable programs. In addition, the memory can include a high-speed random access memory, and can also include a non-transitory memory, such as at least one magnetic disk storage device, a flash memory device, or other non-transitory solid-state memory device. In some embodiments, the memory can optionally include a memory disposed remotely relative to the processor, and these remote memories can be connected to the processor through a network. Examples of the above network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof.

[0179] The embodiments described in the present application embodiments are for more clearly illustrating the technical solutions of the present application embodiments, and do not constitute a limitation on the technical solutions provided by the present application embodiments. Those skilled in the art can know that, with the evolution of technology and the appearance of new application scenarios, the technical solutions provided by the present application embodiments are also applicable to similar technical problems.

[0180] Those skilled in the art can understand that the technical solutions shown in the figures do not constitute a limitation on the present application embodiments, and can include more or fewer steps than those shown in the figures, or combine certain steps, or different steps.

[0181] The device embodiments described above are only schematic, and the units described as separate components can or can not be physically separate, that is, can be located in one place, or can be distributed on multiple network units. According to actual needs, part or all of the modules can be selected to achieve the purpose of the present embodiment scheme.

[0182] Those skilled in the art can understand that all or some steps in the above disclosed method, the functional modules / units in the system and the device can be implemented as software, firmware, hardware and their appropriate combinations.

[0183] The terms "first", "second", "third", "fourth", and the like in the description and in the claims of this application, if any, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the use of the terms so termed is interchangeable under appropriate circumstances such that the embodiments of the application described herein are, for example, capable of orderly or chronological mundane operation, reverse order operation, based on circuitry availability, based on stated preference or the like, and that "default" or other orderings are thus permissible. Further, the terms "comprise", "comprising", "include", "including", and the like, are specifically intended to be open-ended. That is, references to individual steps and the like do not suhstantially exclude the presence of two or more of a given step or its integral presence in the process, method, system, article, or apparatus having been made with a wider scope. The use of notation such as "first", "second", "third", etc. does not generally limit the areas, but can be used for clarity, and merely establishes the order of the steps or placement of components. Moreover, singular forms "a", "an" and "the" include plural referents unless the context clearly dictates otherwise.

[0184] It should be understood that, in the application, "at least one" means one or more, and "multiple" means two or more. "And / or", used to describe the relationship between associated objects, means that there can be three relationships, for example, "A and / or B" can mean that there are only A, only B, and A and B at the same time, where A and B can be singular or plural. The character " / " generally represents an "or" relationship between the associated objects. "At least one of the following" or the like means any combination of these items, including single or multiple combinations. For example, at least one of a, b or c can mean a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple.

[0185] In several embodiments provided in the application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only illustrative, for example, the division of the above-mentioned units is only a logical functional division, and actual implementation can have another division manner, for example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the displayed or discussed objects can be indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.

[0186] The units described above as separate components can or can not be physically separated, and the components shown as units can or can not be physical units, i.e. they can be located in one place or distributed on multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the embodiment.

[0187] In addition, each function unit in each embodiment of the present application can be integrated in one processing unit, or each unit can be physically present separately, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware or in the form of a software function unit.

[0188] If the integrated unit is realized in the form of a software function unit and sold or used as an independent product, it can be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the present application, essentially or in part, or all or part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium, and includes multiple instructions used to cause a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods in the embodiments of the present application. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and various other media that can store programs.

[0189] The preferred embodiments of the embodiments of the present application are described above with reference to the accompanying drawings, and are not limited to the scope of the embodiments of the present application. Any modifications, equivalent replacements and improvements made by those skilled in the art without departing from the scope and essence of the embodiments of the present application shall be within the scope of the embodiments of the present application.

Claims

1. A software value assessment method, characterized in that: The method comprises the following steps: Collect the first user behavior data of each software to be collected through preset collection rules; Preprocessing the first user behavior data to obtain a user behavior feature vector; Performing an aggregation operation on the user behavior feature vector according to a preset aggregation rule to obtain target aggregated data; Perform usage statistics based on the target aggregated data to obtain usage statistics results; Perform software value assessment based on the usage statistics.

2. The method according to claim 1, characterized in that The collecting of the first user behavior data of each software to be collected by using the preset collection rules includes: Split the preset functional process corresponding to each of the software to be collected into several sub-processes; Obtaining the preset event of the sub-process; Embedding a counting code in the preset event; Obtain page click data of the preset event through the counting code; Processing the page click data to obtain second user behavior data; Obtaining page element information corresponding to the page click data in the preset event; The first user behavior data is generated according to the page click data, the second user behavior data and the page element information.

3. The method according to claim 2, characterized in that The processing of the page click data to obtain the second user behavior data includes: Obtaining information dimensions from the page click data; Determining a preset noise processing method corresponding to each of the information dimensions; Noise processing is performed on the page click data corresponding to each information dimension according to the preset noise processing method to obtain second user behavior data.

4. The method according to claim 1, wherein The preprocessing of the first user behavior data to obtain a user behavior feature vector includes: Cleaning the first user behavior data to obtain third user behavior data; performing standardization processing on the third user behavior data to obtain fourth user behavior data; The fourth user behavior data is vectorized to obtain the user behavior feature vector.

5. The method according to claim 4, characterized in that Vectorizing the fourth user behavior data to obtain the user behavior feature vector includes: Extracting a preset field from the fourth user behavior data; Encoding the preset field to obtain an encoding vector; The encoding vectors are spliced ​​according to a preset splicing rule to obtain the user behavior feature vector.

6. The method according to claim 1, characterized in that The aggregating operation on the user behavior feature vector using a preset aggregation rule to obtain target aggregated data includes: Processing the user behavior feature vector based on the client fingerprint to obtain a behavior feature vector to be verified; Performing data authenticity verification on the behavior feature vector to be verified to obtain the behavior feature vector to be clustered; The target aggregated data is obtained by performing an aggregation operation on the behavior feature vectors to be clustered based on a preset cluster center.

7. The method according to claim 1, characterized in that The software value assessment based on the usage statistics includes: Obtaining weight data corresponding to evaluation dimensions in a software usage value evaluation model, where the size of the evaluation dimension is adjusted according to the type of software to be collected; The software value is evaluated based on the usage statistics and the weight data.

8. A software value assessment device, characterized in that: The device comprises: The first module is used to collect the first user behavior data of each software to be collected according to the preset collection rules; A second module is configured to preprocess the first user behavior data to obtain a user behavior feature vector; The third module is used to perform an aggregation operation on the user behavior feature vector according to a preset aggregation rule to obtain target aggregated data; A fourth module is configured to perform usage statistics based on the target aggregated data to obtain usage statistics results; The fifth module is used to evaluate the software value based on the usage statistics.

9. An electronic device, characterized in that: include: at least one processor; at least one memory for storing at least one program; When the at least one program is executed by the at least one processor, the at least one processor implements the method according to any one of claims 1 to 7.

10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.

Citation Information

Cited By

  • Resource security information data processing method and system, terminal and medium

    CN120995438A

  • A resource security information data processing method, system, terminal and medium

    CN120995438B