Method for providing push notification, electronic device, and recording medium having instructions recorded thereon
The method prioritizes and schedules push notifications using user and campaign data to ensure e-commerce users receive relevant promotions efficiently, addressing the issue of irrelevant notifications and enhancing campaign effectiveness.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-12-10
- Publication Date
- 2026-03-19
AI Technical Summary
E-commerce users receive numerous push notifications for promotional campaigns they are not interested in, leading to discomfort and hindering campaign objectives, despite the need for personalized and efficient delivery of campaign content.
A method and system to prioritize and schedule push notifications based on user and campaign data, using a learning model to determine high-priority campaigns and optimal delivery times, ensuring users receive relevant notifications efficiently.
Users receive targeted push notifications with higher relevance, reducing discomfort and optimizing campaign effectiveness by delivering high-priority promotions at optimal times.
Smart Images

Figure KR2024020116_19032026_PF_FP_ABST
Abstract
Description
Method for providing push notifications, electronic device, and recording medium recording commands
[0001] The present disclosure relates to a technology for providing push notifications associated with a promotional campaign.
[0002] Unlike traditional offline commerce, e-commerce services are gaining significant popularity as a method of providing goods and services via the internet. Operators of these e-commerce services are employing various strategies to increase sales in a highly competitive market environment. One important strategy involves grouping e-commerce users based on attributes such as order history, age, address, and gender, and conducting customized promotional campaigns to promote specific products or services tailored to each user group. However, to achieve the objectives of these promotional campaigns, users need to be able to perceive the campaign content quickly and easily. To this end, e-commerce service providers can deliver the details of promotional campaigns tailored to each user group in real-time to users via devices such as smartphones or computers in the form of push notifications.
[0003] Users of e-commerce services may belong to multiple user groups simultaneously and receive push notifications associated with various promotional campaigns targeting these groups. However, among the push notifications received by a user, there may not be any related to the promotional campaigns that the user is actually interested in. Furthermore, receiving an excessive number of push notifications may cause users to feel uncomfortable, potentially leading them to eventually refuse to receive them. This can ultimately hinder the achievement of the objectives of the promotional campaigns. Therefore, the present disclosure provides a technology that prioritizes providing push notifications associated with high-priority promotional campaigns to a user among various promotional campaigns targeting the user.
[0004] In one aspect of the present disclosure, a method for providing push notifications associated with a promotional campaign may be proposed. The method according to the present disclosure may be a method performed by an electronic device. The method according to the present disclosure comprises: acquiring campaign data for each of one or more first promotional campaigns and user data for each of one or more users, wherein the campaign data indicates one or more user groups associated with each of the one or more first promotional campaigns, and the user data indicates one or more user groups to which each of the one or more users belongs; generating first association data for each of the one or more users, based on the campaign data and the user data, indicating one or more second promotional campaigns among the one or more first promotional campaigns associated with one or more user groups to which each of the one or more users belongs; and determining a priority among the one or more second promotional campaigns for each of the one or more users, based on the first association data. For each of the above one or more users, the method may include the step of determining one or more third promotional campaigns to send push notifications among the one or more second promotional campaigns based on the priority among the one or more second promotional campaigns; and for each of the above one or more users, the method may include the step of generating second association data indicating a time slot to send push notifications associated with each of the one or more third promotional campaigns within a predetermined time window.
[0005] According to one embodiment, the step of generating the first association data may include: identifying a promotional campaign associated with a first user group among one or more first promotional campaigns and a first user belonging to the first user group among one or more users based on the campaign data and the user data; associating the promotional campaign associated with the first user group and the first user based on the campaign ID (identifier) of the promotional campaign associated with the first user group and the user ID of the first user; and generating the first association data that directs the promotional campaign associated with the first user group to the first user group as a result of associating the promotional campaign associated with the first user group and the first user.
[0006] According to one embodiment, for each of the one or more users, the step of determining the priority among the one or more second promotional campaigns based on the first associated data may include the step of determining the priority among the one or more second promotional campaigns associated with the first user among the one or more users. Additionally, for each of the one or more users, the step of determining the one or more third promotional campaigns to send push notifications among the one or more second promotional campaigns based on the priority among the one or more second promotional campaigns may include the step of determining the one or more third promotional campaigns based on the priority among the one or more second promotional campaigns for the first user.
[0007] According to one embodiment, the step of determining priority among one or more second promotional campaigns associated with the first user may include: dividing the time window into a first time window and a second time window based on a predetermined reference time slot within the time window—the first time window is a time window from the start of the time window until before the reference time slot, and the second time window is a time window from the reference time slot until the end of the time window—; determining priority among one or more second promotional campaigns in the first time window based on a first event associated with the first time window; and determining priority among one or more second promotional campaigns in the second time window based on a second event associated with the second time window.
[0008] According to one embodiment, the step of determining the priority among the one or more second promotional campaigns in the first time window based on a first event associated with the first time window may include determining the priority among the one or more second promotional campaigns in the first time window such that among the one or more second promotional campaigns, the promotional campaign associated with the first event has a higher priority than the promotional campaign not associated with the first event.
[0009] According to one embodiment, the step of determining the priority among the one or more second promotional campaigns in the second time window based on a second event associated with the second time window may include determining the priority among the one or more second promotional campaigns in the second time window such that among the one or more second promotional campaigns, the promotional campaign associated with the second event has a higher priority than the promotional campaign not associated with the second event.
[0010] According to one embodiment, for the first user, the step of determining the one or more third promotional campaigns based on the priority among the one or more second promotional campaigns may include: a step of selecting a predetermined number of one or more promotional campaigns in order of priority among the one or more second promotional campaigns for the first time window based on the priority among the one or more second promotional campaigns for the first time window based on the priority among the one or more second promotional campaigns for the second time window based on the priority among the one or more second promotional campaigns for the second time window based on the priority among the one or more second promotional campaigns for the second time window based on the priority among the one or more second promotional campaigns for the second time window. Additionally, the one or more third promotional campaigns determined for the first user may include one or more promotional campaigns selected for the first time window and one or more promotional campaigns selected for the second time window.
[0011] According to one embodiment, for each of the one or more users, the step of determining the one or more third promotional campaigns to send push notifications among the one or more second promotional campaigns based on the priority among the one or more second promotional campaigns may include inputting the user data for the first user among the one or more users and the campaign data for each of the one or more second promotional campaigns associated with the first user into a learning model trained to determine the priority among the one or more promotional campaigns, and obtaining data indicating the one or more third promotional campaigns determined for the first user as the output of the learning model.
[0012] According to one embodiment, the learning model may be a model learned based on learning data including pairs of user selection history and priorities for push notifications associated with each of the one or more first promotional campaigns.
[0013] According to one embodiment, the campaign data for each of the one or more first promotional campaigns includes a campaign ID for each of the one or more first promotional campaigns and campaign metadata for each of the one or more first promotional campaigns, and the campaign metadata for each of the one or more first promotional campaigns may include a string indicating the title of each of the one or more first promotional campaigns.
[0014] According to one embodiment, the user data for each of the one or more users may include the user ID of each of the one or more users.
[0015] According to one embodiment, the second associated data may indicate a promotional campaign to send a push notification and a user associated with the promotional campaign for each of one or more time slots that divide the time window into predetermined time intervals.
[0016] The method according to the present disclosure may further include the steps of: identifying a target promotional campaign for a target time slot and a target user associated with the target promotional campaign among one or more time slots within the time window based on the second associated data; and providing a target push notification associated with the target promotional campaign in the target time slot to the target user.
[0017] In one aspect of the present disclosure, an electronic device for providing push notifications associated with a promotional campaign may be proposed. The electronic device according to the present disclosure comprises one or more processors and one or more memories in which instructions executed by the one or more processors are stored, and when the instructions are executed by the one or more processors, the one or more processors may be configured to execute a method according to the present disclosure.
[0018] In one aspect of the present disclosure, a non-transient computer-readable recording medium may be proposed that records instructions for providing push notifications associated with a promotional campaign. Instructions recorded on the non-transient computer-readable recording medium according to the present disclosure may be configured to cause one or more processors to execute a method according to the present disclosure.
[0019] According to one embodiment of the present disclosure, among several promotional campaigns targeting users, a push notification associated with a high-priority promotional campaign can be provided to the user first.
[0020] In addition, according to one embodiment of the present disclosure, even in a situation where the number of push notifications that can be provided to a user during a day is limited, push notifications associated with promotional campaigns that the user is likely to be interested in can be provided.
[0021] The effects according to the technical concept of the present disclosure are not limited to those mentioned above, and other unmentioned effects will be clearly understood by a person skilled in the art from the description in the specification.
[0022] FIG. 1 is a drawing showing a system according to one embodiment of the present disclosure.
[0023] FIG. 2 is a block diagram of a computing device according to one embodiment of the present disclosure.
[0024] FIG. 3 is a diagram showing the relationship between a promotional campaign, a push notification, and a user according to one embodiment of the present disclosure.
[0025] FIG. 4 is a diagram showing an example of campaign data for a promotional campaign according to one embodiment of the present disclosure.
[0026] FIG. 5 is a diagram showing push notification data for a push notification associated with a promotional campaign according to one embodiment of the present disclosure.
[0027] FIG. 6 is a diagram showing an example of user data for a user associated with a promotional campaign according to one embodiment of the present disclosure.
[0028] FIG. 7 is a diagram showing the relationship between a promotional campaign and a user group according to one embodiment of the present disclosure.
[0029] FIG. 8 is a diagram illustrating a process of selecting a promotional campaign to provide push notifications to a user from among one or more promotional campaigns associated with a user belonging to one or more user groups according to one embodiment of the present disclosure.
[0030] FIG. 9 is a diagram illustrating the entire process of providing push notifications associated with a promotional campaign according to one embodiment of the present disclosure.
[0031] FIG. 10 is a diagram illustrating a process for acquiring campaign data and user data in an offline layer according to one embodiment of the present disclosure.
[0032] FIG. 11 is a diagram illustrating a process for generating first associated data in an offline layer according to one embodiment of the present disclosure.
[0033] FIG. 12 is a diagram illustrating a process of generating second associated data in an offline layer according to one embodiment of the present disclosure.
[0034] FIG. 13 is a diagram illustrating a process for determining one or more third promotional campaigns to send push notifications to among one or more second promotional campaigns based on the priority among one or more second promotional campaigns associated with a user according to one embodiment of the present disclosure.
[0035] FIG. 14 is a diagram illustrating a process for determining priority between one or more second promotional campaigns associated with a user according to one embodiment of the present disclosure.
[0036] FIG. 15 is a diagram illustrating a process of generating second association data through a learning model to determine the priority between one or more second promotional campaigns associated with a user according to one embodiment of the present disclosure.
[0037] FIG. 16 is a diagram illustrating a process for scheduling the transmission of a push notification associated with a promotional campaign based on second associated data in a scheduler layer according to one embodiment of the present disclosure.
[0038] FIG. 17 is a diagram illustrating a process for transmitting push notifications associated with a promotional campaign in an application layer according to one embodiment of the present disclosure.
[0039] FIG. 18 is a diagram illustrating a process for transmitting push notifications associated with a promotional campaign in an application layer according to one embodiment of the present disclosure.
[0040] FIG. 19 is a diagram illustrating a process for transmitting push notifications associated with a promotional campaign at an application layer according to one embodiment of the present disclosure.
[0041] FIG. 20 is a diagram illustrating a method for providing push notifications associated with a promotional campaign according to one embodiment of the present disclosure.
[0042] FIG. 21 is a diagram illustrating a method for providing push notifications associated with a promotional campaign according to one embodiment of the present disclosure.
[0043] The various embodiments described in this disclosure are illustrative for the purpose of clearly explaining the technical concept of this disclosure and are not intended to limit it to specific embodiments. The technical concept of this disclosure includes various modifications, equivalents, alternatives, and embodiments selectively combined from all or part of each embodiment described in this disclosure. Furthermore, the scope of the technical concept of this disclosure is not limited to the various embodiments presented below or the specific descriptions thereof.
[0044] Terms used in this disclosure, including technical or scientific terms, may have the meaning generally understood by those skilled in the art to which this disclosure pertains, unless otherwise defined.
[0045] In the present disclosure, expressions such as “comprising,” “may compose,” “possessing,” “possessing,” “having,” “possessing,” etc., mean that the subject feature (e.g., function, operation, or component, etc.) exists and do not exclude the existence of other additional features. That is, such expressions should be understood as open-ended terms implying the possibility of including other embodiments.
[0046] In the present disclosure, singular expressions may include the meaning of the plural form unless the context otherwise indicates, and this applies likewise to singular expressions described in the claims.
[0047] In the present disclosure, expressions such as "first," "second," or "first," "second," etc., are used to distinguish one object from another when referring to a plurality of objects of the same kind, unless otherwise indicated in the context, and do not limit the order or importance of said objects.
[0048] In the present disclosure, expressions such as “A, B, and C,” “A, B, or C,” “A, B, and / or C,” or “at least one of A, B, and C,” “at least one of A, B, or C,” “at least one of A, B, and / or C,” “at least one selected from A, B, and C,” “at least one selected from A, B, or C,” “at least one selected from A, B, and / or C,” etc., may mean each listed item or all possible combinations of listed items. For example, “at least one selected from A and B” may refer to (1) A, (2) at least one of A, (3) B, (4) at least one of B, (5) at least one of A and at least one of B, (6) at least one of A and B, (7) at least one of B and A, and (8) all of A and B.
[0049] In the present disclosure, expressions such as "a", "b", "c", etc. may represent any number depending on the context.
[0050] In the present disclosure, the expression “based on (or according to)” is used to describe at least one factor affecting an act or action of a decision or judgment described in the phrase or sentence containing said expression, and said expression does not exclude additional factors affecting said act or action of a decision or judgment.
[0051] In the present disclosure, determining B based on A means considering A in determining B, and does not exclude additional consideration of information other than A.
[0052] In the present disclosure, the expression that a certain component (e.g., a first component) is "connected" or "connected" to another component (e.g., a second component) may mean that the certain component is not only directly connected or connected to the other component, but is also connected or connected through a new other component (e.g., a third component).
[0053] In the present disclosure, "configured to" may, depending on the context, have the meanings of "set to," "having the ability to," "modified to," "made to," or "capable of doing." Such expression is not limited to the meaning of "specifically designed in hardware," and, for example, a processor configured to perform a specific operation may mean a special purpose computer structured through programming to perform said specific operation.
[0054] In the present disclosure, the "learning model" may be designed to implement the structure of the human brain on a computer and may include a plurality of network nodes having weights that simulate neurons of a human neural network. The plurality of network nodes simulate the synaptic activity of neurons transmitting and receiving signals through synapses and may have interconnected relationships. In the learning model, the plurality of network nodes may be located in layers of different depths and may exchange data according to convolutional connections. For example, the learning model may be an artificial neural network model, a regression analysis model, etc. Meanwhile, the present disclosure is not limited thereto, and various types of models for analyzing data may be used.
[0055] In the present disclosure, the "training process" may refer to a process in which a training model extracts and analyzes features (patterns) of pairs of input and output data of training data, and repeats the process of deriving correlations between input and output data, and optimizes the parameters of the training model based on the correlations between input and output data.
[0056] In the present disclosure, the "inference process" may refer to a process in which a learning model applies a pattern previously learned to new input data to generate output data as a result of prediction or classification of the input data.
[0057] Various embodiments of the present disclosure will be described below with reference to the accompanying drawings. In the accompanying drawings and the description thereof, identical or substantially equivalent components may be given the same reference numerals. Furthermore, in the description of the various embodiments below, the description of identical or corresponding components may be omitted, but this does not mean that such components are not included in the embodiments.
[0058] FIG. 1 is a drawing showing a system (100) according to one embodiment of the present disclosure. According to one embodiment, the system (100) may include at least one of an electronic device (110) or a user terminal (120). Meanwhile, FIG. 1 is merely an example of the system (100) and the present disclosure is not limited thereto. For example, other configurations not shown in FIG. 1 may also be included in the system (100).
[0059] According to one embodiment, an electronic device (110) and a user terminal (120) are connected via a network and can communicate with each other. Meanwhile, FIG. 1 illustrates an example in which one user terminal (120) communicates with the electronic device (110) via a network, but this is merely for convenience of explanation, and the number of user terminals (120) that can communicate with the electronic device (110) via a network can vary. That is, each of one or more user terminals (120) can access the e-commerce service provided by the electronic device (110). In addition, FIG. 1 illustrates only a preferred embodiment for achieving the purpose of the present disclosure, and some components may be added as needed.
[0060] According to one embodiment, the electronic device (110) may be a device or server that provides push notifications associated with a promotional campaign. For example, the electronic device (110) may transmit push notifications associated with a promotional campaign to a user terminal (120). To this end, the electronic device (110) may manage data for providing push notifications associated with a promotional campaign. For example, the electronic device (110) may have control over and perform a series of operations to process the data for providing push notifications associated with a promotional campaign. For example, the electronic device (110) may create, store, or modify data for providing push notifications associated with a promotional campaign.
[0061] According to one embodiment, the user terminal (120) may be a terminal owned by a user of an e-commerce service. For example, the user terminal (120) may receive a push notification associated with a promotional campaign from an electronic device (110) and display it on a display. For example, the user terminal (120) may receive a user's selection input regarding a push notification associated with a promotional campaign and transmit the selection input regarding the push notification to the electronic device (110). In this case, the user terminal (120) may receive page data regarding the promotional campaign associated with the push notification selected by the user from the electronic device (110). Based on the received page data, the user terminal (120) may display a page regarding the promotional campaign associated with the push notification selected by the user on a display. Meanwhile, in the present disclosure, the history of a user selecting a push notification to receive a page regarding a promotional campaign may be expressed as a landing schema.
[0062] For example, a web browser or an application may be installed on the user terminal (120) so that the user can use the e-commerce service through the user terminal (120). The user can run an application that provides the e-commerce service on the user terminal (120) and use the e-commerce service on various pages provided by the electronic device (110) through the application.
[0063] According to one embodiment, the user terminal (120) may be any one of devices such as a desktop computer, a laptop computer, a tablet computer, a wearable device, or a smartphone, but is not limited thereto, and the user terminal (120) may be any device capable of receiving data from a user or outputting data to a user, and communicating with an electronic device (110) or other devices through a network.
[0064] According to one embodiment, the user terminal (120) can provide data received from the electronic device (110) to the user, and can receive input from the user and transmit it to the electronic device (110).
[0065] According to one embodiment, the network may serve to connect an electronic device (110) and a user terminal (120) or other external devices. For example, the network may provide a connection path so that the user terminal (120) can be connected to the electronic device (110) and transmit and receive packet data with the electronic device (110). For example, the network may be implemented as any type of wired or wireless network, such as a Local Area Network (LAN), a Wide Area Network (WAN), a Mobile Radio Communication Network, or a Wibro (Wireless Broadband Internet).
[0066] According to one embodiment, the electronic device (110) and the user terminal (120) may operate as a single device. The user terminal (120) may be included in the electronic device (110) as a whole or part of the electronic device (110). For example, various data exchanged between the electronic device (110) and the user terminal (120) via a network may be various data exchanged between each component within a single device.
[0067] FIG. 2 is a block diagram of a computing device (200) according to one embodiment of the present disclosure. An electronic device (110) or a user terminal (120) may each be implemented as one or more computing devices (200).
[0068] According to one embodiment, the computing device (200) may include one or more processors (210), one or more memories (220), or a communication interface (230). Meanwhile, some components may be removed from the computing device (200), or other components (e.g., a display or an input device, etc.) may be added to the computing device (200). Additionally, some components may be implemented by integrating them, or implemented as a single or multiple entities.
[0069] According to one embodiment, one or more processors (210) may be referred to as processors (210). The term processor (210) may mean a set of one or more processors unless the context clearly indicates otherwise.
[0070] According to one embodiment, one or more memories (220) may be referred to as memory (220). The term memory (220) may mean a set of one or more memories unless the context clearly indicates otherwise.
[0071] According to one embodiment, the term communication interface (230) may mean a set of one or more communication circuits unless the context clearly indicates otherwise.
[0072] Below, each component illustrated in FIG. 2 will be described in more detail.
[0073] According to one embodiment, the processor (210) can perform operations or information processing for the control or communication of each component of the computing device (200).
[0074] For example, the processor (210) can control at least one component of the computing device (200) connected to the processor (210) by running software (or computer program) received from another component.
[0075] For example, the processor (210) can load an instruction, command, code or code segment) or information into memory (220), process the instruction or data stored in memory (220), and store the result data resulting from the processing in memory (220).
[0076] For example, the processor (210) may be operatively connected to the components of the computing device (200) to perform various operations such as computation, processing, generation, or processing related to the present disclosure.
[0077] According to one embodiment, the memory (220) may store various data. The data stored in the memory (220) may include software, which is data acquired, processed, or used by at least one component of the computing device (200). The software may include one or more instructions that cause the processor (210) to perform operations according to various embodiments of the present disclosure when loaded into the memory (220). That is, the processor (210) may perform operations according to various embodiments of the present disclosure by executing the one or more of the aforementioned instructions.
[0078] For example, the memory (220) can store item data, store data, user data, etc. For example, the memory (220) may include volatile or non-volatile memory.
[0079] For example, the program is software stored in memory (220) and may include an operating system for controlling the resources of the computing device (200), an application, or middleware that provides various functions to the application so that the application can utilize the resources of the computing device (200).
[0080] According to one embodiment, the communication interface (230) can establish a wired or wireless communication channel with another device and transmit and receive various information with the other device.
[0081] For example, the communication interface (230) may include at least one port for connecting to another device via a wired cable in order to communicate with another device via a wired cable. In this case, the communication interface (230) can communicate with another device connected via a wire through at least one port.
[0082] For example, the communication interface (230) may be configured to include a cellular communication module to be connected to a cellular network (e.g., 3G, LTE, 5G, Wibro, or Wimax).
[0083] For example, the communication interface (230) may include a short-range communication module and can transmit and receive information with other devices using short-range communication (e.g., Wi-Fi, BLE (Bluetooth, Bluetooth Low Energy), UWB).
[0084] For example, the communication interface (230) may include a contactless communication module for contactless communication. Here, contactless communication may include at least one contactless proximity communication technology, such as Near Field Communication (NFC) communication, Radio Frequency Identification (RFID) communication, or Magnetic Secure Transmission (MST) communication. In addition to the various examples described above, the computing device (200) may be implemented in various known ways for communicating with other devices, and the scope of the present disclosure is not limited by the examples described above.
[0085] According to one embodiment, the computing device (200) may include a display. The display may display various screens (e.g., pages or push notifications) based on the control of the processor (210). For example, a web browser or a dedicated application may be installed on the computing device (200) to display various screens on the display. Additionally, the display may be configured to interact with a user and may receive user input from the user. Such a display may be implemented in the form of a touch sensor panel (TSP) capable of recognizing contact or proximity of various external objects (e.g., a user's finger or stylus).
[0086] According to one embodiment, the computing device (200) may include an input device (e.g., a mouse or a keyboard). The input device may receive information to be used in a component of the computing device (200) from outside the computing device (200) (e.g., a user).
[0087] The processor (210), memory (220), and communication interface (230) shown in FIG. 2 are connected to each other via a bus, GPIO (General Purpose Input / Output), SPI (Serial Peripheral Interface), or MIPI (Mobile Industry Processor Interface), etc., to give or receive information or signals.
[0088] Hereinafter, methods according to various embodiments of the present disclosure will be described in detail. It should be noted that although operations are illustrated in a specific order in the drawings below, the operations must not necessarily be executed in the specific order illustrated or in a sequential order, or all illustrated operations must be executed to obtain the desired result.
[0089] Additionally, the operation of the method described below with reference to the drawings may be performed by an electronic device (110). In other words, the operation of the method may be implemented by one or more instructions executed by a processor (210) of one or more computing devices (200) capable of implementing the electronic device (110). All operations included in this method may be performed by a single physical computing device, but, for example, the first operation of the method may be performed by the first computing device and the second operation of the method may be performed by the second computing device. That is, the operations included in the method may be performed by being divided among multiple computing devices.
[0090] In the following, the explanation will continue by assuming that the operation of the above-described method is performed by the processor (210) of the electronic device (110) shown in FIG. 1 or one or more computing devices (200) capable of implementing the electronic device (110). Additionally, for convenience of explanation, the subject of the operation included in the method may be omitted, but unless otherwise indicated in the context, it may be interpreted that the operation is performed by the processor (210) of the electronic device (110) or one or more computing devices (200) capable of implementing the electronic device (110).
[0091] FIG. 3 is a diagram illustrating the association relationship (300) between a promotional campaign (310), a push notification (320), and a user (330) according to one embodiment of the present disclosure. According to one embodiment, a promotional campaign (310) may be associated with one push notification (320). For example, a push notification (320) associated with a promotional campaign (310) may be provided to one or more users (330) associated with the promotional campaign (310). For example, one or more users (330) may be users belonging to a user group targeted by the promotional campaign (310). Meanwhile, FIG. 3 illustrates one user (330), but this is for convenience of explanation, and the promotional campaign (310) may be associated with one user (330) or multiple users (330).
[0092] FIG. 4 is a diagram illustrating an example of campaign data (400) for a promotional campaign (310) according to one embodiment of the present disclosure. According to one embodiment, the campaign data (400) may include at least one of a campaign ID (410), campaign metadata (420), user group data (430), or push notification transmission settings (440) of the promotional campaign (310). Meanwhile, FIG. 4 merely illustrates an example of data fields that may be included in the campaign data (400) for the promotional campaign (310), and some of the components of the campaign data (400) may be omitted, or other components may be included in the campaign data (400).
[0093] According to one embodiment, the campaign ID (410) of a promotional campaign (310) may be an identifier uniquely assigned to the promotional campaign (310) among one or more promotional campaigns generated by an e-commerce service provider. For example, the promotional campaign (310) may be distinguished from other promotional campaigns based on the campaign ID (410) of the promotional campaign (310).
[0094] According to one embodiment, the campaign metadata (420) of the promotional campaign (310) may be data for describing the promotional campaign (420).
[0095] For example, campaign metadata (420) may include a string indicating the title of the promotional campaign (310).
[0096] For example, campaign metadata (420) may include the content of a promotional campaign (310).
[0097] For example, campaign metadata (420) of a promotional campaign (310) for promoting a specific product may include product data for the product. For example, the product data may include at least one of a product name, image, price, capacity, quantity, weight, brand, rating, reviews, or order benefits. For example, the order benefits included in the product data are benefits provided when ordering the product, and may include at least one of a discount on the payment amount of the product or a discount coupon issuance benefit.
[0098] For example, campaign metadata (420) of a promotional campaign (310) for promoting a specific online store may include store data for the online store. For example, the store data may include at least one of a store name, an image, a list of orderable products, order benefits, ratings, or reviews. For example, the list of orderable products may include products sold at the online store. For example, the order benefits included in the store data are benefits provided when ordering products at the online store, and may include at least one of a discount on the payment amount of the product or a discount coupon issuance benefit.
[0099] According to one embodiment, user group data (430) of a promotional campaign (310) may include user group IDs of user groups targeted by the promotional campaign (310). For example, user group data (430) of a promotional campaign (310) may include one or more user group IDs. In this case, the promotional campaign (310) may be associated with one or more user groups indicated by one or more user group IDs. Additionally or alternatively, user group data (430) of a promotional campaign (310) may include the user IDs of one or more users belonging to the user groups targeted by the promotional campaign (310).
[0100] According to one embodiment, the push notification transmission setting (440) of the promotional campaign (310) may indicate the transmission time of the push notification associated with the promotional campaign (310). For example, the push notification transmission setting (440) may indicate a time slot to transmit the push notification associated with the promotional campaign (310) among one or more time slots within a predetermined time window. In this case, the promotional campaign (310) may be associated with a time slot to transmit the push notification associated with the promotional campaign (310) within a predetermined time window by the push notification transmission setting (440) of the promotional campaign (310).
[0101] FIG. 5 is a diagram showing push notification data (500) for a push notification (320) associated with a promotional campaign (310) according to one embodiment of the present disclosure. According to one embodiment, the push notification data (500) may include at least one of a push notification ID (510) or a push notification content (520) of the push notification (320). Meanwhile, FIG. 5 merely illustrates examples of data fields that may be included in the push notification data (500) for the push notification (320), and some of the components of the push notification data (500) may be omitted, or other components may be included in the push notification data (500).
[0102] According to one embodiment, the push notification ID (510) of the push notification (320) may be an identifier assigned to the push notification (320) when the transmission of the push notification (320) is scheduled and the push notification (320) is generated. For example, the push notification (320) may be distinguished from other push notifications based on the push notification ID (510) of the push notification (320).
[0103] According to one embodiment, the push notification content (520) of the push notification (320) may be generated based on the campaign metadata (420) of the promotional campaign (310). For example, in the case of a promotional campaign (310) for promoting a specific product, the push notification content (520) may be generated based on at least a portion of the product data included in the campaign metadata (420). For example, the push notification content (520) may include a string generated based on at least a portion of the product data included in the campaign metadata (420), such as "Try ordering product A." For example, in the case of a promotional campaign (310) for promoting a specific online store, the push notification content (520) may be generated based on at least a portion of the store data included in the campaign metadata (420). For example, the push notification content (520) may include a string generated based on at least a portion of the store data included in the campaign metadata (420), such as "Try ordering product C at store B." Meanwhile, in the present disclosure, the operation of providing a push notification (320) associated with a promotional campaign (310) may be expressed as the operation of transmitting push notification data (500) for a push notification (320) associated with a promotional campaign (310).
[0104] FIG. 6 is a diagram illustrating an example of user data (600) for a user (330) associated with a promotional campaign (310) according to one embodiment of the present disclosure. According to one embodiment, the user data (600) may include at least one of the user ID (610), user metadata (620), or user group data (630) of the user (330). Meanwhile, FIG. 6 merely illustrates an example of data fields that the user data (600) for the user (330) may include, and some of the components of the user data (600) may be omitted, or other components may be included in the user data (600).
[0105] According to one embodiment, the user ID (610) of the user (330) may be an identifier uniquely assigned to the user (330) among a plurality of users of the e-commerce service. For example, the user ID (610) of the user (330) may be a serial number (memberSRL) that can identify the user (330) among a plurality of users. For example, the user (330) may be distinguished from other users based on the user ID (610) of the user (330).
[0106] According to one embodiment, user metadata (620) of a user (330) may be data for describing the user (330). For example, user metadata (620) may include at least one of the user's (330) name, phone number, address, age, gender, or family composition. For example, family composition may include the number of people, whether or not there are children, etc.
[0107] For example, user metadata (620) can be used together with campaign metadata (420) to generate push notification content (520). That is, push notification content (520) can be generated based on at least a portion of campaign metadata (420) and at least a portion of user metadata (620). For example, in the case of a promotional campaign (310) to promote a specific product, push notification content (520) can be generated based on at least a portion of product data included in campaign metadata (420) and at least a portion of user metadata (620). For example, push notification content (520) can include a string generated based on the product name of the product data included in campaign metadata (420) and the name included in user metadata (620), such as "D, please order product E." For example, in the case of a promotional campaign (310) to promote a specific online store, the push notification content (520) may be generated based on at least some of the store data included in the campaign metadata (420) and at least some of the user metadata (620). For example, the push notification content (520) may include a string generated based on the store name of the store data included in the campaign metadata (420), the age and name of the user metadata (620), such as "F, who is in their 20s, how about the G store that is popular among people in their 20s these days?" In this way, by generating the push notification content (520) of the push notification (320) based on the user metadata (620) of the user (330), it becomes possible to provide a personalized push notification (320) to the user (330). Here, the push notification data (500) of the personalized push notification (320) to the user (330) may be understood to include the personalized push notification content (520) for the user (330).
[0108] According to one embodiment, the user group data (630) of a user (330) may include one or more user group IDs to which the user (330) belongs. For example, if the user (330) belongs to user group 1 and user group 2, the user group data (630) may include the user group ID of user group 1 and the user group ID of user group 2.
[0109] FIG. 7 is a diagram illustrating an association (700) between a promotional campaign (711, 712, 713, 714) and a user group (721, 722, 723) according to one embodiment of the present disclosure. Meanwhile, the association (700) illustrated in FIG. 7 is merely an example for explaining an embodiment, and the present disclosure is not limited thereto. According to one embodiment, a promotional campaign (711, 712, 713, 714) may be associated with one or more user groups (721, 722, 723). Referring to FIG. 7, a promotional campaign 1 (711) may be associated with user group 1 (721) and user group 3 (723). In this case, a push notification associated with the promotional campaign 1 (711) may be provided to one or more users belonging to user group 1 (721) and one or more users belonging to user group 3 (723). Promotional campaign 2 (712) may be associated with user group 1 (721) and user group 2 (722). In this case, push notifications associated with promotion campaign 2 (712) may be provided to one or more users belonging to user group 1 (721) and one or more users belonging to user group 2 (722). Promotional campaign 3 (713) may be associated with user group 2 (722) and user group 3 (723). In this case, push notifications associated with promotion campaign 3 (713) may be provided to one or more users belonging to user group 2 (722) and one or more users belonging to user group 3 (723). Promotional campaign 4 (714) may be associated with user group 2 (722) and user group 3 (723). In this case, push notifications associated with the promotional campaign 4 (714) may be provided to one or more users in user group 2 (722) and one or more users in user group 3 (723). Meanwhile, a user may belong to multiple user groups at the same time.For example, users belonging to user group 1 (721) and user group 3 (723) may receive push notifications associated with promotional campaign 1 (711), push notifications associated with promotional campaign 2 (712), push notifications associated with promotional campaign 3 (713), and push notifications associated with promotional campaign 4 (714). If a user receives an excessive number of push notifications, the user may eventually refuse to receive push notifications, and thus the purpose of the promotional campaign may not be achieved. Therefore, it is necessary to provide push notifications to the user that do not exceed a predetermined number, while prioritizing the provision of push notifications associated with one or more promotional campaigns associated with the user that the user is likely to be interested in.
[0110] FIG. 8 is a diagram illustrating a process (800) for selecting a promotional campaign (711, 713) to provide a push notification to a user (810) among one or more promotional campaigns (711, 712, 713, 714) associated with a user (810) belonging to one or more user groups (721, 722) according to one embodiment of the present disclosure. According to one embodiment, based on the priority among one or more promotional campaigns (711, 712, 713, 714) associated with the user (810), a predetermined number of promotional campaigns (711, 713) with a high priority among one or more promotional campaigns (711, 712, 713, 714) may be selected as the promotional campaigns to provide a push notification to the user (810). Referring to FIG. 8, users (810) belonging to user group 1 (721) and user group 2 (722) may be associated with promotional campaign 1 (711), promotional campaign 2 (712), promotional campaign 3 (713), and promotional campaign 4 (714). In this case, priority may be determined among promotional campaign 1 (711), promotional campaign 2 (712), promotional campaign 3 (713), and promotional campaign 4 (714). For example, it may be determined to have higher priority in the order of promotional campaign 1 (711), promotional campaign 3 (713), promotional campaign 2 (712), and promotional campaign 4 (714). For example, a predetermined number of promotional campaigns may be selected in order of highest priority from among promotional campaign 1 (711), promotional campaign 2 (712), promotional campaign 3 (713), and promotional campaign 4 (714). Here, the predetermined number may be the total number of push notifications that can be provided to the user (810) during a predetermined time window. This may be predetermined by the operator of the e-commerce service.For example, if the predetermined number is 1, the highest priority promotional campaign 1 (711) among promotional campaign 1 (711), promotional campaign 2 (712), promotional campaign 3 (713), and promotional campaign 4 (714) may be selected. That is, a push notification associated with promotional campaign 1 (711) may be provided to the user (810). For example, if the predetermined number is 2, promotional campaign 1 (711) and promotional campaign 3 (713) may be selected in order of highest priority among promotional campaign 1 (711), promotional campaign 2 (712), promotional campaign 3 (713), and promotional campaign 4 (714). That is, a push notification associated with promotional campaign 1 (711) and a push notification associated with promotional campaign 3 (713) may be provided to the user (810).
[0111] FIG. 9 is a diagram illustrating an overall process (900) for providing push notifications associated with a promotional campaign according to an embodiment of the present disclosure. According to an embodiment, the functions of an electronic device (110) may be divided into an offline layer (910), a scheduler layer (920), and an application layer (930). Hereinafter, the operations performed by the offline layer (910), the operations performed by the scheduler layer (920), and the operations of the application layer (930) may be understood as the operations of the electronic device (110) or the processor (210) of a computing device (200) capable of implementing the electronic device (110). According to an embodiment, the process (900) for providing push notifications associated with a promotional campaign may be performed by the interaction between the offline layer (910), the scheduler layer (920), and the application layer (930). For example, the offline layer (910) may be a layer having the function of identifying the association between a promotional campaign, a user, a push notification, and a time slot. For example, the scheduler layer (920) may be a layer having the function of scheduling the transmission of push notifications associated with a promotional campaign based on the association between the promotional campaign, the user, the push notification, and the time slot. For example, the application layer (930) may be a layer having the function of providing the scheduled push notifications to the user.
[0112] According to one embodiment, the offline layer (910) can obtain campaign data (400) for each of one or more promotional campaigns and user data (600) for each of one or more users. This can be described by referring to the description in FIG. 10.
[0113] According to one embodiment, the offline layer (910) can generate first association data (911) regarding the association between users and promotional campaigns based on campaign data (400) and user data (600). This can be described by referring to the description in FIG. 11.
[0114] According to one embodiment, the offline layer (910) may determine the priority among one or more promotional campaigns associated with a user based on the first association data (911). For example, the offline layer (910) may select a predetermined number of promotional campaigns in order of highest priority among one or more promotional campaigns associated with a user. Here, the predetermined number may be the total number of push notifications that can be provided to the user (810) during a predetermined time window. For example, the offline layer (910) may generate second association data (912) regarding the association between the promotional campaign selected for the user and the time slots to transmit push notifications associated with the promotional campaign selected for the user within the predetermined time window. Here, the predetermined time window may be a valid time window in which push notifications can be provided to the user. Push notifications may be restricted from being provided to the user during time intervals that are not such a valid time window. This may be explained by referring to the descriptions in FIGS. 12, 13, 14, and 15.
[0115] According to one embodiment, the scheduler layer (920) can identify a target promotional campaign (922) associated with a target time slot (921) among one or more time slots within a predetermined time window based on the second associated data (912). For example, the scheduler layer (920) can schedule the transmission of a target push notification (931) associated with the target promotional campaign (922). That is, in scheduling the transmission of a target push notification (931) associated with the target promotional campaign (922), the scheduler layer (920) can instruct the application layer (930) to transmit the target push notification (931) associated with the target promotional campaign (922). This can be described by referring to the description in FIG. 16.
[0116] According to one embodiment, the application layer (930) may generate a target push notification (931) scheduled by the scheduler layer (920). For example, the application layer (930) may generate a target push notification (931) based on campaign data (400) for a target campaign (922) or user data (600) for a target user (923). For example, the application layer (930) may transmit the generated target push notification (931). This may be described with reference to the descriptions in FIGS. 17, 18, and 19.
[0117] FIG. 10 is a diagram illustrating a process (1000) for obtaining campaign data (400) and user data (600) in an offline layer (910) according to one embodiment of the present disclosure. According to one embodiment, the offline layer (910) may obtain campaign data (400) for each of one or more first promotional campaigns and user data (600) for each of one or more users from a database (1010) managed by an e-commerce service provider. For example, the offline layer (910) may transmit a query message to the database (1010) requesting campaign data (400) and user data (600). The offline layer (910) may receive campaign data (400) and user data (600) from the database (1010) in response to the query message.
[0118] FIG. 11 is a diagram illustrating a process (1100) for generating first association data (911) in an offline layer (910) according to one embodiment of the present disclosure. According to one embodiment, the offline layer (910) can generate first association data (911) regarding the association relationship between a user and a promotional campaign by mutually associating a promotional campaign and a user associated with the same user group based on campaign data (400) and user data (600). For example, in associating a promotional campaign and a user associated with the same user group, the offline layer (910) can identify a user belonging to a specific user group among one or more first promotional campaigns indicated by campaign data (400) and one or more users indicated by user data (600). The offline layer (910) can associate a promotional campaign and a user associated with the same user group based on the campaign ID of the promotional campaign associated with the specific user group and the user ID of the user belonging to that user group. For example, the offline layer (910) can associate a promotional campaign and a user associated with the same user group by appending the campaign ID of the promotional campaign associated with the user group to the user ID of a user belonging to a specific user group. The offline layer (910) can generate first association data (911) by performing the above action for each of one or more users.
[0119] For example, the first association data (911) may include one or more rows in the form of a lookup table. Here, each row in the first association data (911) may indicate a user and a list of second promotional campaigns associated with that user. That is, each row in the first association data (911) may include a user ID and one or more campaign IDs added thereto. Additionally, each row in the first association data (911) may include campaign metadata (420) for each of the second promotional campaigns associated with the user.
[0120] FIG. 12 is a diagram illustrating a process (1200) for generating second association data (912) in an offline layer (910) according to one embodiment of the present disclosure. According to one embodiment, the offline layer (910) can determine priority among one or more second promotional campaigns associated with a user based on first association data (911). Referring to FIG. 12, the offline layer (910) can determine priority among one or more second promotional campaigns associated with User 1 within the first association data (911). The offline layer (910) can determine priority among one or more second promotional campaigns associated with User 2 within the first association data (911). In this way, the offline layer (910) can determine priority among one or more second promotional campaigns associated with User M within the first association data (911).
[0121] According to one embodiment, the offline layer (910) may determine one or more third promotional campaigns to send push notifications to among one or more second promotional campaigns associated with the user based on the priority among one or more second promotional campaigns associated with the user. For example, the offline layer (910) may determine a predetermined number of one or more third promotional campaigns in order of highest priority among one or more second promotional campaigns associated with the user. Here, the predetermined number may be the total number of push notifications that can be provided to the user (810) during a predetermined time window. This may be predetermined by the operator of the e-commerce service. Referring to FIG. 12, the offline layer (910) may determine Promotional Campaign 1 and Promotional Campaign 4 among one or more second promotional campaigns (Promotional Campaign 1, Promotional Campaign 4, ..., Promotional Campaign 9) associated with User 1 as the third promotional campaigns to send push notifications. The offline layer (910) may determine that among one or more second promotional campaigns (promotional campaign 2, promotional campaign 6, ..., promotional campaign 10) associated with User 2, Promotional Campaign 2 and Promotional Campaign 6 are the third promotional campaigns to send push notifications. In this way, for each of one or more users, the offline layer (910) may determine one or more third promotional campaigns to send push notifications from among one or more second promotional campaigns.
[0122] According to one embodiment, the offline layer (910) may generate second association data (912) that indicates a time slot to send a push notification associated with each of one or more third promotional campaigns determined for a user within a predetermined time window. For example, the second association data (912) may include one or more rows in the form of a reference table. Here, each row in the second association data (912) may indicate one time slot among one or more time slots within a predetermined time window, a promotional campaign to send a push notification in that time slot, and a user associated with that promotional campaign. Referring to FIG. 12, the first row of the second association data (912) may indicate time slot 1 within a predetermined time window, a promotional campaign 1 to send a push notification in time slot 1, and a user 1 associated with promotional campaign 1. The second row of the second associated data (912) may indicate time slot 1 within a predetermined time window, promotional campaign 2 to send a push notification in time slot 1, and user 2 associated with promotional campaign 2. The fourth row of the second associated data (912) may indicate time slot 2 within a predetermined time window, promotional campaign 4 to send a push notification in time slot 2, and user 1 associated with promotional campaign 4. Meanwhile, the form of the second associated data (912) illustrated in FIG. 12 is merely an example for explaining an embodiment, and the present disclosure is not limited thereto.
[0123] FIG. 13 is a diagram illustrating a process (1300) for determining one or more third promotional campaigns (promotional campaign 1, promotional campaign 4, promotional campaign 8, promotional campaign 9) to send push notifications to, among one or more second promotional campaigns (promotional campaign 1, promotional campaign 4, promotional campaign 8, promotional campaign 9), based on the priority among one or more second promotional campaigns (promotional campaign 1, promotional campaign 4, promotional campaign 8, promotional campaign 9) associated with a user (user 1) (1310) according to one embodiment of the present disclosure. Hereinafter, for convenience of explanation, the user 1 (1310) of FIG. 13 is assumed to be the user 1 of FIG. 12. According to one embodiment, the offline layer (910) can identify one or more second promotional campaigns (promotional campaign 1, promotional campaign 4, promotional campaign 8, promotional campaign 9) associated with user 1 (1310) based on first associated data (911). For example, the offline layer (910) can determine the priority among one or more second promotional campaigns (promotional campaign 1, promotional campaign 4, promotional campaign 8, promotional campaign 9) associated with User 1 (1310). For example, the offline layer (910) can determine one or more third promotional campaigns in a predetermined order of priority among one or more second promotional campaigns (promotional campaign 1, promotional campaign 4, promotional campaign 8, promotional campaign 9) associated with User 1 (1310). For example, if the predetermined number is two, the offline layer (910) can determine promotional campaign 1 (1321) and promotional campaign 4 (1331) as third promotional campaigns.In this case, the second associated data (912) may direct Promotional Campaign 1 (1321) and User 1 (1310) to send Push Notification 1 (1322) in Time Slot 1 (1323) within a predetermined time window, and Promotional Campaign 4 (1331) and User 1 (1310) to send Push Notification 4 (1332) in Time Slot 2 (1333). Alternatively, for example, if the predetermined number is 1, the offline layer (910) may determine Promotional Campaign 1 (1321) as the third promotional campaign. In this case, the second associated data (912) may direct Promotional Campaign 1 (1321) and User 1 (1310) to send Push Notification 1 (1322) in Time Slot 1 (1323) within a predetermined time window.
[0124] FIG. 14 is a diagram illustrating a process (1400) for determining priority among one or more second promotional campaigns associated with a user according to one embodiment of the present disclosure. According to one embodiment, an offline layer (910) may determine priority among one or more second promotional campaigns associated with a user according to a rule-based process (1400). According to one embodiment, a time window (1410) may be a time interval from time slot 1 (1411) to time slot P (1415). For example, the time window (1410) may be a time interval during which push notifications can be provided to the user and may be determined in advance by an e-commerce service provider. In this way, the time window (1410) may be represented as an effective time window in that it is limited to providing push notifications to the user only within the time window (1410). For example, the time window (1410) may be a time interval from 8:00 AM to 8:00 PM.
[0125] According to one embodiment, the offline layer (910) may divide the time window (1410) into a first time window (1420) and a second time window (1430) based on a predetermined reference time slot (1413) within the time window (1410). For example, the first time window (1420) may be a time window from time slot 1 (1411), which is the start of the time window (1410), up to the reference time slot (1413). For example, the second time window (1430) may be a time window from the reference time slot (1413) up to time slot P (1415), which is the end of the time window (1410). For example, the reference time slot (1413) may be 2:00 PM. In this example, it has been described that the time window (1410) is divided into two time windows (1420, 1430), but the present disclosure is not limited thereto, and the time window (1410) may be divided into more than two time windows. Additionally, in this example, it has been described that the divided time windows are adjacent to each other but do not overlap, but the present disclosure is not limited thereto, and the time window (1410) may be divided into multiple time windows that are not adjacent to each other or overlap.
[0126] According to one embodiment, the offline tier (910) may determine the priority among one or more second promotional campaigns associated with a user in the first time window (1420) based on a first event (1421) associated with the first time window (1420). For example, the first event (1421) may be an event occurring in the first time window (1420). For example, the first event (1421) may be a lunch or a time-limited discount during the first time window (1420). For example, the offline tier (910) may determine the priority among one or more second promotional campaigns associated with a user in the first time window (1420) such that among the one or more second promotional campaigns associated with the user, the promotional campaign associated with the first event (1421) has a higher priority than the promotional campaign not associated with the first event (1421). For example, if the first event (1421) is lunch, the offline layer (910) may determine that among one or more second promotional campaigns associated with the user, a promotional campaign promoting a product that the user can order for lunch or a product that the user has a history of ordering for lunch has a higher priority than a promotional campaign promoting other products. For example, if the first event (1421) is a time-limited discount during the first time window (1420), the offline layer (910) may determine that among one or more second promotional campaigns associated with the user, a promotional campaign promoting a product with a time-limited discount set during the first time window (1420) has a higher priority than a promotional campaign promoting other products.
[0127] According to one embodiment, the offline tier (910) may determine the priority among one or more second promotional campaigns associated with the user in the second time window (1430) based on a second event (1431) associated with the second time window (1430). For example, the second event (1431) may be an event occurring in the second time window (1430). For example, the second event (1431) may be a dinner or a time-limited discount during the second time window (1430). For example, the offline tier (910) may determine the priority among one or more second promotional campaigns associated with the user in the second time window (1430) such that among the one or more second promotional campaigns associated with the user, the promotional campaign associated with the second event (1431) has a higher priority than the promotional campaign not associated with the second event (1431). For example, if the second event (1431) is dinner, the offline tier (910) may determine that among one or more second promotional campaigns associated with the user, a promotional campaign promoting a product that the user can order for dinner or a product that the user has a history of ordering for dinner has a higher priority than a promotional campaign promoting other products. For example, if the second event (1431) is a time-limited discount during the second time window (1430), the offline tier (910) may determine that among one or more second promotional campaigns associated with the user, a promotional campaign promoting a product with a time-limited discount set during the second time window (1430) has a higher priority than a promotional campaign promoting other products.
[0128] According to one embodiment, the offline layer (910) may select a predetermined number of promotional campaigns in order of highest priority among one or more second promotional campaigns associated with the user for the first time window (1420), based on the priority among one or more second promotional campaigns associated with the user in the first time window (1420).
[0129] According to one embodiment, the offline layer (910) may select a predetermined number of promotional campaigns in order of highest priority among one or more second promotional campaigns associated with the user for the second time window (1430), based on the priority among one or more second promotional campaigns associated with the user in the second time window (1430).
[0130] According to one embodiment, one or more third promotional campaigns determined for a user may include one or more promotional campaigns selected for a first time window (1420) and one or more promotional campaigns selected for a second time window (1430).
[0131] According to one embodiment, the number of push notifications that can be provided to a user during a day may be limited to X. For the first time window (1420), the offline layer (910) may select Y (Y≤X) promotional campaigns in order of highest priority from among one or more second promotional campaigns associated with the user. For the second time window (1430), the offline layer (910) may select Z (XY) promotional campaigns in order of highest priority from among one or more second promotional campaigns associated with the user.
[0132] For example, if the number of times a user orders a product in the first time window (1420) is greater than the number of times a user orders a product in the second time window (1420), Y may be a value greater than Z. For example, Z may be 0 and Y may be the same value as X. Or, if the number of times a user orders a product in the first time window (1420) is less than the number of times a user orders a product in the second time window (1430), Y may be a value smaller than Z. For example, Y may be 0 and Z may be the same value as X. Or, Y and Z may be the same value. In this case, one or more third promotional campaigns determined for the user may include Y promotional campaigns selected for the first time window (1420) and Z promotional campaigns selected for the second time window (1430).
[0133] For example, if the number of times a user selects a push notification provided in the first time window (1420) is greater than the number of times a user selects a push notification provided in the second time window (1430), Y may be a value greater than Z. For example, Z may be 0, and Y may be the same value as X. Or, if the number of times a user selects a push notification provided in the second time window (1430) is greater than the number of times a user selects a push notification provided in the first time window (1420), Y may be a value smaller than Z. For example, Y may be 0, and Z may be the same value as X. Or, Y and Z may be the same value. In this case, one or more third promotional campaigns determined for the user may include Y promotional campaigns selected for the first time window (1420) and Z promotional campaigns selected for the second time window (1430).
[0134] FIG. 15 illustrates a process (1500) for generating second association data (912) through a learning model (1510) to determine the priority between one or more second promotional campaigns associated with a user according to one embodiment of the present disclosure. According to one embodiment, the learning model (1510) may be a model learned based on learning data that includes pairs of the user's choice history regarding push notifications associated with each of the one or more second promotional campaigns associated with the user and the priority of each of the one or more second promotional campaigns during the learning process. For example, the learning data of the learning model (1510) may include pairs of the user's choice history regarding push notifications associated with the second promotional campaign associated with the user and the priority of the first promotional campaign. For example, the user's choice history regarding push notifications may include the user's landing schema regarding push notifications. For example, a user's landing schema for a push notification may include the number of times the user selected the push notification, the number of times the user received a page associated with a promotional campaign by selecting the push notification, and the number of times the user ordered a product associated with a promotional campaign by selecting the push notification. For example, the more times the user ordered a product associated with a promotional campaign by selecting the push notification, the higher the priority of that promotional campaign may be. According to one embodiment, a learning model (1510) may be trained to determine the priority among one or more promotional campaigns associated with the user during the inference process, and to determine the promotional campaign to send the push notification in order of highest priority among the one or more promotional campaigns associated with the user. For example, during the inference process, the learning model (1510) may output data indicating the promotional campaign to send the push notification among the one or more promotional campaigns associated with the user.
[0135] According to one embodiment, the offline layer (910) inputs user data (600) for a user and campaign data (400) for each of one or more second promotional campaigns associated with the user into the learning model (1510) to obtain data indicating one or more third promotional campaigns determined for the user as the output of the learning model (1510). For example, the offline layer (910) may generate second association data (912) based on the data indicating one or more third promotional campaigns determined for the user obtained as the output of the learning model (1510). Alternatively, the learning model (1510) may generate and output second association data (912) based on the result of determining one or more third promotional campaigns for each of one or more users. In this case, the offline layer (910) may obtain second association data (912) as the output of the learning model (1510).
[0136] FIG. 16 is a diagram illustrating a process (1600) for scheduling the transmission of a push notification associated with a promotional campaign based on second associated data (912) in a scheduler layer (920) according to one embodiment of the present disclosure. According to one embodiment, an effective time window (1410) capable of providing a push notification to a user may include one or more time slots (time slot 1, time slot 2, ..., time slot P) that are divided into predetermined time intervals. For example, the predetermined time interval may be 15 minutes. In this case, the time interval between time slot 1 (1411), which is the start of the effective time window (1410), and time slot 2 (1412) may be 15 minutes. Additionally, the time interval between time slot 2 (1412) and the next time slot may be 15 minutes. In this way, two adjacent time slots among one or more time slots (time slot 1, time slot 2, ..., time slot P) within the valid time window (1410) may be separated by a predetermined time interval. According to one embodiment, the second associated data (912) may direct a promotional campaign to send a push notification and a user associated with said promotional campaign for each of one or more time slots (time slot 1, time slot 2, ..., time slot P) within the valid time window (1410).
[0137] According to one embodiment, the scheduler layer (920) can identify a target promotional campaign to send a push notification and a target user associated with the target promotional campaign in each of one or more time slots (time slot 1, time slot 2, ..., time slot P) within the valid time window (1410) based on the second associated data (912). Referring to FIG. 16, when the scheduler layer (920) reaches time slot 1 (1411) within the valid time window (1410), it determines time slot 1 (1411) as the target time slot and can identify a target promotional campaign (1611) and a target user (1612) associated with the target time slot in the second associated data (912). The scheduler layer (920) can schedule the transmission of a target push notification (1613) associated with the target promotional campaign (1611). For example, the scheduler layer (920) may instruct the application layer (930) to send a target push notification (1613) associated with a target promotional campaign (1611) to the user terminal (120) of a target user (1612). When the scheduler layer (920) reaches time slot 2 (1412) within the valid time window (1410), it may determine time slot 2 (1412) as the target time slot and identify the target promotional campaign (1621) and the target user (1622) associated with the target time slot in the second associated data (912). The scheduler layer (920) may schedule the transmission of the target push notification (1623) associated with the target promotional campaign (1621). For example, the scheduler layer (920) may instruct the application layer (930) to send a target push notification (1623) associated with a target promotional campaign (1621) to the terminal (120) of the target user (1622).In this way, the scheduler layer (920) can determine time slot P (1415) as the target time slot when it reaches time slot P (1415) within the valid time window (1410), and can identify the target promotional campaign (1631) and target user (1632) associated with the target time slot in the second associated data (912). The scheduler layer (920) can schedule the transmission of the target push notification (1633) associated with the target promotional campaign (1631). For example, the scheduler layer (920) can instruct the application layer (930) to transmit the target push notification (1633) associated with the target promotional campaign (1631) to the user terminal (120) of the target user (1632).
[0138] FIG. 17 is a diagram illustrating a process (1700) for transmitting a push notification associated with a promotional campaign in an application layer (930) according to one embodiment of the present disclosure. According to one embodiment, the application layer (930) may generate a target push notification (1710) scheduled by a scheduler layer (920). For example, the application layer (930) may generate a target push notification (1710) based on campaign data (400) for a promotional campaign associated with the target push notification (1710) or user data (600) for a user associated with the promotional campaign. This may be described with reference to FIG. 5.
[0139] According to one embodiment, the application layer (930) can determine the priority of the target push notification (1710). For example, if the push notification content (520) for the target push notification (1710) is personalized for the user based on the user's user metadata (620), the application layer (930) can determine the priority of the target push notification (1710) as a high priority (1721). For example, if the push notification content (520) for the target push notification (1710) is not personalized for the user, the application layer (930) can determine the priority of the target push notification (1710) as a low priority (1723). For example, if the push notification content (520) for the target push notification (1710) is not personalized for the user but the push notification content (520) includes an image, the application layer (930) can determine the priority of the target push notification (1710) as an intermediate priority (1722).
[0140] According to one embodiment, the application layer (930) may store a priority-determined target push notification (1710) in a transmission queue (1730). For example, if the target push notification (1710) is determined to have a high priority (1721), the target push notification (1710) may be stored in the transmission queue (1730) to be transmitted before other push notifications of medium priority (1722) and other push notifications of low priority (1723).
[0141] FIG. 18 is a diagram illustrating a process (1800) for transmitting a push notification associated with a promotional campaign in an application layer (930) according to one embodiment of the present disclosure. According to one embodiment, the application layer (930) can obtain the highest priority target push notification (target push notification 1) (1810) among one or more target push notifications (target push notification 1, target push notification 2, target push notification 3, ..., target push notification R) stored in a transmission queue (1730).
[0142] According to one embodiment, the application layer (930) may input a target push notification (1810) obtained from a transmission queue (1730) into a transmission filter (1820). For example, the transmission filter (1820) may include a duplication check filter and a frequency check filter for the target push notification (1810).
[0143] For example, the duplicate check filter may indicate a condition requiring that a push notification containing the push notification content (520) of the target push notification (1810) not be sent during the valid time window (1410) during which the push notification can be provided to the user. For example, if a push notification containing the push notification content (520) of the target push notification (1810) has been sent during the valid time window (1410), the target push notification (1810) will not pass the duplicate check filter. For example, if a push notification containing the push notification content (520) of the target push notification (1810) has not been sent during the valid time window (1410), the target push notification (1810) can pass the duplicate check filter.
[0144] For example, the frequency check filter may indicate a condition requiring that the total number of push notifications already received by the target user receiving the target push notification (1810) during the valid time window (1410) does not exceed a predetermined number. For example, if the predetermined number indicated by the frequency check filter is 2 and the total number of push notifications already received by the target user receiving the target push notification (1810) during the valid time window (1410) is 2, the target push notification (1810) will not pass the frequency check filter. For example, if the predetermined number indicated by the frequency check filter is 2 and the total number of push notifications already received by the target user receiving the target push notification (1810) during the valid time window (1410) is 1, the target push notification (1810) may pass the frequency check filter.
[0145] For example, the frequency check filter may indicate a condition requiring that the target user receiving the target push notification (1810) be after a predetermined amount of time from the time the user most recently received a push notification. For example, if the predetermined amount of time indicated by the frequency check filter is 3 hours, and the time slot scheduled for the transmission of the target push notification (1810) within the valid time window (1410) is 3 hours prior to the time the user most recently received a push notification, the target push notification (1810) will not pass the frequency check filter. For example, if the predetermined amount of time indicated by the frequency check filter is 3 hours, and the time slot scheduled for the transmission of the target push notification (1810) within the valid time window (1410) is 3 hours after the time the user most recently received a push notification, the target push notification (1810) can pass the frequency check filter.
[0146] FIG. 19 is a diagram illustrating a process (1900) for transmitting a push notification associated with a promotional campaign in an application layer (930) according to one embodiment of the present disclosure. According to one embodiment, the application layer (930) may transmit a target push notification (1910) that has passed through a transmission filter (1820) to a target user's user terminal (120). For example, the target push notification (1910) may be a push notification that has passed both a duplicate check filter and a frequency check filter among one or more target push notifications (1810) input to the transmission filter (1820) in FIG. 18.
[0147] FIG. 20 is a drawing illustrating a method (2000) for providing a push notification associated with a promotional campaign according to one embodiment of the present disclosure. The method (2000) may be performed by a processor (210) of an electronic device (110) or a computing device (200) capable of implementing the electronic device (110).
[0148] In S2010, the electronic device (110) may obtain campaign data (400) for each of one or more first promotional campaigns and user data (600) for each of one or more users. According to one embodiment, the campaign data (400) for each of one or more first promotional campaigns may indicate one or more user groups associated with each of one or more first promotional campaigns. According to one embodiment, the user data (600) for each of one or more users may indicate one or more user groups to which each of one or more users belongs. This may be described with reference to the description of FIG. 10.
[0149] In S2020, the electronic device (110) may generate first association data (911) that directs one or more second promotional campaigns associated with one or more user groups to which one or more users belong, based on campaign data (400) for each of one or more first promotional campaigns and user data (600) for each of one or more users, for each of one or more users among one or more first promotional campaigns. This may be described with reference to the description in FIG. 11.
[0150] In S2030, the electronic device (110) can determine the priority between one or more second promotional campaigns based on the first associated data (911) for each of one or more users. This can be described by referring to the descriptions in FIGS. 12, 13, 14 and 15.
[0151] In S2040, the electronic device (110) may determine, for each of one or more users, one or more third promotional campaigns to send push notifications to among one or more second promotional campaigns based on the priority among one or more second promotional campaigns. This may be explained by referring to the descriptions in FIGS. 12, 13, 14 and 15.
[0152] In S2050, the electronic device (110) may generate second associated data (912) indicating a time slot for sending a push notification associated with each of one or more third promotional campaigns within a predetermined time window (1410) for each of one or more users. This may be described in the descriptions of FIGS. 12, 13, 14 and 15.
[0153] FIG. 21 is a drawing illustrating a method (2100) for providing a push notification associated with a promotional campaign according to one embodiment of the present disclosure. The method (2100) may be performed by a processor (210) of an electronic device (110) or a computing device (200) capable of implementing the electronic device (110).
[0154] In S2110, the electronic device (110) can identify a target promotional campaign for a target time slot and a target user associated with the target promotional campaign among one or more time slots within a time window (1410) based on the second associated data (912). This can be described by referring to the description in FIG. 16.
[0155] In S2120, the electronic device (110) may provide a target push notification associated with a target promotional campaign to a target user in a target time slot. This can be described in the descriptions of FIGS. 17, 18 and 19.
[0156] The methods according to the present disclosure may be methods implemented by a computing device (200) having a computer or a processor. In the present disclosure, each step of the methods is illustrated and described in a predetermined order, but the steps may be performed in an order that can be arbitrarily combined according to the present disclosure, in addition to being performed sequentially. According to one embodiment, at least some of the steps may be performed in parallel, iteratively, or heuristically. The present disclosure does not exclude changes or modifications to the methods. According to one embodiment, at least some of the steps may be omitted or other steps may be added.
[0157] Various embodiments of the present disclosure may be implemented as software recorded on a machine-readable recording medium. The software may be software for implementing the various embodiments of the present disclosure described above. The software may be inferred from the various embodiments of the present disclosure by programmers skilled in the art to which the present disclosure pertains. For example, the software may be a machine-readable instruction (e.g., code or code segment) or a program. The machine may be a device capable of operating according to instructions called from the recording medium, for example, a computer. According to one embodiment, the machine may be a computing device (200) according to the embodiments of the present disclosure. According to one embodiment, the processor of the machine may execute the called instruction to cause the components of the machine to perform a function corresponding to the instruction. According to one embodiment, the processor may be a processor (210) according to the embodiments of the present disclosure. The recording medium may mean a recording medium in which data is stored that can be read by the machine. The recording medium may include, for example, ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc. According to one embodiment, the recording medium may be a memory (220). According to one embodiment, the recording medium may be implemented in a distributed form in a computer system connected by a network, etc. Software may be stored and executed in a distributed form in a computer system, etc. The recording medium may be a non-transitory recording medium. A non-transitory recording medium refers to a tangible medium that exists regardless of whether data is stored semi-permanently or temporarily, and does not include a signal that is transmitted transitory.
[0158] Although the technical concept of the present disclosure has been described by various embodiments above, the technical concept of the present disclosure includes various substitutions, modifications, and alterations that can be made within the scope of understanding of those skilled in the art to which the present disclosure pertains. Furthermore, it should be understood that such substitutions, modifications, and alterations may be included within the scope of the appended claims. Embodiments according to the present disclosure may be combined with one another. Each embodiment may be combined in various ways depending on the circumstances, and embodiments created by combining also fall within the scope of the present disclosure.
Claims
1. In a method performed by an electronic device, A step of obtaining campaign data for each of one or more first promotional campaigns and user data for each of one or more users - said campaign data indicates one or more user groups associated with each of the one or more first promotional campaigns, and said user data indicates one or more user groups to which each of the one or more users belongs -; A step of generating first association data for each of the one or more users based on the campaign data and user data, which directs one or more second promotional campaigns associated with one or more user groups to which each of the one or more users belongs among the one or more first promotional campaigns; For each of the above one or more users, a step of determining the priority between the above one or more second promotional campaigns based on the above first association data; For each of the above one or more users, a step of determining one or more third promotional campaigns to send push notifications among the one or more second promotional campaigns based on the priority among the one or more second promotional campaigns; and A method comprising the step of generating second associated data for each of the above one or more users, indicating a time slot for transmitting a push notification associated with each of the above one or more third promotional campaigns within a predetermined time window.
2. In Paragraph 1, The step of generating the first associated data above is, A step of identifying a promotional campaign associated with a first user group among one or more first promotional campaigns and a first user belonging to the first user group among one or more users, based on the campaign data and user data; A step of associating a promotional campaign associated with the first user group and the first user based on the campaign ID (identifier) of the promotional campaign associated with the first user group and the user ID of the first user; and A method comprising the step of generating first association data that directs a promotional campaign associated with the first user group to the first user, by associating the first user with a promotional campaign associated with the first user group.
3. In Paragraph 1, For each of the above one or more users, the step of determining the priority between the one or more second promotional campaigns based on the first associated data is The method includes the step of determining a priority among one or more second promotional campaigns associated with a first user among one or more of the above users, and For each of the above one or more users, the step of determining the one or more third promotional campaigns to send push notifications among the one or more second promotional campaigns based on the priority among the one or more second promotional campaigns is: A method comprising the step of determining one or more third promotional campaigns based on the priority among one or more second promotional campaigns for the first user.
4. In Paragraph 3, The step of determining the priority among the one or more second promotional campaigns associated with the first user is, A step of dividing the time window into a first time window and a second time window based on a predetermined reference time slot within the time window - the first time window is a time window from the start of the time window up to before the reference time slot, and the second time window is a time window from the reference time slot up to the end of the time window -; A step of determining the priority between the one or more second promotional campaigns in the first time window based on a first event associated with the first time window; and A method comprising the step of determining the priority between one or more second promotional campaigns in the second time window based on a second event associated with the second time window.
5. In Paragraph 4, The step of determining the priority between the one or more second promotional campaigns in the first time window based on a first event associated with the first time window is A method comprising the step of determining the priority among the one or more second promotional campaigns in the first time window such that among the one or more second promotional campaigns, the promotional campaign associated with the first event has a higher priority than the promotional campaign not associated with the first event.
6. In Paragraph 4, The step of determining the priority among the one or more second promotional campaigns in the second time window based on a second event associated with the second time window is A method comprising the step of determining the priority among the one or more second promotional campaigns in the second time window such that among the one or more second promotional campaigns, the promotional campaign associated with the second event has a higher priority than the promotional campaign not associated with the second event.
7. In Paragraph 4, For the first user, the step of determining the one or more third promotional campaigns based on the priority among the one or more second promotional campaigns is A step of selecting a predetermined number of one or more promotional campaigns in order of highest priority among the one or more second promotional campaigns for the first time window, based on the priority among the one or more second promotional campaigns in the first time window; and Based on the priority among the one or more second promotional campaigns in the second time window, the method includes the step of selecting a predetermined number of one or more promotional campaigns in order of highest priority among the one or more second promotional campaigns for the second time window. A method wherein one or more third promotional campaigns determined for the first user include one or more promotional campaigns selected for the first time window and one or more promotional campaigns selected for the second time window.
8. In Paragraph 1, For each of the above one or more users, the step of determining the one or more third promotional campaigns to send push notifications among the one or more second promotional campaigns based on the priority among the one or more second promotional campaigns is: A method comprising the step of inputting user data for a first user among the one or more users and campaign data for each of the one or more second promotional campaigns associated with the first user into a learning model trained to determine priority among one or more promotional campaigns, and obtaining data indicating the one or more third promotional campaigns determined for the first user as the output of the learning model.
9. In Paragraph 8, A method in which the above learning model is a model learned based on learning data including pairs of user selection history and priorities for push notifications associated with each of the one or more first promotional campaigns.
10. In Paragraph 1, The campaign data for each of the one or more first promotional campaigns includes a campaign ID for each of the one or more first promotional campaigns and campaign metadata for each of the one or more first promotional campaigns, and A method in which the campaign metadata of each of the one or more first promotional campaigns comprises a string indicating the title of each of the one or more first promotional campaigns.
11. In Paragraph 1, A method in which the user data for each of the one or more users includes the user ID of each of the one or more users.
12. In Paragraph 1, The above second associated data is a method for directing a promotional campaign to send a push notification and a user associated with the promotional campaign for each of one or more time slots that divide the time window into predetermined time intervals.
13. In Paragraph 12, A step of identifying a target promotional campaign for a target time slot and a target user associated with the target promotional campaign among the one or more time slots within the time window based on the second associated data; and A method further comprising the step of providing a target push notification associated with the target promotional campaign to the target user in the target time slot.
14. In electronic devices, One or more processors, It includes one or more memories in which instructions executed by the above one or more processors are stored, and An electronic device configured such that when the instructions are executed by the above one or more processors, the above one or more processors are configured to execute a method according to any one of claims 1 to 13.
15. A non-transient computer-readable recording medium having recorded instructions that cause one or more processors to perform an operation when executed by one or more processors, The above instructions are configured to cause one or more processors to execute a method according to any one of claims 1 to 13, a non-transient computer-readable recording medium.
Citation Information
Patent Citations
Information processing device, information processing method, and information processing program
JP2024004553A
Product recommendation device and program
JP7210958B2
Targeting advertisements to groups of social networking system users
KR102038375B1
Sulfated hyaluronic acid derivatives, method of preparing the same and pharmaceutical composition for preventing or treating musculoskeletal joint disease comprising the same
KR102289245B1
Sales promotion device, sales promotion system, and sales promotion method
WO2013111827A1