System and method for processing local government donations using corporate benefit points and providing gifts based on donation-linked vouchers
Patent Information
- Application Number
- KR1020260040919
- Authority / Receiving Office
- KR · KR
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2026-03-06
- Publication Date
- 2026-09-02
- Estimated Expiration
- 2046-03-06
Smart Images

Figure 112026027690545-PAT00003_ABST
Abstract
Description
Technology Field
[0001] The embodiments of the present disclosure relate to a system and method for processing local government donations using corporate welfare points and providing return gifts based on donation-linked gift certificates. Background Technology
[0002] Donations to local governments can be made for public purposes, such as securing financial resources for the community, promoting resident welfare, and revitalizing the local economy. Institutional incentives, such as tax benefits, proof of donation performance, and the provision of return gifts, may be provided to donors. To this end, procedures such as donation application, payment approval, issuance of donation receipts, and selection and provision of return gifts are generally carried out through donation platforms provided by local governments or private payment-linked channels, with the results of the donation being communicated to the user. For example, the Hometown Love Donation System is a scheme designed to allow individuals to donate to local governments other than their registered address (the local government where they reside) and receive tax deductions on the donation amount as well as return gifts; additional rules regarding annual donation limits and tax deductions based on donation amount brackets may apply.
[0003] However, in conventional donation environments, payment settlements tend to be centered around personal payment methods such as cash, credit cards, and bank transfers, which has made it difficult to directly utilize welfare points provided by corporate welfare programs for donation payments. Welfare points provided by corporate welfare programs are typically limited to spending at in-house welfare malls or affiliated merchants, and are often subject to restrictions on usage locations, usage periods, and limits. Consequently, even if a user intends to make a donation to contribute to the local community, the lack of procedural means to link welfare points to the donation payment flow may result in the inconvenience of having to make separate payments using personal funds. In particular, although linking welfare points to donation payments requires the continuous execution of user identification, calculation of available points, deduction approval, payment confirmation, and ensuring the consistency of the donation processing results, conventional environments operate donation processing systems and welfare point management systems separately, presenting a limitation where it is difficult to ensure consistency in the linked processing.
[0004] In conventional methods of providing return gifts, the user experience may be disrupted because the results of confirmed donations and the provision of return gifts are not consistently linked based on the same transaction identifier, or users are required to navigate to a separate channel for re-authentication during the return gift application stage. In particular, even when return gifts linked to donations are provided in the form of mobile gift certificates, if gift certificate management procedures—such as issuance, validity period management, restrictions on usage locations, and verification of usage completion—are operated separately from the donation processing procedures, it becomes difficult to ensure consistency between donation records and return gift usage records, and proving the facts may become complicated in the event of a dispute.
[0005] In addition, when providing return gifts using donation-linked mobile gift certificates, the gift certificate is issued with a 1:1 mapping to the donation confirmation, and its use may be restricted to the mall providing the return gift; in this case, the scope of the gift certificate's usability may vary depending on the donor eligibility, donation amount range, and return gift policy. However, in conventional methods, the donation processing system, the gift certificate issuance system, and the return gift provision server are configured with different operating entities or data schemas, so there are cases where the donation confirmation status, the gift certificate issuance status and status, and the return gift order and provision status following gift certificate usage are not managed in an integrated manner using a single state transition rule. Consequently, in exceptional situations such as handling cases where a gift certificate is issued but the donation confirmation is canceled, cases where a donation is confirmed but the gift certificate is not issued, or cases where a return gift order is omitted even after the gift certificate has been used, reduced consistency and increased operating costs may occur.
[0006] Meanwhile, when providing return gifts in conjunction with donations to local governments, it is necessary to repeatedly adjust campaign configuration parameters—such as campaign duration, exposure channels, target segments, budget allocation, and return gift combinations—to improve performance indicators like donation participation rates, donation amounts, and mobile gift certificate usage rates. However, conventional methods face limitations in performance prediction and optimization, as past campaign results and user response patterns are not sufficiently structured to be utilized as training data, or campaign configuration exploration relies on the operator's empirical judgment or static rules. In particular, in environments where the expiration structure of welfare points, user attribute distribution, inventory status, and channel-specific budget constraints must be considered together, the absence of AI-based recommendation functions to provide users with recommended donation amounts and timing, or to offer operators campaign configuration recommendations including return gift combinations, target segments, and budget allocations, makes it difficult to achieve goals such as reducing point expiration, improving donation conversion efficiency, and enhancing campaign performance indicators based on consistent standards.
[0007] Accordingly, there is a need for a system and method for processing donations to local governments using corporate welfare points and providing return gifts based on donation-linked gift certificates. The problem to be solved
[0008] The embodiments of the present disclosure can provide a system and method for processing local government donations using corporate welfare points and providing return gifts based on donation-linked gift certificates.
[0009] The technical problems to be solved in the embodiments are not limited to those mentioned above, and other unmentioned technical problems may be considered by those skilled in the art from the various embodiments described below. means of solving the problem
[0010] In a system for issuing a mobile gift certificate in conjunction with a donation processing using welfare points according to one embodiment, and providing a return gift based on the issued mobile gift certificate, the system may include: a user terminal providing payment request information including a donation item, a donation amount, and a user identifier; a local government donation processing server that performs a donation to a local government based on the payment request information and issues a mobile gift certificate to the user terminal according to the result of the donation; a welfare point management server linked with the local government donation processing server that performs a deduction of welfare points from the welfare point account of the user terminal according to the result of the donation; and a return gift providing server that provides a return gift to the user terminal based on the mobile gift certificate. The above-mentioned return gift providing server receives gift certificate issuance information including the user identifier, gift certificate identifier, gift certificate balance, and validity period from the above-mentioned local government donation processing server, creates a gift certificate record based on the above-mentioned gift certificate issuance information, registers the gift certificate record in the dedicated account of the user terminal that matches the above-mentioned user identifier, queries the gift certificate record registered in the dedicated account of the user terminal based on the reception of a connection request from the user terminal, generates a return gift list for the user terminal based on the queried gift certificate record, transmits the return gift list to the user terminal, receives a purchase request message from the user terminal including the purchase target product and payment amount included in the return gift list, performs a deduction of the gift certificate balance based on the payment amount and the above-mentioned gift certificate balance, generates delivery order information for the purchase target product based on delivery address information pre-registered in the dedicated account of the user terminal, and transmits a purchase completion message including the delivery order information for the purchase target product to the user terminal. Effects of the invention
[0011] According to the embodiments, the present disclosure may be configured such that corporate welfare points are linked to a donation processing flow to a local government, and in response to a donation payment request from a user terminal, a local government donation processing server performs donation approval and donation confirmation processing, a welfare point management server performs available point inquiry and point deduction processing, and a return gift provision server issues a mobile gift certificate linked to the donation confirmation result and a return gift provision mall performs return gift provision processing. Accordingly, the user can complete the donation payment based on welfare points without preparing a separate cash payment method, and since the procedure for receiving the return gift after donation confirmation is processed continuously based on gift certificates, it can provide the effect of reducing the repetition of channel switching, re-authentication, and status checks that previously occurred separately for donation payment, receipt verification, and return gift application.
[0012] According to the embodiments, the present disclosure may be configured such that a return gift provision server issues a mobile gift certificate linked to the result of a confirmed donation, usage restrictions are set so that the issued mobile gift certificate is used only at the return gift provision mall, and the issuance, usage, and cancellation statuses of the gift certificate are mapped and managed as the same transaction unit as the confirmed donation status. Accordingly, since the provision of return gifts after the confirmed donation is processed by standardizing the gift certificate status transition, it can reduce problems such as the omission of return gift provision despite the donation being confirmed, the use of the gift certificate even though the donation has been canceled, and the discrepancy between the result of the return gift provision and proof of donation performance, and provide the effect of improving consistency and traceability between the donation, the gift certificate, and the return gift.
[0013] According to the embodiments, the present disclosure may be configured to calculate points scheduled to expire and the estimated balance for expiration by interval for welfare points through artificial intelligence, and to provide a recommended donation amount and a recommended donation time to a user terminal by reflecting a point fluctuation time series and user usage patterns. Accordingly, the user can be guided on the scale of donation conversion and the timing of execution, focusing on intervals with a high risk of expiration, without manually interpreting the expiration structure, thereby providing the effect of reducing point expiration and improving the predictability of donation execution.
[0014] According to the embodiments, the present disclosure combines past campaign information (campaign period, exposure channel, acquisition path, participant characteristics, return gift preference, and campaign result indicators) with current constraint information (inventory status information, user attribute information, and budget information) to calculate predicted values for participation rates, donation amounts, and mobile gift certificate usage rates for multiple campaign configuration candidates through artificial intelligence, and provides campaign configuration recommendation information, including return gift combination information, target segment information, and budget allocation information, to an administrator terminal based on the prediction results. Accordingly, the administrator can select a campaign configuration by comparing prediction results for each candidate targeting performance indicators without relying on static rules or empirical criteria, thereby improving the consistency of campaign performance and enhancing the efficiency of campaign optimization under budget and inventory constraints.
[0015] According to the embodiments, the present disclosure may be configured such that information on the completion of use of mobile gift certificates, order information for return gifts, and shipment information are linked and managed in a return gift provision server, and are connected via a combination key to donation receipt information or donation confirmation information of a local government donation processing server. Accordingly, the completion status of return gift provision is organized to correspond objectively to each confirmed donation case, allowing an administrator to collectively verify the status of return gift provision on a donation basis. Furthermore, since the processing history can be queried based on the same transaction identifier even in the event of user inquiries or disputes, this can provide the effect of improving operational efficiency.
[0016] The effects obtainable from the embodiments are not limited to those mentioned above, and other unmentioned effects can be clearly derived and understood by a person skilled in the art based on the detailed description below. Brief explanation of the drawing
[0017] The accompanying drawings, included as part of the detailed description to aid in understanding the embodiments, provide various embodiments and explain the technical features of the various embodiments together with the detailed description. FIG. 1 is a diagram showing the configuration of an electronic device according to one embodiment. FIG. 2 is a diagram showing the configuration of a program according to one embodiment. FIG. 3 shows a schematic diagram of a system that issues a mobile gift certificate in conjunction with a donation process using welfare points according to one embodiment, and provides a return gift based on the issued mobile gift certificate. FIG. 4 is a signal exchange diagram for a system that issues a mobile gift certificate in conjunction with a donation processing using welfare points according to one embodiment, and provides a return gift based on the issued mobile gift certificate. FIG. 5 is a flowchart of a method for a return gift providing server to provide recommended donation schedule information in a system that issues a mobile gift certificate in conjunction with a donation processing using welfare points according to one embodiment and provides a return gift based on the issued mobile gift certificate. FIG. 6 is a flowchart of a method for a return gift providing server to provide campaign configuration recommendation information in a system that issues mobile gift certificates in conjunction with donation processing using welfare points according to one embodiment and provides return gifts based on the issued mobile gift certificates. FIG. 7 is a block diagram showing the configuration of a return gift provision server according to one embodiment. Specific details for implementing the invention
[0018] The following embodiments are combinations of the components and features of the embodiments in a specific form. Each component or feature may be considered optional unless otherwise explicitly stated. Each component or feature may be implemented in a form not combined with other components or features. Additionally, various embodiments may be constructed by combining some components and / or features. The order of operations described in various embodiments may be changed. Some components or features of one embodiment may be included in another embodiment, or may be replaced with corresponding components or features of another embodiment.
[0019] In the description of the drawings, procedures or steps that could obscure the essence of the various embodiments were not described, nor were procedures or steps that could be understood by a person of ordinary knowledge in the relevant technical field described.
[0020] Throughout the specification, when a part is described as "comprising" or "including" a component, this means that, unless specifically stated otherwise, it does not exclude other components but may include additional components. Furthermore, terms such as "...part," "...unit," and "module" as used in the specification refer to a unit that performs at least one function or operation, and this may be implemented in hardware, software, or a combination of hardware and software. Additionally, "one (a or an)," "one," "the," and similar related terms may be used in the context describing various embodiments (particularly in the context of the following claims) in both singular and plural forms, unless otherwise indicated in the specification or clearly contradicted by the context.
[0021] Hereinafter, embodiments according to various examples will be described in detail with reference to the accompanying drawings. The detailed description disclosed below, together with the accompanying drawings, is intended to describe exemplary embodiments of various examples and is not intended to represent the only embodiment.
[0022] In addition, specific terms used in various embodiments are provided to aid in understanding the various embodiments, and the use of such specific terms may be modified in other forms within the scope of not departing from the technical concept of the various embodiments.
[0023] FIG. 1 is a diagram showing the configuration of an electronic device according to one embodiment.
[0024] FIG. 1 is a block diagram of an electronic device (101) in a network environment (100) according to various embodiments. Referring to FIG. 1, in the network environment (100), the electronic device (101) may communicate with an electronic device (102) through a first network (198) (e.g., a short-range wireless communication network) or may communicate with at least one of an electronic device (104) or a server (108) through a second network (199) (e.g., a long-range wireless communication network). According to one embodiment, the electronic device (101) may communicate with the electronic device (104) through a server (108). According to one embodiment, the electronic device (101) may include a processor (120), memory (130), input module (150), sound output module (155), display module (160), audio module (170), sensor module (176), interface (177), connection terminal (178), haptic module (179), camera module (180), power management module (188), battery (189), communication module (190), subscriber identification module (196), or antenna module (197). In some embodiments, at least one of these components (e.g., connection terminal (178)) may be omitted from the electronic device (101), or one or more other components may be added. In some embodiments, some of these components (e.g., sensor module (176), camera module (180), or antenna module (197)) may be integrated into a single component (e.g., display module (160)). The electronic device (101) may be referred to as a client, terminal, or peer.
[0025] The processor (120) can control at least one other component (e.g., hardware or software component) of the electronic device (101) connected to the processor (120) by executing software (e.g., program (140)), and can perform various data processing or operations. According to one embodiment, as at least part of the data processing or operations, the processor (120) can store commands or data received from other components (e.g., sensor module (176) or communication module (190)) in volatile memory (132), process the commands or data stored in volatile memory (132), and store the resulting data in non-volatile memory (134). According to one embodiment, the processor (120) may include a main processor (121) (e.g., central processing unit or application processor) or an auxiliary processor (123) that can operate independently or together with it (e.g., graphics processing unit, neural processing unit (NPU), image signal processor, sensor hub processor, or communication processor). For example, if the electronic device (101) includes a main processor (121) and an auxiliary processor (123), the auxiliary processor (123) may be configured to use lower power than the main processor (121) or to be specialized for a designated function. The auxiliary processor (123) may be implemented separately from the main processor (121) or as part thereof.
[0026] The auxiliary processor (123) may control at least some of the functions or states associated with at least one component of the electronic device (101) (e.g., display module (160), sensor module (176), or communication module (190)) on behalf of the main processor (121) while the main processor (121) is in an inactive (e.g., sleep) state, or together with the main processor (121) while the main processor (121) is in an active (e.g., application execution) state. According to one embodiment, the auxiliary processor (123) (e.g., image signal processor or communication processor) may be implemented as part of another functionally related component (e.g., camera module (180) or communication module (190)). According to one embodiment, the auxiliary processor (123) (e.g., neural network processing unit) may include a hardware structure specialized for processing an artificial intelligence model.
[0027] An artificial intelligence model can be generated through machine learning. Such learning may be performed, for example, on the electronic device (101) itself where the artificial intelligence model is executed, or through a separate server (e.g., server (108)). The learning algorithm may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above. The artificial intelligence model may include a plurality of artificial neural network layers. The artificial neural network may be a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), deep Q-networks, or a combination of two or more of the above, but is not limited to the examples described above. Artificial intelligence models may include software structures, either additionally or as a substitute, in addition to hardware structures.
[0028] The memory (130) can store various data used by at least one component of the electronic device (101) (e.g., processor (120) or sensor module (176)). The data may include, for example, input data or output data for software (e.g., program (140)) and related commands. The memory (130) may include volatile memory (132) or non-volatile memory (134).
[0029] The program (140) may be stored as software in memory (130) and may include, for example, an operating system (142), middleware (144), or an application (146).
[0030] The input module (150) can receive commands or data to be used for a component of the electronic device (101) (e.g., processor (120)) from outside the electronic device (101) (e.g., user). The input module (150) may include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).
[0031] The sound output module (155) can output a sound signal to the outside of the electronic device (101). The sound output module (155) may include, for example, a speaker or a receiver. The speaker may be used for general purposes, such as multimedia playback or recording playback. The receiver may be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from the speaker or as part thereof.
[0032] The display module (160) can visually provide information to an external (e.g., user) of the electronic device (101). The display module (160) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling said device. According to one embodiment, the display module (160) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of the force generated by said touch.
[0033] The audio module (170) can convert sound into an electrical signal or, conversely, convert an electrical signal into sound. According to one embodiment, the audio module (170) can acquire sound through the input module (150) or output sound through the sound output module (155) or an external electronic device (e.g., electronic device (102)) (e.g., speaker or headphones) connected directly or wirelessly to the electronic device (101).
[0034] The sensor module (176) can detect the operating state of the electronic device (101) (e.g., power or temperature) or the external environmental state (e.g., user state) and generate an electrical signal or data value corresponding to the detected state. According to one embodiment, the sensor module (176) may include, for example, a gesture sensor, a gyroscope sensor, a barometric pressure sensor, a magnetic sensor, an accelerometer sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biosensing device, a temperature sensor, a humidity sensor, or an illuminance sensor.
[0035] The interface (177) may support one or more specified protocols that can be used for the electronic device (101) to be connected directly or wirelessly to an external electronic device (e.g., electronic device (102)). According to one embodiment, the interface (177) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
[0036] The connection terminal (178) may include a connector through which the electronic device (101) can be physically connected to an external electronic device (e.g., electronic device (102)). According to one embodiment, the connection terminal (178) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0037] The haptic module (179) can convert an electrical signal into a mechanical stimulus (e.g., vibration or movement) or an electrical stimulus that the user can perceive through tactile or kinesthetic senses. According to one embodiment, the haptic module (179) may include, for example, a motor, a piezoelectric element, or an electric stimulation device.
[0038] The camera module (180) can capture still images and images. According to one embodiment, the camera module (180) may include one or more lenses, image sensors, image signal processors, or flashes.
[0039] The power management module (188) can manage the power supplied to the electronic device (101). According to one embodiment, the power management module (188) can be implemented, for example, as at least part of a power management integrated circuit (PMIC).
[0040] The battery (189) can supply power to at least one component of the electronic device (101). According to one embodiment, the battery (189) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
[0041] The communication module (190) can support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between an electronic device (101) and an external electronic device (e.g., electronic device (102), electronic device (104), or server (108)), and the performance of communication through the established communication channel. The communication module (190) may include one or more communication processors that operate independently of the processor (120) (e.g., application processor) and support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module (190) may include a wireless communication module (192) (e.g., cellular communication module, short-range wireless communication module, or GNSS (global navigation satellite system) communication module) or a wired communication module (194) (e.g., LAN (local area network) communication module, or power line communication module). The corresponding communication module among these communication modules can communicate with an external electronic device (104) through a first network (198) (e.g., a short-range communication network such as Bluetooth, WiFi (wireless fidelity) direct, or IrDA (infrared data association)) or a second network (199) (e.g., a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)). These various types of communication modules may be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (192) can identify or authenticate the electronic device (101) within a communication network such as the first network (198) or the second network (199) using subscriber information (e.g., International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module (196).
[0042] The wireless communication module (192) can support 5G networks and next-generation communication technologies following 4G networks, for example, new radio access technology. NR access technology can support high-speed transmission of high-capacity data (enhanced mobile broadband (eMBB)), minimization of terminal power and connection of multiple terminals (massive machine type communications (mMTC)), or high reliability and low latency (ultra-reliable and low-latency communications (URLLC)). The wireless communication module (192) can support a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate, for example. The wireless communication module (192) can support various technologies for securing performance in the high-frequency band, such as beamforming, massive MIMO (multiple-input and multiple-output), full-dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large-scale antenna. The wireless communication module (192) can support various requirements specified in the electronic device (101), external electronic device (e.g., electronic device (104)), or network system (e.g., second network (199)). According to one embodiment, the wireless communication module (192) can support a Peak data rate (e.g., 20 Gbps or more) for realizing eMBB, loss coverage (e.g., 164 dB or less) for realizing mMTC, or U-plane latency (e.g., downlink (DL) and uplink (UL) each 0.5 ms or less, or round trip 1 ms or less) for realizing URLLC.
[0043] An antenna module (197) can transmit a signal or power to or from an external source (e.g., an external electronic device). According to one embodiment, the antenna module (197) may include an antenna comprising a radiator made of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). According to one embodiment, the antenna module (197) may include a plurality of antennas (e.g., an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network, such as a first network (198) or a second network (199), may be selected from the plurality of antennas, for example, by a communication module (190). A signal or power may be transmitted or received between the communication module (190) and an external electronic device through the selected at least one antenna. According to some embodiments, in addition to the radiator, other components (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as part of the antenna module (197).
[0044] According to various embodiments, the antenna module (197) may form a mmWave antenna module. According to one embodiment, the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent to a first surface (e.g., bottom surface) of the printed circuit board and capable of supporting a specified high frequency band (e.g., mmWave band), and a plurality of antennas (e.g., array antennas) disposed on or adjacent to a second surface (e.g., top surface or side surface) of the printed circuit board and capable of transmitting or receiving a signal of the specified high frequency band.
[0045] At least some of the above components can be connected to each other via a communication method between peripheral devices (e.g., bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)) and exchange signals (e.g., commands or data) with each other.
[0046] According to one embodiment, commands or data may be transmitted or received between the electronic device (101) and an external electronic device (104) through a server (108) connected to a second network (199). Each of the external electronic devices (102, or 104) may be the same or different type of device as the electronic device (101). According to one embodiment, all or part of the operations performed on the electronic device (101) may be performed on one or more of the external electronic devices (102, 104, or 108). For example, if the electronic device (101) needs to perform a function or service automatically or in response to a request from a user or another device, the electronic device (101) may request one or more external electronic devices to perform at least part of the function or service instead of performing the function or service itself or additionally. One or more external electronic devices that receive the above request may execute at least part of the requested function or service, or additional function or service related to the request, and transmit the result of the execution to the electronic device (101). The electronic device (101) may provide the result as is or additionally processed as at least part of the response to the request. For this purpose, for example, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used. The electronic device (101) may provide ultra-low latency services using, for example, distributed computing or mobile edge computing. In another embodiment, the external electronic device (104) may include an Internet of Things (IoT) device. The server (108) may be an intelligent server using machine learning and / or neural networks. According to one embodiment, the external electronic device (104) or the server (108) may be included within a second network (199).The electronic device (101) can be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.
[0047] The server (108) is connected to an electronic device (101) and can provide services to the connected electronic device (101). Additionally, the server (108) may proceed with the membership registration process, store and manage various information of users who have registered as members accordingly, and provide various purchase and payment functions related to the service. Furthermore, the server (108) may share execution data of service applications running on each of multiple electronic devices (101) in real time so that services can be shared among users. In terms of hardware, this server (108) may have the same configuration as a conventional web server or service server. However, in terms of software, it may include program modules that perform various functions and are implemented through any language such as C, C++, Java, Python, Golang, Kotlin, etc. Additionally, the server (108) generally refers to a computer system that is connected to an unspecified number of clients and / or other servers through an open computer network such as the Internet, receives requests for task execution from clients or other servers, and derives and provides the results of the task, as well as computer software (server program) installed for this purpose. Furthermore, the server (108) should be understood as a broad concept that includes, in addition to the aforementioned server program, a series of application programs running on the server (108) and, in some cases, various databases (DB: Database, hereinafter referred to as "DB") built internally or externally. Accordingly, the server (108) classifies membership registration information and various information and data regarding games, stores them in the DB, and manages them; such DB can be implemented internally or externally of the server (108).Additionally, the server (108) can be implemented using various server programs provided for operating systems such as Windows, Linux, UNIX, and Macintosh on general server hardware. Representative examples include IIS (Internet Information Server) used in Windows environments and CERN, NCSA, APPACH, and TOMCAT used in UNIX environments to implement web services. Additionally, the server (108) may be linked with an authentication system and a payment system for user authentication of the service or purchase payment related to the service.
[0048] The first network (198) and the second network (199) refer to a connection structure capable of exchanging information between each node, such as terminals and servers, or a network connecting a server (108) and electronic devices (101, 104). The first network (198) and the second network (199) include, but are not limited to, the Internet, LAN (Local Area Network), Wireless LAN (Wireless Local Area Network), WAN (Wide Area Network), PAN (Personal Area Network), 3G, 4G, LTE, 5G, Wi-Fi, etc. The first network (198) and the second network (199) may be closed types such as LAN, WAN, etc., but it is preferable that they be open types such as the Internet. The Internet refers to a global open computer first network (198) and second network (199) structure that provides protocols such as TCP / IP protocol, TCP, and UDP (user datagram protocol), and various services existing in the upper layer, namely HTTP (HyperText Transfer Protocol), Telnet, FTP (File Transfer Protocol), DNS (Domain Name System), SMTP (Simple Mail Transfer Protocol), SNMP (Simple Network Management Protocol), NFS (Network File Service), and NIS (Network Information Service).
[0049] A database may have a general data structure implemented in the storage space (hard disk or memory) of a computer system using a database management program (DBMS). A database may have a data storage form that allows for the free retrieval (extraction), deletion, editing, and addition of data. A database may be implemented to suit the purpose of an embodiment of the present disclosure using a relational database management system (RDBMS) such as Oracle, Informix, Sybase, and DB2, an object-oriented database management system (OODBMS) such as Gemston, Orion, and O2, and an XML native database such as Excelon, Tamino, and Sekaiju, and may have appropriate fields or elements to achieve its functions.
[0050] FIG. 2 is a diagram showing the configuration of a program according to one embodiment.
[0051] FIG. 2 is a block diagram (200) illustrating a program (140) according to various embodiments. According to one embodiment, the program (140) may include an operating system (142), middleware (144), or an application (146) executable on the operating system (142) for controlling one or more resources of an electronic device (101). The operating system (142) may include, for example, Android™, iOS™, Windows™, Symbian™, Tizen™, or Bada™. At least some of the programs (140) may be preloaded into the electronic device (101) at manufacturing time, for example, or downloaded or updated from an external electronic device (e.g., electronic device (102 or 104), or server (108)) when used by a user. All or part of the program (140) may include a neural network.
[0052] The operating system (142) can control the management (e.g., allocation or reclamation) of one or more system resources (e.g., processes, memory, or power) of the electronic device (101). The operating system (142) may additionally or substantially include one or more driver programs for driving other hardware devices of the electronic device (101), e.g., an input module (150), an audio output module (155), a display module (160), an audio module (170), a sensor module (176), an interface (177), a haptic module (179), a camera module (180), a power management module (188), a battery (189), a communication module (190), a subscriber identification module (196), or an antenna module (197).
[0053] Middleware (144) may provide various functions to an application (146) so that functions or information provided from one or more resources of an electronic device (101) can be used by the application (146). Middleware (144) may include, for example, an application manager (201), a window manager (203), a multimedia manager (205), a resource manager (207), a power manager (209), a database manager (211), a package manager (213), a connectivity manager (215), a notification manager (217), a location manager (219), a graphics manager (221), a security manager (223), a call manager (225), or a voice recognition manager (227).
[0054] The application manager (201) can, for example, manage the life cycle of the application (146). The window manager (203) can, for example, manage one or more GUI resources used on the screen. The multimedia manager (205) can, for example, identify one or more formats required for the playback of media files and perform encoding or decoding of the corresponding media files among the media files using a codec that matches the selected corresponding format. The resource manager (207) can, for example, manage the source code of the application (146) or the memory space of the memory (130). The power manager (209) can, for example, manage the capacity, temperature, or power of the battery (189) and, using the relevant information, determine or provide relevant information required for the operation of the electronic device (101). According to one embodiment, the power manager (209) can interact with the BIOS (basic input / output system) (not shown) of the electronic device (101).
[0055] The database manager (211) can, for example, create, search, or modify a database to be used by the application (146). The package manager (213) can, for example, manage the installation or update of the application distributed in the form of a package file. The connectivity manager (215) can, for example, manage a wireless or direct connection between the electronic device (101) and an external electronic device. The notification manager (217) can, for example, provide a function to notify the user of the occurrence of a specified event (e.g., an incoming call, a message, or an alarm). The location manager (219) can, for example, manage location information of the electronic device (101). The graphics manager (221) can, for example, manage one or more graphic effects or related user interfaces to be provided to the user.
[0056] The security manager (223) may, for example, provide system security or user authentication. The telephony manager (225) may, for example, manage voice call functions or video call functions provided by the electronic device (101). The voice recognition manager (227) may, for example, transmit user voice data to the server (108) and receive from the server (108) a command corresponding to a function to be performed on the electronic device (101) based on at least part of the voice data, or text data converted based on at least part of the voice data. According to one embodiment, the middleware (244) may dynamically delete some existing components or add new components. According to one embodiment, at least part of the middleware (144) may be included as part of the operating system (142) or implemented as separate software different from the operating system (142).
[0057] The application (146) may include, for example, a home (251), a dialer (253), an SMS / MMS (255), an IM (instant message) (257), a browser (259), a camera (261), an alarm (263), a contact (265), a voice recognition (267), an email (269), a calendar (271), a media player (273), an album (275), a watch (277), a health (279) (e.g., measuring biometric information such as exercise volume or blood sugar), or an environmental information (281) (e.g., measuring atmospheric pressure, humidity, or temperature information). According to one embodiment, the application (146) may further include an information exchange application (not shown) capable of supporting information exchange between the electronic device (101) and an external electronic device. The information exchange application may include, for example, a notification relay application configured to transmit information (e.g., a call, a message, or an alarm) designated to an external electronic device, or a device management application configured to manage the external electronic device. The notification relay application may transmit notification information corresponding to a designated event (e.g., receiving mail) generated in another application of the electronic device (101) (e.g., an email application (269)) to the external electronic device. Additionally or alternatively, the notification relay application may receive notification information from the external electronic device and provide it to the user of the electronic device (101).
[0058] A device management application can control the power (e.g., turn-on or turn-off) or function (e.g., brightness, resolution, or focus) of an external electronic device or a part of its components (e.g., a display module or camera module of the external electronic device) that communicates with the electronic device (101). The device management application can additionally or substantially support the installation, deletion, or updating of applications running on the external electronic device.
[0059] Throughout this specification, the terms neural network, neural network, and network function may be used interchangeably. A neural network may consist of a set of interconnected computational units, which may generally be referred to as “nodes.” These “nodes” may also be referred to as “neurons.” A neural network is composed of at least two nodes. The nodes (or neurons) constituting neural networks may be interconnected by one or more “links.”
[0060] In a neural network, two or more nodes connected via links can form a relative relationship between an input node and an output node. The concepts of input and output nodes are relative; any node in an output node relationship with respect to one node may be in an input node relationship with respect to another node, and vice versa. As previously mentioned, the input node versus output node relationship can be generated based on links. One or more output nodes may be connected to a single input node via links, and vice versa.
[0061] In a relationship between an input node and an output node connected through a single link, the value of the output node can be determined based on data input to the input node. Here, the nodes interconnecting the input node and the output node may have weights. The weights may be variable and may be varied by a user or an algorithm to enable the neural network to perform the desired function. Here, the edges or links interconnecting the input node and the output node have weights that can be variably applied by a user or an algorithm to enable the neural network to perform the desired function. For example, if one or more input nodes are interconnected to a single output node by respective links, the output node may determine its value based on the values input to the input nodes connected to the output node and the weights set on the links corresponding to each input node.
[0062] As described above, a neural network is formed in which two or more nodes are interconnected through one or more links to create input-output node relationships within the network. The characteristics of a neural network can be determined by the number of nodes and links within the network, the relationships between the nodes and links, and the weight values assigned to each link. For example, if two neural networks exist with the same number of nodes and links but different weight values between the links, the two neural networks can be recognized as being different from each other.
[0063] FIG. 3 shows a schematic diagram of a system that issues a mobile gift certificate in conjunction with a donation processing using welfare points according to one embodiment, and provides a return gift based on the issued mobile gift certificate. The embodiment of FIG. 3 can be combined with various embodiments of the present disclosure.
[0064] Referring to FIG. 3, a system (hereinafter referred to as the system) (300) that issues a mobile gift certificate in conjunction with the processing of a donation using welfare points and provides a return gift based on the issued mobile gift certificate may be an integrated system in which a user performs a donation payment for a donation item of a local government using welfare points granted by a company, a mobile gift certificate corresponding to the result of the donation is issued to the user, and message flow and account linkage processing are performed so that a return gift is provided using the issued mobile gift certificate. Here, welfare points are a payment method in the form of points provided by a company to its employees, and may be points managed to be used for payment of goods or services on a welfare platform or affiliated payment platform operated by the company. For example, welfare points may be accumulated in a welfare point account corresponding to a user identifier and managed as a balance reflecting the usability status and validity period conditions.
[0065] For example, the system (300) can check the available balance of the welfare point account during the donation payment process, perform a point deduction process corresponding to the donation approval, issue a mobile gift certificate based on the deduction result, and create a delivery order based on the user terminal selecting a thank-you gift after the issued mobile gift certificate is registered in a dedicated account of the thank-you gift provision server. For example, the system (300) can manage the message flow so that the donation processing result, the point deduction result, the mobile gift certificate issuance information, and the thank-you gift purchase completion information are provided to the user terminal.
[0066] For example, the system (300) may include a user terminal (310), a local government donation processing server (320), a welfare point management server (330), a return gift provision server (340), and an administrator terminal (350).
[0067] The user terminal (310) may be a terminal of a user who performs a donation to a local government using welfare points. For example, the user terminal (310) may provide payment request information including a donation item, a donation amount, and a user identifier for a donation payment using welfare points. Here, the payment request information is information requesting a donation payment and may include input values necessary to perform the donation payment. For example, the user terminal (310) may receive gift certificate issuance information including a gift certificate identifier, a gift certificate balance, and an expiration date of a mobile gift certificate issued by the local government donation processing server (320). For example, the user terminal (310) may transmit a connection request to the return gift provision server (340) and receive a return gift list generated based on the mobile gift certificate from the return gift provision server (340) in response to the connection request. For example, the user terminal (310) may control the return gift list to be displayed on the screen and receive user input to select a product to be purchased from among a plurality of products included in the return gift list. For example, a user terminal (310) may transmit a purchase request message including a selected product to be purchased and a payment amount to a return gift providing server (340). For example, the user terminal (310) may receive a purchase completion message including delivery order information from the return gift providing server (340) in response to the purchase request message, and may perform a display so that the delivery order information included in the purchase completion message is provided to the user. For example, the user terminal (310) may include the electronic device (101) of FIG. 1.
[0068] The local government donation processing server (320) may be a server that provides functions for receiving donations, processing donation payments, and managing donation status for each of multiple local governments. For example, the local government donation processing server (320) may perform a donation payment for a local government based on payment request information received from a user terminal (310), generate a donation execution result, and provide it to the user terminal (310). Here, the donation execution result may be information indicating the processing result of the donation payment. For example, the local government donation processing server (320) may transmit the donation execution result to be displayed on the user terminal (310), thereby allowing the user to confirm whether the donation has been completed. For example, the local government donation processing server (320) may issue a mobile gift certificate to the user terminal (310) according to the donation execution result, and generate gift certificate issuance information including a user identifier, a gift certificate identifier, a gift certificate balance, and an expiration date. Here, the gift certificate issuance information may be information provided so that a mobile gift certificate issued in response to the result of the donation is identified and the balance is processed at the user terminal (310) and the return gift provision server (340). For example, the local government donation processing server (320) may transmit the generated gift certificate issuance information to the user terminal (310) and the return gift provision server (340). For example, the local government donation processing server (320) may include the server (108) of FIG. 1.
[0069] The welfare point management server (330) may be a server that performs inquiry of welfare points and deduction of welfare points by being linked with a user terminal (310) and a local government donation processing server (320). For example, the welfare point management server (330) may receive a point inquiry request message from the local government donation processing server (320) that includes a user identifier, a donation item, a donation amount, and a time of the request, and may inquire about the available points of the welfare point account corresponding to the user identifier and reply with a point inquiry response message. For example, if the local government donation processing server (320) performs payment approval based on the point inquiry response message and then transmits a point payment request message including the approved amount to the welfare point management server (330), the welfare point management server (330) may deduct welfare points by the approved amount and transmit the deduction result to the local government donation processing server (320). For example, the welfare point management server (330) may include the server (108) of FIG. 1.
[0070] The return gift providing server (340) may be a server that provides a return gift to a user terminal (310) based on an issued mobile gift certificate.
[0071] For example, the return gift provision server (340) provides an online mall that the user terminal (310) can access via a network, and the online mall may be configured to be accessible only to users who have logged into a dedicated account where a mobile gift certificate is registered. For example, the return gift provision server (340) provides payment processing logic so that the provision of goods in the online mall is performed within the balance of the mobile gift certificate, and may provide a service so that the user terminal (310) can purchase a return gift using the mobile gift certificate as a payment method or exchange a return gift by exhausting the balance of the mobile gift certificate.
[0072] For example, the return gift provision server (340) may receive gift certificate issuance information including a user identifier, a gift certificate identifier, a gift certificate balance, and an expiration date from the local government donation processing server (320). For example, the return gift provision server (340) may identify a dedicated account of a user terminal (310) based on the user identifier included in the gift certificate issuance information, and create a gift certificate record including a gift certificate identifier, a gift certificate balance, and an expiration date, and register it to the dedicated account. For example, the return gift provision server (340) may look up the gift certificate record registered to the dedicated account based on receiving a connection request from the user terminal (310), create a return gift list for the user terminal (310) based on the looked-up gift certificate record, and then transmit the return gift list to the user terminal (310). For example, the return gift provision server (340) receives a purchase request message from the user terminal (310) that includes a product to be purchased and a payment amount included in the return gift list, and can perform a deduction of the gift certificate balance based on the payment amount and the gift certificate balance. For example, the return gift provision server (340) can generate delivery order information for the product to be purchased based on delivery address information pre-registered in the dedicated account of the user terminal (310), and can send a purchase completion message including the delivery order information to the user terminal (310).
[0073] For example, the return gift provision server (340) can receive point status information for the user terminal (310) from the welfare point management server (330). For example, the return gift provision server (340) can generate recommended donation schedule information through a donation schedule recommendation model using a neural network based on the point status information. For example, the return gift provision server (340) can send a donation recommendation message containing the recommended donation schedule information to the user terminal (310).
[0074] For example, the return gift provision server (340) may receive a campaign recommendation request message containing budget information from an administrator terminal (350) and obtain past campaign information, user attribute information, and inventory status information. For example, the return gift provision server (340) may generate campaign configuration recommendation information through a campaign recommendation model using a neural network based on past campaign information, user attribute information, inventory status information, and budget information. For example, the return gift provision server (340) may transmit the generated campaign configuration recommendation information to the administrator terminal (350). Providing such campaign configuration recommendation information can improve the precision of exposure channels and target segments that induce user participation in donation, and can improve the donation conversion rate and mobile gift certificate usage rate by maintaining the suitability of the return gift combination. As a result, it can promote the securing of donation funds by local governments and activate the distribution of return gifts such as local specialties, thereby providing an effect that contributes to a virtuous cycle of the local economy and regional development.
[0075] For example, the return gift providing server (340) may include the server (108) of FIG. 1.
[0076] The administrator terminal (350) may be a terminal of an administrator who manages the return gift provision server (340). For example, the administrator terminal (350) may provide management functions for campaign operation, return gift inventory management, budget setting, and campaign configuration application of the return gift provision server (340). For example, the administrator terminal (350) may include the electronic device (102) of FIG. 1.
[0077] For example, the return gift providing server (340) may receive a manager registration request message from the manager terminal (350) that includes a manager account identifier and a terminal identifier, register the manager account identifier, and map the terminal identifier to the manager account. For example, the return gift providing server (340) may grant management authority to the manager account and generate an authentication token corresponding to the manager account and send it to the manager terminal (350). Through this, the manager terminal (350) and the return gift providing server (340) can be linked in advance.
[0078] For example, the administrator terminal (350) may send a campaign recommendation request message containing budget information to the return gift provision server (340). For example, the return gift provision server (340) may obtain past campaign information, user attribute information, and inventory status information based on the receipt of the campaign recommendation request message, and may generate campaign configuration recommendation information through a campaign recommendation model using a neural network based on the past campaign information, user attribute information, inventory status information, and budget information. For example, the administrator terminal (350) may receive campaign configuration recommendation information from the return gift provision server (340). At this time, for example, the administrator terminal (350) may include an authentication token in the campaign recommendation request message and send it to the return gift provision server (340), and the return gift provision server (340) may verify the received authentication token, and if the verification is complete, generate campaign configuration recommendation information and send it to the administrator terminal (350).
[0079] For example, messages necessary for donation payment and provision of return gifts are transmitted and received via a network between a user terminal (310), a local government donation processing server (320), a welfare point management server (330), and a return gift provision server (340), and user identifiers and payment-related values included in the messages can be linked so as to be referenced in the same transaction flow. Additionally, messages necessary to recommend campaign configurations can be transmitted and received via a network between the return gift provision server (340) and the administrator terminal (350).
[0080] FIG. 4 is a signal exchange diagram for a system that issues a mobile gift certificate in conjunction with a donation processing using welfare points according to one embodiment, and provides a return gift based on the issued mobile gift certificate. The embodiment of FIG. 4 can be combined with various embodiments of the present disclosure.
[0081] Referring to FIG. 4, in step S401, the user terminal can transmit payment request information to the local government donation processing server.
[0082] For example, payment request information may include a donation item, a donation amount, and a user identifier. The donation item may include identification information to specify the local government to which the donation is made. For example, the donation item may include a local government identifier. For example, the local government identifier may be implemented as a code value in the form of a numeric code, an alphanumeric string code, or a Universally Unique Identifier (UUID). The donation amount may be a value representing the amount requested as the approval target in the donation payment. For example, the donation amount may include an integer value expressed in currency units. The user identifier may be an identifier that maps directly to a welfare point account managed by the welfare point management server. For example, the user identifier may be a unique identifier value to identify employee accounts registered in the corporate welfare point system. For example, the user identifier may be implemented as a code value in the form of a numeric code, an alphanumeric string code, or a UUID, such as an employee ID or membership number.
[0083] For example, a user terminal can transmit payment request information to a local government donation processing server by accessing a web page or application screen where the local government donation processing server provides a donation service and then entering payment request information.
[0084] In step S402, the local government donation processing server may send a point payment request message containing an approved amount and a user identifier to the welfare point management server.
[0085] A point payment request message may be a message generated by a local government donation processing server to request approval for welfare point deduction from a welfare point management server. The approval amount may be a value representing the welfare point deduction amount that the welfare point management server must approve as the target for deduction processing. For example, the approval amount may be set to the same value as the donation amount included in the payment request information. For example, the approval amount may be set to the point usage amount specified by the user terminal. For example, the point payment request message may additionally include a payment request identifier to identify the payment transaction.
[0086] In step S403, the welfare point management server can perform a deduction of welfare points for the welfare point account based on the approved amount and user identifier.
[0087] For example, the welfare point management server can query the welfare point account corresponding to the user identifier and determine whether the approved amount is less than or equal to the available points. The welfare point account may be an account used by the welfare point management server to manage welfare points on a per-user basis. For instance, the welfare point account is mapped one-to-one with the user identifier, and the welfare point management server can query the balance information of the welfare points assigned to that user through the welfare point account. Additionally, the welfare point management server can query the accumulation and usage history of the welfare points assigned to that user through the welfare point account.
[0088] For example, if the approved amount is less than or equal to the available points, the welfare point management server may determine the point items managed as available among multiple point items as targets for deduction. For example, the welfare point management server may determine the deduction order so that point items with an earlier expiration time are deducted first. For example, the welfare point management server may reduce the balance of the point items according to the deduction order and complete the deduction process so that the sum of the deduction amounts for each point item matches the approved amount.
[0089] In step S404, the welfare point management server can transmit the result of the welfare point deduction to the local government donation processing server.
[0090] The result of the deduction of welfare points may be information indicating whether the deduction process for the approved amount was successful and confirmation information regarding the deduction process. For example, the result of the deduction of welfare points may include at least one of the following: deduction success status, time of deduction processing, confirmed deduction amount, deduction transaction identifier, or deduction failure reason code. The deduction success status may be a boolean value indicating whether the welfare point deduction process corresponding to the approved amount was successfully completed. The time of deduction processing may be a time value indicating the point in time when the welfare point deduction is confirmed and a deduction transaction record is created. The confirmed deduction amount may be an amount value indicating the confirmed value of the amount actually deducted from the welfare point account. The deduction transaction identifier may be a unique identifier for identifying the deduction transaction record corresponding to the welfare point deduction process. The deduction failure reason code may be a value expressing the cause of the deduction failure in a predefined code system.
[0091] For example, the welfare point management server can generate and transmit the execution result for the welfare point deduction based on the deduction transaction record generated after the deduction process is completed.
[0092] For example, a local government donation processing server may transmit the results of a donation execution to a user terminal. For example, the local government donation processing server may transmit the results of a donation execution to a user terminal based on receiving the results regarding the deduction of welfare points. For example, if the results regarding the deduction of welfare points are successful, the local government donation processing server may confirm the donation processing and transmit the confirmed donation execution results to the user terminal. For example, the donation execution results may include approval status, approval time, approved amount, donation receipt identifier, and donation processing status code. The approval status may be a Boolean value indicating whether the donation payment to the local government has been confirmed to a final approved state. The approval time may be a time value indicating the point in time when the donation payment was confirmed to an approved state. The approved amount may be an amount value indicating the donation amount approved in the donation payment. The donation receipt identifier may be a unique identifier value for identifying a donation receipt record or receipt document. The donation processing status code may be a value expressing the progress status of the donation processing or the type of processing result using a predefined code system.
[0093] For example, the user terminal can generate output data using a donation receipt identifier included in the donation execution result to provide a receipt lookup screen.
[0094] In step S405, the local government donation processing server can issue a mobile gift certificate to the user terminal based on the result of the donation execution.
[0095] Specifically, for example, a local government donation processing server can verify whether the deduction of an approved amount was successful based on the execution result of the welfare point deduction received from the welfare point management server. For example, the local government donation processing server may finalize the donation processing only if the success of the deduction indicates success, and initiate the issuance procedure for a mobile gift certificate corresponding to the finalized donation processing.
[0096] For example, a local government donation processing server can generate a gift certificate identifier corresponding to a confirmed donation processing. The gift certificate identifier may be a unique identifier value for identifying an issued mobile gift certificate. For example, the gift certificate identifier may be set to any one of a random number-based alphanumeric string, a UUID format value, or a time-based sequence value.
[0097] For example, a local government donation processing server can determine the balance of a mobile gift certificate issued. The gift certificate balance may be a value representing the remaining amount that can be paid with the mobile gift certificate. For example, the gift certificate balance may be set to a value obtained by multiplying the approved amount included in the result of the donation by a preset ratio. In this case, the preset ratio may be set to a value greater than 0 and less than or equal to 1. For example, the preset ratio may be 0.3.
[0098] For example, a local government donation processing server can determine the validity period of an issued mobile gift certificate. The validity period may be a value representing the time range during which the mobile gift certificate is usable. For example, the validity period may be set as a single expiration time value. For example, the validity period may be set as a pair of issuance time and expiration time. Each of the issuance time and expiration time values may be set as a timestamp value of the local government donation processing server's standard time zone.
[0099] Additionally, for example, a local government donation processing server may determine gift certificate attributes for the issued mobile gift certificate. Gift certificate attributes may be attribute values intended to specify the range of return gifts provided by the return gift provision server. For example, gift certificate attributes may include at least one of a place of use identifier, a category identifier, or a region identifier. The place of use identifier may be a value that identifies a specific sales entity or a specific set of suppliers, and may be set as any one of a supplier code value, a vendor code value, or a UUID format value. The category identifier may be a value that specifies the item group of return gifts, and may be set as any one of an agricultural product category code, a processed food category code, a household goods category code, or a cultural experience voucher category code. In this case, the item group of return gifts may be more diverse than the embodiments of the present disclosure and is not limited to the examples described above. The region identifier may be a value that specifies an administrative district for the supply range, and may be set as an administrative district code value.
[0100] For example, a local government donation processing server can generate gift certificate issuance information by combining payment request information with a gift certificate identifier, gift certificate balance, expiration date, and gift certificate attributes. The gift certificate issuance information may be generated to ensure that the mobile gift certificate issued in response to the donation result is referenced by the user terminal and the return gift provision server using the same identification criteria. For example, the gift certificate issuance information may additionally include an issuance identifier and a time of issuance to identify the issuance transaction.
[0101] In step S406, the return gift providing server may receive gift certificate issuance information including a user identifier, gift certificate identifier, gift certificate balance, and expiration date from the local government donation processing server.
[0102] For example, a local government donation processing server can transmit generated gift certificate issuance information to a user terminal. For example, a local government donation processing server can transmit generated gift certificate issuance information to a return gift provision server. For example, the local government donation processing server can transmit gift certificate issuance information corresponding to the same issuance transaction to each, so that the user terminal and the return gift provision server refer to the same gift certificate identifier and gift certificate balance.
[0103] In step S407, the return gift provision server can create a gift certificate record based on the gift certificate issuance information and register the gift certificate record to the dedicated account of the user terminal that matches the user identifier.
[0104] A gift certificate record may be a data record configured to manage the status of a mobile gift certificate on a return gift provision server. For example, a gift certificate record may include a gift certificate identifier, current gift certificate balance, expiration date, time of issuance, usage status code, and user identifier. The usage status code may be a code value indicating “available,” “expired,” “depleted,” or “discontinued,” and may be set, for example, as an integer code value. In an embodiment where gift certificate attributes are applied, the gift certificate record may further include gift certificate attributes (place of use identifier, category identifier, region identifier).
[0105] A dedicated account may be an account used to identify users in an online mall provided by a return gift server and to map gift certificate records and order history. For example, a dedicated account may be an account automatically generated based on a user identifier and may include a dedicated account identifier that maps one-to-one with the user identifier. For example, the return gift server may look up a dedicated account identifier based on a user identifier and perform registration processing so that gift certificate records are mapped to the retrieved dedicated account identifier.
[0106] For example, the registration information of a dedicated account can be combined with the shipping address information used to create a shipping order. For instance, a return gift delivery server can pre-register shipping address information in a dedicated account that includes the recipient's name, contact information, zip code, primary address, and detailed address.
[0107] For example, the return gift provision server may generate gift certificate registration result information as a result of processing gift certificate record registration for a dedicated account and transmit it to a user terminal. The gift certificate registration result information may be information provided to enable the user terminal to verify whether an available gift certificate has been reflected in the account before connecting to the return gift provision server. For example, the gift certificate registration result information may include a dedicated account identifier, a gift certificate identifier, a gift certificate balance, an expiration date, and a usage status code.
[0108] For example, the return gift provision server may provide gift certificate registration result information as a push message or application response when a dedicated account is verified based on a user identifier, even before the login procedure is performed by the user terminal.
[0109] In step S408, the return gift providing server can receive a connection request from the user terminal.
[0110] A connection request may be a request message transmitted by a user terminal to connect to a return gift provision server. For example, a connection request may include a user identifier, authentication information, terminal identification information, and a time of the request. The authentication information may be an access token value obtained by the user terminal during the login process. In this case, the access token value may be set in the form of a signed string. The terminal identification information may be set to either a unique terminal identification value or an app instance identification value.
[0111] Specifically, for example, after a user terminal accesses an application screen or web page provided by a return gift provision server, it may transmit a connection request including authentication information generated upon completion of login.
[0112] For example, the return gift provision server can query gift certificate records registered to the user terminal's dedicated account based on receiving a connection request from the user terminal. For example, the return gift provision server can query the dedicated account identifier matching the user identifier included in the connection request and query the gift certificate records mapped to the dedicated account identifier. For example, the return gift provision server can determine whether the validity period of the queried gift certificate records has expired and whether the usage status code indicates an available state, and proceed to the return gift list generation step based on the determination result. That is, if the queried gift certificate records are within their validity period and the usage status code indicates an available state, the return gift provision server can generate a return gift list for the user terminal.
[0113] In step S409, the return gift provision server can generate a return gift list for the user terminal based on the retrieved gift certificate records.
[0114] The return gift list may be data in which multiple return gift items selectable from a user terminal are arranged. For example, the return gift list may include a product identifier, product name, product price, purchaseable quantity, stock quantity, delivery availability, estimated delivery period, and image reference value for each of the multiple return gifts. The product price may be set as an integer value in currency units, and the purchaseable quantity may be set to reflect the maximum quantity selectable in a single order. For example, the return gift providing server may decide to include only products satisfying the condition “product price ≤ gift certificate balance” as candidates for the return gift list based on the gift certificate balance included in the retrieved gift certificate record. For example, if the gift certificate balance is 30,000 won, the return gift providing server may select products with a price of 30,000 won or less as candidates.
[0115] Additionally, for example, the return gift providing server may obtain one or more of a place of use identifier, a category identifier, or a region identifier as a gift certificate attribute included in a gift certificate record. The return gift providing server may obtain product attribute information for each of multiple products from a pre-built product database. The product attribute information may include a supplier identifier, a category identifier, and a production region identifier for each product. The return gift providing server may extract products from among the identifiers included in the product attribute information that have attributes matching the identifier included in the gift certificate attribute. The return gift providing server may generate a return gift list based on the extracted products. For example, if the gift certificate attribute is set to “Category Identifier = Agricultural & Livestock Products,” the return gift providing server may generate a return gift list by extracting only products where the category identifier is stored as Agricultural & Livestock Products. For example, if the gift certificate attribute is set to “Region Identifier = Specific Region,” the return gift providing server may generate a return gift list by extracting only products where the production region identifier is stored as that region.
[0116] In step S410, the return gift providing server can transmit a list of return gifts to the user terminal.
[0117] For example, a return gift provision server may send a response message containing a gift certificate balance, expiration date, and usage status code along with a list of return gifts in response to a connection request. For example, a user terminal may display the list of return gifts included in the response message on the screen and receive user input to select a product to be purchased from among multiple return gifts.
[0118] In step S411, the return gift providing server may receive a purchase request message from the user terminal that includes the purchase target product and payment amount included in the return gift list.
[0119] A purchase request message may be a message generated by a user terminal to request the purchase of a return gift. For example, the purchase request message may include a user identifier, a gift certificate identifier, a product to be purchased, a purchase quantity, a payment amount, and a time of the request. For example, in an embodiment where there are multiple shipping address information registered to a dedicated account, the purchase request message may further include a shipping address selection identifier.
[0120] The product to be purchased may refer to a product selected by user input from the return gift list. For example, the product to be purchased may be represented by a single product identifier value, or, in the case of purchasing multiple products simultaneously, by pairs of multiple product identifiers and quantities.
[0121] The payment amount may be a value representing the amount to be deducted from the gift certificate balance for the purchased product. For example, the payment amount may be set as an integer value calculated as (product price * quantity purchased). For instance, the reciprocal gift provision server may verify whether the payment amount included in the purchase request message matches the price information in the product database, and proceed to the deduction step based on the verification result.
[0122] In step S412, the return gift providing server can deduct the gift certificate balance based on the payment amount and the gift certificate balance.
[0123] For example, the reciprocal gift provider server can query the current gift certificate balance included in the gift certificate record and determine whether the payment amount is less than or equal to the current gift certificate balance. For example, if the payment amount is less than or equal to the current gift certificate balance, the reciprocal gift provider server can determine the balance after deduction by subtracting the payment amount from the current gift certificate balance. For example, if the payment amount exceeds the current gift certificate balance, the reciprocal gift provider server can determine a payment failure status code and send a purchase failure response.
[0124] For example, the return gift provision server can determine whether the validity period has expired and, if the validity period has expired, determine a payment failure status code so that the deduction is not performed.
[0125] Specifically, for example, the return gift provision server may generate a deduction transaction identifier corresponding to the deduction process. The deduction transaction identifier may be an identifier assigned so that the gift certificate balance deduction process is consistently linked to the order and delivery stages. For example, the return gift provision server may generate deduction result information including the deduction transaction identifier, gift certificate identifier, deduction amount, time of deduction, and balance after deduction, and combine this with order information in a subsequent stage.
[0126] In step S413, the return gift providing server can generate delivery order information for the product to be purchased based on delivery address information pre-registered in the dedicated account of the user terminal.
[0127] Pre-registered shipping address information may be shipping address records mapped to and managed by a dedicated account. For example, shipping address information may include the recipient's name, contact information, zip code, primary address, and detailed address.
[0128] Shipping order information may be information representing order data necessary for a purchased product to be transferred to logistics processing. For example, shipping order information may include an order identifier, a purchased product identifier, a purchase quantity, a payment amount, a deduction transaction identifier, a recipient name, a shipping address, a shipping status code, and an order creation time. The shipping status code may be a code value indicating “Order Created,” “Shipment Requested,” “Shipment Completed,” “In Transit,” or “Delivered,” and may be set as an integer code value.
[0129] Specifically, for example, the return gift provision server can generate an order identifier, query the supplier identifier and shipping policy information of the product to be purchased from the product database, and then generate shipping order information that reflects the queried shipping policy information. For example, the return gift provision server can set the shipping status code to “Order Created” at the time the shipping order information is generated.
[0130] In step S414, the return gift providing server can send a purchase completion message containing delivery order information for the purchased product to the user terminal.
[0131] A purchase completion message may be a message transmitted to provide a processing result corresponding to a purchase request message to a user terminal. For example, a purchase completion message may include an order identifier, a gift certificate identifier, a deduction amount, a balance after deduction, a delivery status code, and an order creation time. In an embodiment where delivery tracking is provided, the purchase completion message may further include a courier identifier and a tracking number.
[0132] For example, the user terminal can generate output data to provide a purchase completion screen based on the order identifier and delivery status code included in the purchase completion message.
[0133] Additionally, for example, the return gift provision server may generate a history record containing time information corresponding to the registration of a gift certificate record, the deduction of a gift certificate balance, the creation of delivery order information, and the status of delivery processing, respectively. The history record may be a record configured to consistently track the times of key events for the same gift certificate identifier and order identifier. For example, the history record may include the time of gift certificate registration, the time of deduction, the time of order creation, and the time of delivery status update.
[0134] For example, a return gift provision server may initiate delivery by performing a delivery processing request based on delivery order information. The delivery processing request may be a request message transmitted by the return gift provision server to initiate the dispatch procedure by conveying the delivery order information to a logistics system or a supplier system. For example, the delivery processing request may include an order identifier, an identifier of the product to be purchased, the quantity purchased, a delivery address, recipient information, and a time of the dispatch request.
[0135] For example, the return gift provision server may receive delivery status information from the logistics system during the delivery processing process. The delivery status information may be information that identifies the current delivery stage corresponding to the order identifier, and may include, for example, a delivery status code, a status update time, a tracking number, and a delivery completion time. The return gift provision server may update the status of the delivery processing based on the received delivery status information.
[0136] For example, the return gift provision server may send a delivery status provision message to a user terminal that includes the status of the updated delivery processing and delivery status information. For example, the delivery status provision message may include an order identifier, a delivery status code, a time of status update, and a tracking number.
[0137] For example, the return gift delivery server can update the history record so that the time at which the delivery processing status was updated is reflected in the history record.
[0138] FIG. 5 is a flowchart illustrating a method for a return gift providing server to provide recommended donation schedule information in a system that issues a mobile gift certificate in conjunction with a donation processing using welfare points according to one embodiment and provides a return gift based on the issued mobile gift certificate. The embodiment of FIG. 5 may be combined with various embodiments of the present disclosure.
[0139] Referring to FIG. 5, in step S510, the return gift providing server may request point status information for the user terminal from the welfare point management server.
[0140] Point status information may be information indicating the status of welfare points of a specific user terminal. For example, point status information may include available points, point accumulation history, point usage history, and points scheduled to expire for each of multiple time intervals. For example, a welfare point management server may obtain point status information by querying the welfare point account for available points, point accumulation history, point usage history, and points scheduled to expire for each of multiple time intervals.
[0141] Available points may be a value representing the balance of welfare points currently managed as available for use in a welfare point account. For example, a welfare point account may manage available points into multiple point items classified by expiration date, and the welfare point management server may determine available points by summing the balance values of point items marked as available among the multiple point items. Point items may be balance items managed in the welfare point account, classified according to expiration date and point type. For example, a point item may include a point item identifier value to identify the point item, the balance corresponding to the point item, the expiration date of the point item, a type identifier value indicating the point type of the point item, and a status value indicating the availability status. Point type may be a classification value to distinguish the type of payment rule by which welfare points are granted. For example, point types may include basic points and special points. For example, basic points may be points granted regularly according to a company's welfare system, to which a predetermined validity period rule applies. For example, special points are points that are additionally granted for a specific reason, such as specific events, performance rewards, or promotional payments, and may be points to which different validity period rules as basic points apply. For example, type identifiers may be represented by string codes such as BASIC and SPECIAL, or by integer codes such as 0 and 1.
[0142] Point accumulation history may be information representing the history of welfare points being accumulated in a welfare point account. For example, point accumulation history may include, for each accumulation event, the time of accumulation, the points accumulated, the point item identifier of the point item created or updated by the accumulation, the expiration time of the point item, and the type identifier of the point item. The time of accumulation may be a value representing the time when welfare points were accumulated in the welfare point account. The points accumulated may be a value representing the welfare points accumulated in the welfare point account. For example, a welfare point management server may obtain point accumulation history by querying the accumulation details from the welfare point account, which include the time of accumulation, points accumulated, the expiration time, and the type identifier for each accumulation event. For example, an accumulation event may be expressed as [Time of accumulation=2026-01-10 09:00, Points accumulated=100,000, Type identifier=BASIC, Expiration time=2026-12-31 23:59].
[0143] Point usage history may be information indicating the history of welfare points being used in a welfare point account. For example, point usage history may include the time of use, points used, a location identifier, and deduction information regarding point items deducted by use, for each usage event. The time of use may be a value indicating the time when welfare points were used in the welfare point account. Points used may be a value indicating the welfare points used in the welfare point account. For example, deduction information may include a point item identifier to identify the deducted point item and the deducted points from that point item, and may additionally include the expiration time and type identifier of that point item. For example, a welfare point management server may obtain point usage history by querying usage details from the welfare point account that include the time of use, points used, location identifier, and deduction information for each usage event. For example, a usage event can be expressed as “Usage time=2026-01-20 12:30, Usage points=30,000, Usage location identifier=MERCHANT_0123, Deduction information=[Point item identifier=ITEM_0007, Deduction points=30,000, Expiration time=2026-02-15 23:59]”.
[0144] Multiple period intervals may be a set of time intervals for distinguishing pre-set expiration risk intervals based on the time of the request. For example, multiple period intervals may be set as non-overlapping period intervals, such as within 30 days from the time of the request, 31 to 60 days from the time of the request, and 61 to 90 days from the time of the request.
[0145] Points scheduled for expiration may be a value representing welfare points scheduled to expire within the relevant period interval. For example, points scheduled for expiration may be the sum of the balances of point items among available points whose expiration date falls within any one of multiple period intervals. For example, the points scheduled for expiration for each of multiple period intervals may be calculated by summing the balances of the point items mapped for each period interval after the expiration date of each of the multiple point items constituting the available points is mapped to one of the multiple period intervals.
[0146] For example, the welfare point management server can map each of the multiple point items constituting the available points to one of the multiple period intervals by determining whether the expiration time of the point item falls within one of the period interval boundaries calculated based on the time of the request. The welfare point management server can group the point items mapped to the same period interval by period interval. The welfare point management server can calculate the points scheduled to expire by period interval by summing the balance values of the point items grouped by period interval. For example, the welfare point management server can determine the sum of the balances of the point items mapped to a period interval within 30 days as the points scheduled to expire within 30 days.
[0147] In step S520, the return gift providing server can receive point status information for the user terminal from the welfare point management server.
[0148] For example, the return gift provision server can receive point status information, including available points, point accumulation history, point usage history, and points scheduled to expire by period interval, obtained from the welfare point account corresponding to the user identifier by the welfare point management server through an interface pre-linked with the welfare point management server.
[0149] In step S530, the return gift providing server can generate recommended donation schedule information through a donation schedule recommendation model using a first neural network based on point state information.
[0150] A donation schedule recommendation model using a first neural network may be a neural network model with a time series encoding and latent variable learning structure configured to generate recommended donation schedule information based on available points, points scheduled to expire for each of multiple period intervals, point accumulation history, and point usage history.
[0151] Recommended donation schedule information may be customized guide information that suggests the optimal donation timing and recommended amount derived by analyzing the user's past consumption patterns and balance fluctuation trends to prevent the user's points from expiring in advance and to maximize the efficiency of welfare benefit utilization. For example, the recommended donation schedule information may include a recommended donation timing and a recommended donation amount.
[0152] For example, a donation schedule recommendation model can generate a time series of point fluctuations sorted in chronological order by segmenting point accumulation history and point usage history into preset time units.
[0153] The preset time unit may be a value representing the interval length to ensure that point accumulation history and point usage history are aligned at the same time resolution. For example, the preset time unit can be set to one day, one week, or one hour, and may be set according to the service operation policy. For example, if the preset time unit is one day, the donation schedule recommendation model can aggregate accumulation events and usage events on a daily basis, treating one day as a single point in time.
[0154] A point fluctuation time series may be time series data in which point-by-point vectors representing point fluctuations for multiple points in time defined by a preset time unit are arranged in chronological order. For example, each point-by-point vector of the point fluctuation time series may include points earned, points used, a net change value, and an accumulated balance value at that point in time. The net change value may be the value obtained by subtracting points used from points earned at that point in time. The accumulated balance value may be the total available balance remaining in the welfare point account after reflecting points earned and points used up to that point in time. For example, if the preset time unit is 1 day, the vectors for three consecutive points in the point fluctuation time series may be in the following form. For example, the time vector at time t1 may be [Accumulation=10,000, Usage=0, Net Change=+10,000, Accumulated Balance=35,000], the time vector at time t2 may be [Accumulation=0, Usage=3,000, Net Change=?3,000, Accumulated Balance=32,000], and the time vector at time t3 may be [Accumulation=0, Usage=0, Net Change=0, Accumulated Balance=32,000].
[0155] For example, a donation schedule recommendation model can generate a hidden sequence by performing a time series encoding operation that converts time-series vectors of a point variation time series into a time series hidden vector of a common dimension.
[0156] The time series encoding operation may be an operation that takes a time-series vector of a point variation time series as input and converts it into a hidden representation that reflects the combination relationships and time order relationships of the values included in the time-series vector. For example, the time series encoding operation may be implemented as any one of recurrent neural network-based encoding, one-dimensional convolution-based encoding, or transformer-based encoding. For example, through the time series encoding operation, time-series vectors are received sequentially, and the hidden state of each time point may be updated by the hidden state of the previous time point.
[0157] The hidden sequence may be a sequence of time-series hidden vectors generated as the output of a time-series encoding operation. For example, the hidden sequence is the hidden vector h corresponding to each time point t. t It can be in a form arranged in chronological order, and each h t It can be set as a common-dimensional fixed-length vector.
[0158] For example, a donation schedule recommendation model can calculate time-specific weights through a normalization operation on the inner product between a reference vector and a time-specific hidden vector for a hidden sequence.
[0159] The reference vector may be a reference vector for evaluating the importance of each time point in the hidden sequence. For example, the reference vector may be stored as a trainable vector included in the parameter set of a donation schedule recommendation model and may be updated during the training process. For example, the reference vector may be set as a global parameter that applies commonly to multiple users to whom the same model is applied, rather than being a value stored individually for each user identifier. For example, the reference vector may be set to have the same dimension as the time-point hidden vector, so that the result of the inner product operation between the reference vector and the time-point hidden vector is calculated as a scalar score representing the importance of each time point.
[0160] The time-specific hidden vector may be the hidden vector for each time point that constitutes the hidden sequence. For example, the time-specific hidden vector may be a representation that reflects the impact of changes in accumulation and usage at that time point on the balance flow at subsequent times points.
[0161] A normalization operation may be an operation to transform the inner product values between a reference vector and a hidden vector for each time point into weight values that are comparable across time points. For example, the normalization operation may apply a softmax operation to the inner product values to limit the sum of the weights for each time point to 1. For example, the normalization operation may be configured so that a larger weight is assigned at time points where the inner product value is large.
[0162] Time point weights may be values representing the degree to which a time point hidden vector contributes to a history summary vector. For example, time point weights may be calculated as values between 0 and 1, and may be calculated such that the sum of time point weights for all time points is 1.
[0163] For example, a donation schedule recommendation model can generate a history summary vector by performing a weighted summation operation based on weights at each time point.
[0164] A history summary vector may be a summary representation generated from a hidden sequence, which is the result of time series encoding for a point fluctuation time series, such that fluctuation signals distributed across multiple time points are aggregated into a single fixed-dimensional vector. For example, a history summary vector can be generated by determining a time-point weight for each time-point hidden vector included in the hidden sequence, and then performing a weighted summation by scaling the time-point hidden vector by the time-point weight. In this case, the time-point weight can be calculated by applying a normalization operation to the inner product between a reference vector and a time-point hidden vector, and accordingly, the history summary vector can be formed so that the hidden vector information of time points with relatively higher importance within the hidden sequence is reflected more significantly. That is, each dimension of the history summary vector can be learned to reflect latent features regarding the magnitude of point fluctuation, the direction of fluctuation, the persistence of fluctuation, and the point of concentration of fluctuation, as a result of the fluctuation-related information included in the time-point hidden vectors being redistributed by the time-point weight.
[0165] For example, a donation schedule recommendation model can determine an integrated feature vector by combining a history summary vector, available points, and points scheduled to expire for each of multiple time intervals.
[0166] The integrated feature vector may be a vector that combines time-series summary information included in the history summary vector with current status information included in available points and points scheduled for extinction by period interval into a single input representation. For example, the integrated feature vector can be generated by concatenating the history summary vector, the scale-normalized values of available points, and the values of points scheduled for extinction by period interval. For instance, the integrated feature vector may be structured in an arranged form as [history summary vector + available points + points scheduled for extinction equal to the number of period intervals].
[0167] For example, a donation schedule recommendation model can generate a latent vector by calculating distribution parameters for generating a latent vector from an integrated feature vector and then performing a sampling operation based on the distribution parameters.
[0168] A distribution parameter may be a parameter for determining the probability distribution of a latent vector conditionally set on an integrated feature vector. For example, the distribution parameter may include an average parameter vector and a log-variance parameter vector. The average parameter vector is a vector representing the average value for each dimension of the latent vector, and the log-variance parameter vector may be a vector representing the variance value for each dimension of the latent vector in the log domain. For example, an encoder included in a donation schedule recommendation model may calculate the average parameter vector by performing a first linear projection on the integrated feature vector and calculate the log-variance parameter vector by performing a second linear projection on the integrated feature vector. For example, the variance parameter vector may be calculated by applying an exponential transformation to the log-variance parameter vector, and the variance value may be set so that it always remains greater than 0.
[0169] The sampling operation may be an operation that generates sample values of a latent vector from a conditional probability distribution determined by distribution parameters. For example, the sampling operation may be an operation that generates a noise vector based on a standard normal distribution, generates a scaled noise vector by multiplying the noise vector component-wise by a standard deviation vector calculated based on a log-variance parameter vector, and then generates a latent vector by adding the scaled noise vector component-wise to an mean parameter vector. The standard normal distribution may be a normal distribution with a mean of 0 and a variance of 1. Here, since the standard deviation vector corresponds to the square root of the variance, it can be calculated by applying a 1 / 2 scale to each component of the log-variance parameter vector and then performing an exponential transformation. For example, to ensure differentiability for the learning process, the sampling operation may be implemented as reparameterization-based sampling in which the noise vector generation step and the combination step by the mean parameter vector and the standard deviation vector are separated. Here, reparameterization-based sampling may be a method configured such that the latent vector is expressed as a function of the mean parameter vector and the standard deviation vector, thereby enabling the calculation of the slope for the mean parameter vector and the standard deviation vector during the sample generation process.
[0170] A latent vector is the result of probabilistically representing an integrated feature vector in a latent space, and may be a latent representation in which the history summary information and current state information included in the integrated feature vector are compressed.
[0171] Latent vectors can be generated through sampling operations from a conditional probability distribution determined by distribution parameters calculated based on integrated feature vectors. Even if the same integrated feature vector is input, the values of the latent vectors generated by the sampling operations may differ. For example, a latent vector can be generated as a vector that reflects both the overall pattern of the point fluctuation time series and the distribution characteristics of available points and points scheduled to expire. For instance, the latent vector can be trained to distinguishly reflect the duration of periods where the point balance decreases, the timing of recent usage concentration, and the proportion of points scheduled to expire within 30 days.
[0172] For example, a donation schedule recommendation model can generate a point restoration time series corresponding to a point fluctuation time series based on latent vectors.
[0173] The point restoration time series may be a time series that has the same time length as the point fluctuation time series based on a latent vector and is generated with the same structure as the time-period vector of the point fluctuation time series at each time point. For example, a donation schedule recommendation model may generate an initial state vector by performing a linear transformation on the latent vector to align the latent vector with the internal state dimension of the time series decoder. Here, the linear transformation may be a dimension transformation operation performed by a fully connected layer. For example, the donation schedule recommendation model may generate the point restoration time series by setting the initial state vector as the initial state of the time series decoder and then performing a decoding operation to output time-period restoration vectors in chronological order. For example, the time-period restoration vector may include accumulated points, used points, net fluctuation value, and accumulated balance value.
[0174] For example, the parameters of the donation schedule recommendation model can be updated during a preset number of training iterations to reduce the reconstruction error between the point restoration time series and the point fluctuation time series. For example, the donation schedule recommendation model can update its parameters during a preset number of training iterations to reduce the reconstruction error between the point restoration time series and the point fluctuation time series.
[0175] Reconstruction error may be an error value indicating the degree to which the point restoration time series reproduces the point fluctuation time series. For example, the reconstruction error may be calculated by calculating the difference between the restored value and the actual value for each item constituting the time-point vector at each of multiple time points, squaring the difference and summing it on the item axis, and then cumulatively summing it over the entire time-point axis. For example, items may include accumulated points, used points, net fluctuation value, and accumulated balance value.
[0176] The preset number of training iterations may be a value representing the number of iterations to update model parameters. For example, the preset number of training iterations may be set to the number of epochs or mini-batch updates, and may be set according to the operational policy or the scale of the training data.
[0177] The parameters of the donation schedule recommendation model may be learnable parameters including weights and bias values used in time series encoding operations, distribution parameter calculation operations, point restoration time series generation operations, and output operations that output recommended donation timing and recommended donation amounts. For example, the parameters of the donation schedule recommendation model may be iteratively updated by gradient descent-based optimization to reduce reconstruction error.
[0178] For example, a donation schedule recommendation model can determine the recommended donation timing and recommended donation amount based on latent vectors by applying updated parameters.
[0179] Specifically, for example, a donation schedule recommendation model may input a latent vector into an output head and perform a linear projection on the latent vector at the output head to calculate a logit vector and a logit value, respectively. The logit vector is a vector for determining the recommended donation time and may be a set of pre-normalized scores corresponding to each of a plurality of pre-set time candidates. The logit value is a value for determining the recommended donation amount and may be a scalar score before normalization.
[0180] For example, a donation schedule recommendation model can calculate a time point selection probability that ensures one of a pre-set plurality of time point candidates is selected by performing a normalization operation on a logit vector, and determine a recommended donation time point based on the calculated time point selection probability. For example, if the number of multiple time point candidates is K, the donation schedule recommendation model can calculate a K-dimensional logit vector corresponding to each of the K time point candidates and calculate a time point selection probability vector by performing a softmax-based normalization operation on the calculated K-dimensional logit vector. The softmax-based normalization operation may be a normalization operation performed such that each of the K logit values is converted into a probability value between 0 and 1, and the sum of the converted probability values may be set to 1. For example, each element of the time point selection probability vector calculated by the softmax-based normalization operation may be set to a value between 0 and 1, and the sum of the elements of the time point selection probability vector may be set to 1. For example, the donation schedule recommendation model can select the time point candidate with the maximum time point selection probability as the recommended donation time point. For example, multiple time candidates can be pre-set as time values discretized in daily or hourly units. For example, multiple time candidates can be set as time values combining date and time values, such as [Today 18:00], [Tomorrow 12:00], [Tomorrow 18:00], and each candidate time value can be expressed as a timestamp value of the time zone referenced by the return gift server.
[0181] For example, a donation schedule recommendation model can determine a recommended donation amount within a range of available points or less by performing a conversion operation to a positive range and a currency unit integerization operation on the logit value. Specifically, for example, the donation schedule recommendation model can perform a monotonic conversion operation so that the logit value is converted into an amount value within a positive range. The monotonic conversion operation may be a conversion set so that the output value does not decrease as the input value increases, and may be implemented, for example, as an exponential function-based conversion or a softplus-based conversion. For example, a softplus-based conversion may be an operation that converts the input value x into a value greater than 0 in the form of log(1+exp(x)). In this case, the conversion result may be a real number value greater than 0. For example, the donation schedule recommendation model can determine the recommended donation amount as an integer value in currency units by performing a currency unit integerization operation on the result of the monotonic conversion. The currency unit integerization operation may be an operation that performs rounding, truncation, or the application of a minimum unit rule to one of the following: won, 10 won, 100 won, or 1,000 won. For example, in an embodiment where the recommended donation amount is integerized to the 1,000 won unit, the donation schedule recommendation model may integerize the converted real value to 23,000 won or 24,000 won if the converted real value is 23,450 won. For example, the donation schedule recommendation model may perform a restriction operation so that the recommended donation amount is determined within a range of available points or less. The restriction operation may be an operation that applies an upper limit so that the recommended donation amount does not exceed available points. For example, the restriction operation may be implemented as a clipping operation that replaces the recommended donation amount with available points if the recommended donation amount is greater than available points. Accordingly, the recommended donation amount may be determined as an integer value in the range of 0 or greater and available points or less.
[0182] In step S540, the return gift providing server can transmit recommended donation schedule information to the user terminal.
[0183] For example, the return gift provision server can induce participation in donation by providing recommended donation schedule information to the user terminal in the form of a push notification or an in-application popup when the recommended donation time is reached or immediately after receiving point status information.
[0184] FIG. 6 is a flowchart illustrating a method for a return gift providing server to provide campaign configuration recommendation information in a system that issues a mobile gift certificate in conjunction with a donation processing using welfare points according to one embodiment and provides a return gift based on the issued mobile gift certificate. The embodiment of FIG. 6 may be combined with various embodiments of the present disclosure.
[0185] Referring to FIG. 6, in step S610, the return gift providing server can receive a campaign recommendation request message containing budget information from an administrator terminal that is pre-linked with the return gift providing server.
[0186] A campaign recommendation request message may be a message in which an administrator terminal requests campaign configuration recommendation information from a return gift provider server. For example, a campaign recommendation request message may include an administrator account identifier, a terminal identifier, an authentication token, a request time, a request identifier, and budget information. The administrator account identifier may be a value used to identify an administrator registered with the return gift provider server. For example, the administrator account identifier may be set as an alphanumeric string code or a value in UUID format. The terminal identifier may be a unique identifier used to identify an administrator terminal instance. For example, the terminal identifier may be set as either a unique terminal identifier or an app instance identifier. The authentication token may be an authentication value issued by the return gift provider server after the administrator authentication process is completed. For example, the authentication token may be set in the form of a signed string token. The request identifier may be an identifier used to prevent duplicate processing of the same recommendation request and for response matching. For example, the request identifier may be set as a value in UUID format.
[0187] Budget information may represent the budget entered by the administrator terminal for campaign operation. For example, budget information may include a total budget value and a budget value per channel. The total budget value may represent the total budget available for execution in the campaign. For example, the total budget value may be set as a currency unit integer value and expressed as [Total Budget Value = 10,000,000 KRW]. The budget value per channel may represent the budget allocated for execution for each of multiple exposure channels. For example, the budget value per channel may be set as a currency unit integer vector aligned along the channel axis, such as [App Push Budget, KakaoTalk Budget, Email Budget, Banner Ad Budget]. For example, the budget value per channel may be expressed as [App Push = 1,000,000 KRW, KakaoTalk = 3,000,000 KRW, Email = 1,000,000 KRW, Banner Ad = 5,000,000 KRW].
[0188] For example, the return gift provision server can verify the validity of the authentication token included in the campaign recommendation request message and the existence of administrator privileges mapped to the administrator account identifier, and then initiate the campaign recommendation process if the verification is complete.
[0189] In step S620, the return gift providing server can obtain past campaign information, user attribute information, and inventory status information based on receiving a campaign recommendation request message.
[0190] Past campaign information may be information in the form of structured records containing conditions and result indicators of campaigns performed in the past. For example, past campaign information may consist of a set of campaign unit records, and each campaign unit record may include the campaign period, exposure channel, acquisition path, participant characteristics, return gift preference, and campaign result indicators. The campaign period may be a value representing the start and end times of the campaign. For example, the campaign period may be set as a timestamp pair, such as [Start time = 2025-12-01 00:00, End time = 2025-12-31 23:59]. The exposure channel may be a classification value for identifying the delivery means provided to the user terminal for campaign notifications or promotional exposures. For example, the exposure channel may be classified into app push, KakaoTalk notifications, email, and banner advertisements, and may include an exposure channel identifier, which is a predefined classification code value to formally distinguish the types of exposure channels. Channel identifiers can be set as string codes such as "PUSH", "ALIMTALK", "EMAIL", and "BANNER". The funnel may be a classification value used to identify the traffic source or entry trigger through which a user device entered the donation page. For example, funnels can be classified into app home banners, push links, AlimTalk links, and email links. The funnel may include a funnel identifier, which is a predefined classification code value, to formally distinguish the traffic source or entry trigger through which a user device entered the donation page. For example, the funnel identifier may be set as a string code such as "HOME_BANNER", "PUSH_LINK", "KAKAO_LINK", or "EMAIL_LINK". Participant characteristics may be statistical information that aggregates and summarizes the attributes of a set of users who actually participated in the campaign. For example, participant characteristics may include job title distribution, years of service distribution, remaining point range distribution, and the ratio of users with a past donation history.For example, participant characteristics can be expressed as [Rank of Job Title = Assistant Manager or higher 0.62, Years of service 3 years or more 0.71, Remaining points 50,000 or more 0.55, Rate of past donation history 0.40]. The job title distribution may be a real value in the range of 0 to 1 representing the proportion of users among the participants who satisfy a specific job title condition, and the years of service distribution may be a real value in the range of 0 to 1 representing the proportion of users among the participants who satisfy a specific years of service condition. The remaining point interval distribution may be a real value in the range of 0 to 1 representing the proportion of participants whose remaining points fall within a specific interval among pre-set intervals. The ratio of past donation history may be a value representing the proportion of participating users who have a history of making donations during a pre-set past period. For example, the ratio of past donation history may be set as a real value in the range of 0 to 1 and may be expressed as [Rank of past donation history = 0.40]. For example, participant characteristics stored in past campaign information may be aggregated at a reference time corresponding to the campaign end time and stored as a snapshot in a campaign unit record. Accordingly, the return gift provision server can obtain participant characteristics by querying the ratio of past donation history stored in the campaign record database. Return gift preference may be information summarizing the selection pattern of return gifts selected by the user terminal in the corresponding campaign. For example, return gift preference may include the selection ratio by return gift category, the number of selections per return gift, and the average payment amount. The selection ratio by return gift category may be a set of real values ranging from 0 to 1 representing the selection proportion of each category, and the sum of the selection ratios may be set to be 1. For example, return gift preference may be expressed as [AGRI 0.45, PROCESSED 0.25, LIFE 0.20, EXPERIENCE 0.10] based on the category identifier.The number of selections per return gift may be an integer value greater than or equal to 0 representing the number of times each return gift item identifier is selected. The average payment amount may be an integer or real value in currency units representing the average payment amount in the campaign. Campaign result metrics may be a set of numerical values representing the performance of the campaign. For example, campaign result metrics may include participation rate, donation amount, and mobile gift certificate usage rate. The participation rate may be a real value in the range of 0 to 1 representing the percentage of users among the campaign targets who actually proceeded to make a donation payment or confirm a donation. For example, the participation rate may be expressed as [Participation Rate = 0.18]. The donation amount may be an integer value in currency units representing the total donation amount confirmed in the campaign, and may be expressed as, for example, [Donation Amount = 85,000,000 Won]. The mobile gift certificate usage rate may be a real number in the range of 0 to 1 representing the ratio of gift certificates actually used by the return gift server among the mobile gift certificates issued by the campaign, and may be expressed as, for example, [Usage Rate = 0.73].
[0191] For example, the return gift provision server can obtain historical campaign information by querying the campaign record database based on a pre-set historical period. The pre-set historical period may be a period value used to limit the range of historical data to be used for inputting the recommendation model. For example, the pre-set historical period may be set to the last 12 months or the last 6 months, and start and end times may be applied as query conditions. For example, the return gift provision server may select only campaign records whose campaign end times fall within the historical period as query targets, and may obtain multiple campaign-unit records as query results. For example, the return gift provision server may query campaign meta records (period, exposure channel, traffic source) stored by campaign identifier, and construct a campaign-unit record by combining performance records (participation rate, donation amount, mobile gift certificate usage rate) and selection records (return gift selection logs) mapped to the same campaign identifier. A campaign identifier may be a unique identifier assigned to distinguish each campaign-unit record within the historical campaign information. For example, the campaign identifier can be set to a UUID-formatted value or a time-based sequence value issued at the time of campaign creation in the campaign record database. For example, the campaign identifier can be used as a combination key to enable campaign meta records, performance records, and selection records to be combined into the same campaign unit.
[0192] User attribute information may be user-specific attribute records stored in a pre-established user database. For example, user attribute information may include job title, years of service, remaining points, and past donation history. Job title may be an organizational job title classification value mapped to the dedicated account of the user terminal. For example, job titles may be classified into employee, assistant manager, manager, deputy manager, and general manager, and may include a job title identifier, which is a predefined code value, to formally distinguish job title classification values within the user attribute information. For example, the job title identifier may be set as an integer code value. Years of service may be a years value calculated based on the hire date of the dedicated account of the user terminal, and may be set as an integer value greater than or equal to 0, for example, and may be expressed as [Years of Service=5]. Remaining points may be a value representing the currently available balance in the welfare point account linked to the dedicated account of the user terminal, and may be set as a currency unit integer value and may be expressed as [Remaining Points=72,000]. Past donation history may be a value indicating whether donations were made within a specific period in the past and the cumulative number of donations. For example, past donation history may be expressed as [whether donations were made in the last 12 months = TRUE, cumulative number of donations = 3].
[0193] For example, the reciprocal gift provision server can retrieve user attribute information by querying the user database at the time a campaign recommendation request message is received. For instance, the reciprocal gift provision server can query user attribute records, such as job title, years of service, and past donation history, from the user database using a user identifier as a key. For instance, the reciprocal gift provision server can query user attribute records from the user database that map to user identifiers managed as valid users at the time of the request. Valid users can have their employment status and account status set to valid so that they can be included in the campaign target. For instance, as a result of the query, the reciprocal gift provision server can retrieve user attribute records containing job title, years of service, remaining points, and past donation history for each user identifier.
[0194] Inventory status information may be inventory and attribute records for each return gift stored in a pre-established product database. For example, inventory status information may include the inventory quantity and attributes of each return gift. The inventory quantity per return gift may be a value representing the remaining quantity currently available for shipment for each return gift item, and may be set as an integer value greater than or equal to 0. For example, the inventory quantity may be expressed as [Product A Inventory=120]. Return gift attributes may be attribute values used to classify return gift items and restrict campaign combinations. For example, return gift attributes may include a place identifier, a category identifier, and a region identifier. The place identifier may be a value used to identify the supplier or vendor of the corresponding return gift, and may be set as a string code such as [VENDOR_0123]. The category identifier may be a value used to identify a product group, and may be set as a string code such as [AGRI], [PROCESSED], [LIFE], or [EXPERIENCE]. The regional identifier can be a value used to identify a production location or supply area, and, for example, can be set as an administrative district code value. The usage identifier, category identifier, and regional identifier can be stored in the return gift attribute field of the product database.
[0195] For example, a return gift provider server can obtain inventory status information by querying the stock quantity field and the return gift attribute field in the product database using the return gift item identifier as a key. The return gift item identifier may be an identification value assigned to uniquely identify each return gift item in the product database. For example, the return gift item identifier may be set to an alphanumeric code or a UUID format value issued at the time of product registration. For example, the return gift provider server can query the stock quantity and return gift attribute records using the return gift item identifier as a key.
[0196] For example, the return gift provision server may determine an inventory reference time corresponding to the time at which the campaign recommendation request message is received, and apply a newest record selection rule to ensure that the latest inventory record updated prior to the inventory reference time is selected. The newest record selection rule may be a rule that selects the record with the most recent update time when multiple inventory update records exist for the same return gift item identifier. Accordingly, the return gift provision server can obtain inventory status information that reflects the inventory snapshot at the time of the campaign recommendation request.
[0197] In step S630, the return gift provision server can generate campaign configuration recommendation information through a campaign recommendation model using a second neural network based on past campaign information, user attribute information, inventory status information, and budget information.
[0198] A campaign recommendation model utilizing a second neural network may be a neural network model with a multi-prediction structure configured to combine past campaign characteristics with parameters of campaign candidates configurable at the current time to predict multiple performance indicators for each candidate and select the optimal candidate based on the prediction results. For example, the campaign recommendation model may utilize a structure that performs embedding-based encoding on categorical attributes and normalization-based encoding on continuous attributes, then performs feature crossover operations on the combined representation, and outputs prediction results through participation rate prediction heads, donation amount prediction heads, and mobile gift certificate usage rate prediction heads.
[0199] Campaign configuration recommendation information may be result information that represents the configuration of a recommended campaign as data, enabling an administrator to actually configure and apply the campaign. For example, campaign configuration recommendation information may include return gift combination information, target segment information, and budget allocation information. Return gift combination information may be information that specifies the return gift configuration to be displayed and provided in the campaign. For example, return gift combination information may include a set of return gift item identifiers, an exposure rate per item, an allocated quantity per item, a unit price per item, and a payout limit per user per item. The set of return gift item identifiers may be a set of identifier values used to identify multiple selectable return gift items. For example, the set of return gift item identifiers may be expressed as [ITEM_A, ITEM_B, ITEM_C]. The exposure rate per item may be a value indicating the proportion of each return gift item displayed in the recommendation area or list. For example, it can be set as a normalized real number vector such that the sum of the exposure ratios per item is 1, and can be expressed as [A=0.4, B=0.4, C=0.2]. The allocated quantity per item can be a value representing the quantity available for each item during the campaign period. For example, the allocated quantity per item can be set as an integer value greater than or equal to 0, and can be expressed as [A=300, B=200, C=100]. The unit price per item can be a value representing the payment unit price or settlement unit price per item. For example, the unit price per item can be set as an integer value in currency units, and can be expressed as [A=20,000 won, B=15,000 won, C=30,000 won]. The payout limit per user per item can be a value representing the maximum purchase quantity or maximum exchange quantity allowed for a single user. For example, the payment limit value per user per item can be set to an integer value greater than or equal to 1, and can be expressed as [Maximum 1 per A person].
[0200] Target segment information may be information that identifies the user group targeted for campaign notifications and impressions. For example, target segment information may include a set of segment condition parameters and a target reach scale value. The set of segment condition parameters may be a set of condition values applied to fields of user attribute information. For example, the set of segment condition parameters may include a minimum job title threshold, a minimum tenure threshold, a minimum remaining points threshold, and past donation history condition parameters. The minimum job title threshold may be a lower threshold applied when job titles are managed by ordered codes. For example, if job titles are stored as integer codes such as [Employee=1, Assistant Manager=2, Manager=3, Deputy Manager=4, General Manager=5], the minimum job title threshold may be set to 2, which means that conditions for Assistant Manager or higher are applied. The minimum tenure threshold may be a lower value for the tenure field, and may be set to, for example, 3. The remaining points minimum threshold may be a lower limit value for the remaining points field, and may be set, for example, to 50,000. The past donation history condition parameter may be a set of values defining the criteria for determining past donation history, and may include, for example, past period = 12 months and existence of donation history = TRUE. For example, the segment condition parameter set may be expressed as [Job rank min = 2, years of service min = 3, remaining points min = 50,000, past period = 12 months, existence of donation history = TRUE]. The target reach value may be a value that allows the target scale of campaign impressions or dispatches to be specified numerically, and may be set to an integer value greater than or equal to 0. For example, the target reach value may include the target audience count. The target audience count may be a value representing the target number of users selected to receive campaign notifications, and may be set, for example, to 50,000.For example, if the target reach scale value is set to [number of target recipients = 50,000], the return gift server can determine the set of target users to be exposed so that up to 50,000 people are selected from among users who satisfy the segment conditions.
[0201] Budget allocation information may be specific information regarding how the total budget and channel-specific budgets are applied in campaign operations. For example, budget allocation information may include a total budget value and a channel-specific execution budget vector. The total budget value may be a currency unit integer value. The channel-specific execution budget vector may be a currency unit integer vector corresponding to [App Push, KakaoTalk Notification, Email, Banner Ad]. For example, each component of the channel-specific execution budget vector may be set to a currency unit integer value greater than or equal to 0, and each component may be set so as not to exceed the corresponding channel-specific budget value included in the budget information. The sum of the components of the channel-specific execution budget vector may be set so as to be less than or equal to the total budget value.
[0202] For example, a campaign recommendation model can acquire multiple campaign unit records for a preset past period based on past campaign information.
[0203] For example, if the pre-configured historical period is set to the last 12 months, the campaign recommendation model can retrieve campaign-unit records of campaigns that ended within that period. For instance, each campaign-unit record can be stored such that [campaign period, impression channel identifier, funnel identifier, participant characteristics, return gift preference, participation rate, donation amount, mobile gift certificate usage rate] are aligned to the same schema. Here, participant characteristics can be set as a statistical vector including job title distribution, years of service distribution, remaining point range distribution, and the ratio of past donation history, and return gift preference can be set as a selection pattern vector including the selection ratio by return gift category, the number of selections per return gift, and the average payment amount.
[0204] For example, a campaign recommendation model can encode multiple campaign unit records into a campaign feature vector using embedding parameters and a scale transformation.
[0205] Specifically, for example, the campaign recommendation model can generate categorical embedding vectors by querying an embedding table for the impression channel identifiers and funnel identifiers included in campaign-unit records. For example, the campaign recommendation model can determine the category with the maximum selection rate among the selection rates by gift category included in gift preferences as the main category, and generate a main category embedding vector by querying an embedding table for the category identifiers corresponding to the main category. The embedding table can be stored as a learnable parameter such that each code value is mapped to a fixed-dimensional real vector.
[0206] Specifically, for example, a campaign recommendation model can generate normalized features by applying scale transformations to continuous values included in campaign unit records. For example, participation rates and mobile gift certificate usage rates can be input as values in the range of 0 to 1, each ratio value of participant characteristics can be input as a value in the range of 0 to 1, and donation amounts and average payment amounts can be configured to apply standardization transformations after log scale transformations. For example, a campaign recommendation model can generate campaign record feature vectors by vector-concatenating categorical embedding vectors and normalized features.
[0207] For example, a campaign recommendation model can generate a single campaign feature vector by aggregating multiple campaign record feature vectors. For instance, the campaign recommendation model can perform weighted summation aggregation on multiple campaign record feature vectors, and the weights can be calculated within a range of 0 to 1 by applying softmax normalization to the inner product between a learnable reference vector and each campaign record feature vector. In this case, the weights can be set so that their sum equals 1. The learnable reference vector may be a fixed-dimensional reference vector stored as a model parameter to form a criterion for determining which records among multiple campaign record feature vectors will be more significantly reflected in the aggregation result. For example, the campaign recommendation model can update the reference vector during the training process so that records with larger inner product values between the reference vector and each campaign record feature vector are assigned greater weights. Accordingly, the campaign feature vector can be formed as a vector that concisely reflects the combined trends of past campaign exposure channels, acquisition paths, participant characteristics, return gift preferences, and performance indicators.
[0208] For example, the campaign recommendation model can determine return gift combination parameters, target segment parameters, and budget allocation parameters based on inventory status information, user attribute information, and budget information.
[0209] For example, the campaign recommendation model can determine return gift combination parameters, target segment parameters, and budget allocation parameters by constructing multiple parameter candidate sets for each axis based on inventory status information, user attribute information, and budget information. In other words, the campaign recommendation model can determine the candidate set by generating parameter candidates that represent possible combinations according to candidate generation rules based on inventory status information, user attribute information, and budget information.
[0210] For example, the campaign recommendation model can determine a set of candidate return gift items from inventory status information to generate a set of candidate return gift combination parameters. The set of candidate return gift items can be generated using return gift item identifiers with an inventory quantity greater than 0. The campaign recommendation model can generate multiple return gift item combinations from among the candidate return gift items according to pre-set combination size rules. In this case, return gift combination parameters can be generated such that the item-specific exposure ratio, item-specific allocation quantity, and item-specific payout quantity per user are set together for each combination. Specifically, the item-specific allocation quantity is set as an integer within a range that does not exceed the inventory upper limit value of each item, the item-specific payout quantity per user is set as an integer within a range that does not exceed the item-specific payout limit value per user, and the item-specific exposure ratio can be selected from a pre-defined set of grid values and normalized so that their sum equals 1. Additionally, for example, the allocation quantity per combination can be adjusted or combination candidates can be excluded so that the estimated budget required by the return gift combination does not exceed the range of the total budget value by reflecting the unit price per item.
[0211] For example, to generate a set of target segment parameter candidates, the campaign recommendation model may query the distribution of user attribute information and then generate a set of threshold candidates. Specifically, the minimum job title threshold can be selected from a pre-set set of candidate codes among the possible values of job title codes, and the minimum tenure threshold can be selected from a set of candidate integers greater than or equal to 0. The minimum remaining points threshold can be selected from a set of candidate integers of currency units. The past donation history condition parameter can be generated as a combination of a set of candidate past period values and a set of candidate values regarding the existence of donation history. Accordingly, the target segment parameters can be generated as multiple candidates where [minimum job title threshold, minimum tenure threshold, minimum remaining points threshold, past period value, and donation history value] are set as different value combinations. In this case, the number of candidates can be generated to be less than or equal to a pre-set upper limit to limit the system computation load, and for example, threshold combinations with extremely low frequency in the user attribute distribution can be excluded during the candidate generation stage.
[0212] For example, a campaign recommendation model can generate candidate channel-specific execution budget vectors by using the total budget value and the channel-specific budget value included in the budget information as input constraints to generate a set of candidate budget allocation parameters. Each candidate is configured such that the channel-specific execution budget is between 0 and the total budget, and the execution budget of each channel can be restricted so that it does not exceed the corresponding channel-specific budget value. Additionally, channels with a channel-specific budget value of 0 can be generated with the corresponding channel component fixed at 0 in the candidate vector. For example, candidate channel-specific execution budget vectors can be generated from a combination of values selected from a preset budget split grid (e.g., in 5% increments) and can be normalized so that the sum matches the total budget value.
[0213] For example, the campaign recommendation model can generate candidate parameter vectors corresponding to each of multiple campaign configuration candidates based on return gift combination parameters, target segment parameters, and budget allocation parameters.
[0214] For example, the campaign recommendation model can generate candidate parameter vectors corresponding to each of multiple campaign configuration candidates based on a candidate set of return gift combination parameters, a candidate set of target segment parameters, and a candidate set of budget allocation parameters. Specifically, the campaign recommendation model can generate campaign configuration candidates by matching one candidate for return gift combination parameters, one candidate for target segment parameters, and one candidate for budget allocation parameters in a triple combination, and can generate candidate parameter vectors on a 1:1 basis for each campaign configuration candidate. The candidate parameter vectors can be composed of fixed-dimensional vectors in which categorical values are converted into embeddings and continuous values are normalized, and then connected in a pre-set order. For example, the candidate parameter vectors can be generated in a connected form including [aggregate values of return gift item identifier embeddings, normalized vector of exposure ratio by item, normalized vector of allocated quantity by item, normalized vector of unit price by item, normalized vector of payment limit per user, normalized vector of segment threshold, normalized value of past period value, embedding of whether donation history exists, and normalized vector of execution budget by channel]. In this case, if the number of return gift items and the number of channels are variable, padding values can be applied based on a preset maximum number to configure the dimension of the candidate parameter vector to be fixed.
[0215] For example, a campaign recommendation model can generate candidate input vectors by combining campaign feature vectors and candidate parameter vectors. This combination can be performed using a vector concatenation operation, and the resulting candidate input vector serves as a single input vector for each campaign configuration candidate, which can then be input to feature intersection layers and prediction heads to calculate performance predictions for each candidate.
[0216] For example, a campaign recommendation model can calculate predicted participation rates, predicted donation amounts, and predicted mobile gift certificate usage rates, respectively, through multiple prediction heads for candidate input vectors.
[0217] Specifically, for example, a campaign recommendation model can determine an intersection feature vector through a feature intersection layer based on a candidate input vector. The feature intersection layer may be a layer that generates intersection features from the candidate input vector so that the combinational relationships between the features included in the candidate input vector are reflected in the intermediate representation. The intersection feature vector may be a vector in which intersection feature values corresponding to the dimension combination of the candidate input vector are aligned and arranged in a common dimension so that the interactions between the elements of the candidate input vector are reflected. Specifically, for example, the feature intersection layer may determine the intersection feature vector by applying an intersection transformation parameter to the candidate input vector to calculate intersection feature values so that a multiplication-based combination is performed between multiple feature values included in the candidate input vector, and by projecting the calculated intersection feature values so that they correspond to a preset output dimension. For example, the multiplication-based combination may be an operation in which at least two feature values among the multiple feature values included in the candidate input vector are multiplied together to produce a single combined value. For example, the multiplication-based combination may be set as a second-order combination operation such that the product of a first feature value and a second feature value yields an intersection feature value, or as a third-order combination operation such that the product of a first feature value, a second feature value, and a third feature value yields an intersection feature value. For example, the multiplication-based combination may be configured so that the result of multiplying elements of a candidate input vector indicates the degree of co-occurrence of the feature combination, thereby allowing interaction terms that are not expressed by a single feature value alone to be reflected in the intersection feature value. For example, the preset output dimension may be a value representing a predetermined vector length for the feature intersection layer to output an intersection feature vector.For example, a preset output dimension can be set to an integer value that determines the number of intersection feature values included in the intersection feature vector, and can be set to match the input dimension required for the intersection feature vector to be input into subsequent layers within the model (e.g., multiple expert layers). For example, the feature intersection layer can process the intersection feature vector in a consistent form in subsequent operations by aligning and arranging multiple intersection feature values derived from candidate input vectors to correspond to the preset output dimension.
[0218] For example, a campaign recommendation model can determine multiple expert output vectors through multiple expert layers based on cross-feature vectors. The multiple expert layers may be a set of multiple vector transformation layers to which different sets of learning parameters are applied for each expert, so that different weighted transformations are applied to the same cross-feature vector. The expert output vector is a vector generated by applying an expert-specific weighted transformation to the cross-feature vector, and may be a vector aligned to the same dimension to generate different latent representations for each expert. Specifically, for example, each of the multiple expert layers may be configured to sequentially perform a fully connected transformation and a non-linear activation transformation on the cross-feature vector, thereby determining different expert output vectors for each expert. The fully connected transformation may be a linear transformation operation in which a weight matrix and bias parameters are applied to the input vector to produce an output vector, such that every element of the input vector contributes to the production of each element of the output vector. For example, the fully connected transformation may be performed to produce an intermediate vector of a new dimension by multiplying the cross-feature vector by a learned weight matrix and adding a bias. A nonlinear activation transform can be an operation performed to transform linear output values produced by a fully combined transform by a nonlinear function. For example, a nonlinear activation transform can be used to reflect nonlinear decision boundaries that cannot be expressed by linear transformation alone in the expert output vector by applying one of the activation functions ReLU, GELU, or tanh to restrict values in the negative region or remap them into a curved shape.
[0219] For example, a campaign recommendation model can determine a combination ratio vector through a gating layer based on candidate input vectors. The gating layer may be a layer that calculates expert combination ratios from candidate input vectors so that multiple expert output vectors are combined at different ratios for each candidate. The combination ratio vector is a vector in which combination ratio values corresponding to each of multiple experts are arranged, and each combination ratio value is restricted to a range between 0 and 1, and the sum of the combination ratio values is normalized to 1. Specifically, for example, the gating layer may calculate a gated logit vector by applying a linear projection to the candidate input vectors and determine the combination ratio vector by applying softmax normalization to the gated logit vectors. The gated logit vector is a vector calculated by the gating layer by applying a linear projection to the candidate input vectors, and may be a vector in which combination preferences corresponding to each of multiple experts are arranged in the form of real values before normalization. For example, each element of the gated logit vector may be set as a score representing the relative degree to which the corresponding expert output vector contributes to the combination, and may be set as a positive real value. Softmax normalization may be a normalization operation performed such that multiple real values included in a gated logit vector are converted into joint ratio values in the range of 0 to 1. For example, softmax normalization may be performed by applying an exponential transformation to each element of the gated logit vector and then dividing by the exponential sum of all elements, thereby limiting each element of the joint ratio vector to the range of 0 to 1 and setting the sum of the elements of the joint ratio vector to 1.
[0220] For example, a campaign recommendation model can determine an expert combination vector based on a combination ratio vector and multiple expert output vectors. The expert combination vector is a resulting vector obtained by weighted summing, where the corresponding elements of the combination ratio vector are applied as weights to each of the multiple expert output vectors, and it may be a vector aligned to a common dimension so that the latent representations of multiple experts are condensed into a single vector. Specifically, for example, the campaign recommendation model can determine the expert combination vector by performing item-wise multiplication and vector summing between each element of the combination ratio vector and the expert output vectors.
[0221] For example, a campaign recommendation model can determine predicted values for participation rate, donation amount, and mobile gift certificate usage rate through multiple prediction heads based on an expert combined vector. The multiple prediction heads may be a set of output transformation layers separated by metric to calculate a metric-specific prediction scalar from the expert combined vector. The predicted values for participation rate and mobile gift certificate usage rate may be scalar prediction values set as probability values in the range of 0 to 1, and the predicted value for donation amount may be a scalar prediction value determined in a value range greater than 0 and then normalized to a currency unit integer. Specifically, for example, the participation rate prediction head can determine a participation rate prediction value in the range of 0 to 1 by applying a linear projection to the expert combined vector to calculate a participation rate scalar score and applying a sigmoid-based transformation to the participation rate scalar score. Specifically, for example, the mobile gift certificate usage rate prediction head can determine a usage rate prediction value in the range of 0 to 1 by applying a linear projection to the expert combined vector to calculate a usage rate scalar score and applying a sigmoid-based transformation to the usage rate scalar score. Specifically, for example, the donation amount prediction head can determine a donation amount prediction value in the range of 0 to an integer by applying a currency unit integerization operation after determining a donation amount default value greater than 0 by applying a soft-plus-based transformation log(1+exp(x)) to the donation amount scalar score. For example, if the donation amount prediction value exceeds the total budget value, the campaign recommendation model can apply an upper limit operation to limit the donation amount prediction value to the total budget value.
[0222] For example, the campaign recommendation model can calculate a goal score for each candidate based on the predicted participation rate, the predicted donation amount, and the predicted mobile gift certificate usage rate. For example, the predicted donation amount can be converted into a predicted donation amount ratio normalized to a range of 0 to 1 by dividing it by the total budget value, and the goal score can be calculated in the form of (predicted participation rate x w1) + (predicted normalized donation amount ratio x w2) + (predicted mobile gift certificate usage rate x w3), where w1, w2, and w3 can be set to values greater than 0.
[0223] For example, the return gift provision server compares the objective scores calculated for each of multiple campaign configuration candidates, selects the candidate with the maximum objective score, and determines the return gift combination parameters, target segment parameters, and budget allocation parameters included in the selected candidate as campaign configuration recommendation information.
[0224] In step S640, the return gift provision server can transmit campaign configuration recommendation information to the administrator terminal.
[0225] For example, the return gift provision server may generate a response message that matches the request identifier included in the campaign recommendation request message transmitted by the administrator terminal, and transmit the response message containing campaign configuration recommendation information. For example, the response message may include a request identifier, the time of response creation, return gift combination information, target segment information, budget allocation information, predicted participation rate, predicted donation amount, predicted mobile gift certificate usage rate, and objective score. The time of response creation may be set to a timestamp value based on the return gift provision server's standard time zone.
[0226] For example, the administrator terminal can display the received campaign configuration recommendation information on the management screen and control the application of the campaign configuration by confirming the displayed gift combination, target segment, and budget allocation as approval inputs.
[0227] Additionally, according to one embodiment, the return gift providing server may set a campaign result indicator included in past campaign information as the ground truth label and perform a learning procedure in which the parameters of a campaign recommendation model including a second neural network are optimized to minimize the prediction error. In the learning procedure, the return gift providing server may generate a training dataset in which input features and ground truth labels are combined 1:1 from past campaign unit records. At this time, each sample of the training dataset may include a training input vector formed by vector-connecting a campaign record feature vector generated from the corresponding campaign unit record and a campaign configuration parameter vector actually applied in the corresponding campaign, and a ground truth label vector formed by sorting the participation rate, donation amount, and mobile gift certificate usage rate stored in the corresponding campaign unit record in the same order. For example, a campaign recommendation model receives a training input vector as input, sequentially performs a feature cross layer, multiple expert layers, and a gating layer to generate an expert combined vector, and then calculates prediction values for the participation rate prediction head, donation amount prediction head, and mobile gift certificate usage rate prediction head, respectively. It can also perform back-propagation-based parameter updates to reduce the error between the corresponding components of each prediction value and the correct label vector. For example, for the participation rate prediction head and the mobile gift certificate usage rate prediction head, the output is configured so that the prediction value is normalized to a probability value in the range of 0 to 1, and a binary cross-entropy loss can be calculated as the loss between the corresponding probability prediction value and the correct label. At this time, for the donation amount prediction head, the prediction value is set to be calculated as a currency unit scalar, and a mean squared error loss can be calculated as the loss between the corresponding scalar prediction value and the correct label.In another embodiment, the normalized regression loss may be calculated based on a ratio normalized to the total budget value or a value converted to a logarithmic scale. For example, the campaign recommendation model determines a weighted summed final loss value by applying a preset importance weight to each loss value per head, and updates the embedding table parameters, feature cross layer parameters, multiple expert layer parameters, gating layer parameters, and multiple prediction head parameters by applying a gradient descent-based optimization operation in the direction in which the gradient of the final loss value decreases. For example, the parameters of the gating layer may be updated to optimize the division of roles among experts by campaign attribute by learning which expert output vector is assigned a larger joint ratio to minimize the final loss value based on a combination of campaign record features and campaign configuration parameters. In addition, the return gift provision server can control the reflection of the latest user response trends in the prediction parameters by adding newly generated campaign unit records to the training dataset according to a preset training cycle (e.g., weekly, monthly) and retraining the campaign recommendation model or performing incremental training to reflect the added data.
[0228] FIG. 7 is a block diagram showing the configuration of a return gift providing server according to one embodiment. The embodiment of FIG. 7 can be combined with various embodiments of the present disclosure.
[0229] As illustrated in FIG. 7, the return gift providing server (700) may include a processor (710), a communication unit (720), and a memory (730). However, not all components illustrated in FIG. 7 are essential components of the return gift providing server (700). The return gift providing server (700) may be implemented with more components than those illustrated in FIG. 7, or with fewer components than those illustrated in FIG. 7. For example, according to some embodiments, the return gift providing server (700) may further include a user input interface (not shown), an output unit (not shown), etc., in addition to the processor (710), the communication unit (720), and the memory (730).
[0230] The processor (710) typically controls the overall operation of the return gift providing server (700). The processor (710) may be equipped with one or more processors to control other components included in the return gift providing server (700). For example, the processor (710) may control the communication unit (720) and the memory (730) overall by executing programs stored in the memory (730). Additionally, the processor (710) may perform the functions of the return gift providing server (700) described in FIGS. 3 to 6 by executing programs stored in the memory (730).
[0231] The communication unit (720) may include one or more components that enable the return gift providing server (700) to communicate with other devices (not shown) and servers (not shown). The other devices (not shown) may be computing devices such as the return gift providing server (700) or sensing devices, but are not limited thereto. The communication unit (720) may receive user input from other electronic devices or receive data stored in external devices from external devices via a network.
[0232] The memory (730) can store a program for processing and controlling the processor (710). For example, the memory (730) can store information input to the server or information received from another device via a network. Additionally, the memory (730) can store data generated by the processor (710). The memory (730) can also store information input to or output from the return gift providing server (700).
[0233] The memory (730) may include at least one type of storage medium among flash memory type, hard disk type, multimedia card micro type, card type memory (e.g., SD or XD memory, etc.), RAM (Random Access Memory), SRAM (Static Random Access Memory), ROM (Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), magnetic memory, magnetic disk, and optical disk.
[0234] The embodiments described above may be implemented as hardware components, software components, and / or combinations of hardware and software components. For example, the devices, methods, and components described in the embodiments may be implemented using one or more general-purpose or special-purpose computers, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing unit may execute an operating system (OS) and one or more software applications executed on said operating system. Additionally, the processing unit may access, store, manipulate, process, and generate data in response to the execution of the software. For ease of understanding, the processing unit may be described as being used as a single unit, but those skilled in the art will understand that the processing unit may include multiple processing elements and / or multiple types of processing elements. For example, the processing unit may include multiple processors or one processor and one controller. Additionally, other processing configurations, such as parallel processors, are also possible.
[0235] Software may include computer programs, code, instructions, or a combination of one or more of these, and may configure a processing unit to operate as desired or command the processing unit independently or collectively. Software and / or data may be permanently or temporarily embodied in any type of machine, component, physical device, virtual equipment, computer storage medium or device, or transmitted signal wave so as to be interpreted by the processing unit or to provide instructions or data to the processing unit. Software may be distributed over networked computer systems and may be stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.
[0236] The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc., either alone or in combination. The program instructions recorded on the medium may be those specifically designed and configured for the embodiment, or they may be those known and available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes; optical recording media such as CD-ROMs and DVDs; magneto-optical media such as floptical disks; and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, and flash memory. Examples of program instructions include machine code, such as that generated by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc. The hardware devices described above may be configured to operate as one or more software modules to perform the operation of the embodiment, and vice versa.
[0237] Although the embodiments have been described above with reference to the limited drawings, those skilled in the art can apply various technical modifications and variations based on the above. For example, suitable results may be achieved even if the described techniques are performed in a different order than described, and / or if the components of the described system, structure, device, circuit, etc. are combined or assembled in a form different from described, or replaced or substituted by other components or equivalents.
[0238] Therefore, other implementations, other embodiments, and equivalents to the claims also fall within the scope of the claims set forth below.
Claims
Claim 1 A system for issuing mobile gift certificates in conjunction with the processing of donations using welfare points and providing return gifts based on the issued mobile gift certificates, comprising: a user terminal providing payment request information including a donation item, a donation amount, and a user identifier; a local government donation processing server that performs a donation to a local government based on the payment request information and issues a mobile gift certificate to the user terminal according to the result of the donation; and a welfare point management server linked with the local government donation processing server and performs a deduction of welfare points from the welfare point account of the user terminal according to the result of the donation. The system includes a return gift providing server that provides a return gift to the user terminal based on the mobile gift certificate, wherein the return gift providing server receives gift certificate issuance information including the user identifier, gift certificate identifier, gift certificate balance, and validity period from the local government donation processing server, creates a gift certificate record based on the gift certificate issuance information, registers the gift certificate record in the dedicated account of the user terminal that matches the user identifier, queries the gift certificate record registered in the dedicated account of the user terminal based on the reception of a connection request from the user terminal, generates a return gift list for the user terminal based on the queryed gift certificate record, transmits the return gift list to the user terminal, receives a purchase request message from the user terminal including a product to be purchased and a payment amount included in the return gift list, performs a deduction of the gift certificate balance based on the payment amount and the gift certificate balance, generates delivery order information for the product to be purchased based on delivery address information pre-registered in the dedicated account of the user terminal, and transmits a purchase completion message including the delivery order information for the product to be purchased to the user terminal. The above-mentioned return gift providing server is,By requesting point status information for the user terminal from the welfare point management server, the point status information for the user terminal is received from the welfare point management server; the point status information includes available points, point accumulation history, point usage history, and points scheduled to expire for each of multiple period intervals; based on the point status information, recommended donation schedule information is generated through a donation schedule recommendation model using a first neural network; the recommended donation schedule information includes a recommended donation time and a recommended donation amount; and the recommended donation schedule information is transmitted to the user terminal; the donation schedule recommendation model generates a point fluctuation time series sorted in chronological order by segmenting the point accumulation history and the point usage history into preset time units; generates a hidden sequence by performing a time series encoding operation that converts the time-sequence vectors of the point fluctuation time series into time-sequence hidden vectors of a common dimension; calculates time-sequence weights through a normalization operation on the inner product value between a reference vector and a time-sequence hidden vector for the hidden sequence; and generates a history summary vector by performing a weighted summation operation based on the time-sequence weights. A system for determining an integrated feature vector by combining a history summary vector, the available points, and points scheduled to expire for each of the plurality of time intervals, calculating distribution parameters for generating a latent vector from the integrated feature vector, generating a latent vector through a sampling operation based on the distribution parameters, generating a point restoration time series corresponding to the point fluctuation time series based on the latent vector, updating parameters of the donation schedule recommendation model for a preset number of learning iterations such that the reconstruction error between the point restoration time series and the point fluctuation time series is reduced, and determining the recommended donation time and the recommended donation amount based on the latent vector by applying the updated parameters. Claim 2 delete Claim 3 In claim 1, the reciprocal gift providing server receives a campaign recommendation request message including budget information from an administrator terminal pre-linked with the reciprocal gift providing server, obtains past campaign information, user attribute information, and inventory status information based on the receipt of the campaign recommendation request message, generates campaign configuration recommendation information through a campaign recommendation model using a second neural network based on the past campaign information, the user attribute information, the inventory status information, and the budget information, the campaign configuration recommendation information includes reciprocal gift combination information, target segment information, and budget allocation information, and transmits the campaign configuration recommendation information to the administrator terminal, and the campaign recommendation model obtains a plurality of campaign unit records for a pre-set past period based on the past campaign information, encodes the plurality of campaign unit records into a campaign feature vector using embedding parameters and scale transformation, determines a reciprocal gift combination parameter, a target segment parameter, and a budget allocation parameter based on the inventory status information, the user attribute information, and the budget information, generates a candidate parameter vector corresponding to each of a plurality of campaign configuration candidates based on the reciprocal gift combination parameter, the target segment parameter, and the budget allocation parameter, and the campaign feature vector and the A system for generating a candidate input vector by combining candidate parameter vectors, calculating a predicted participation rate, a predicted donation amount, and a predicted mobile gift certificate usage rate for the candidate input vector through a plurality of prediction heads, determining an objective score for each campaign configuration candidate based on the predicted participation rate, the predicted donation amount, and the predicted mobile gift certificate usage rate, and determining the campaign configuration candidate with the maximum objective score among the plurality of campaign configuration candidates as the campaign configuration recommendation information.
Citation Information
Patent Citations
Hometown return program, program, computer, and information processing method
JP2024133050A
System and method for managing local voluntary development service platform
KR101882187B1
Donation management process and system based on block chain
KR1020200008477A
