system

A system automates corporate sales support tasks by acquiring and analyzing sales data to send follow-up emails, addressing the need for advanced programming skills and enhancing efficiency.

JP2026037924APending Publication Date: 2026-03-06SOFTBANK GROUP CORP
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-22
Publication Date
2026-03-06

AI Technical Summary

Technical Problem

Automating corporate sales support tasks such as managing customer lists and sending follow-up emails requires advanced programming skills and significant man-hours, hindering widespread adoption and efficiency.

Method used

A system that acquires sales data, identifies customers who have been in contact for a specified period, generates email templates, and sends emails automatically, enabling users without programming skills to automate these tasks.

Benefits of technology

The system simplifies and speeds up corporate sales support tasks, reducing labor hours and improving business efficiency by automating routine operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026037924000001_ABST
    Figure 2026037924000001_ABST
Patent Text Reader

Abstract

Provide a system. [Solution] means for retrieving sales data from the data storage means; A means for analyzing the last contact date of the acquired sales data and selecting data for which a specified period of time has elapsed; A means for generating an email template based on the selected data and linking the email template with customer information in the sales data; a means for sending the generated email to customers; A system including:
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The technology of the present disclosure relates to a system. [Background technology]

[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]

[0004] Corporate sales support tasks include routine tasks such as managing customer lists and sending follow-up emails. However, automating these tasks requires advanced programming skills and a significant amount of man-hours, which has resulted in the lack of widespread adoption of automation. This also hinders efficient business operations, making it difficult to improve productivity. [Means for solving the problem]

[0005] The present invention provides a system that acquires sales data from an existing data storage means and identifies customers who have been in contact for a specified period of time or more. Furthermore, the system has the function of automatically generating email templates and sending emails to the identified customers. Specifically, the system includes a means for acquiring sales data from a data storage means, a means for analyzing the last contact date of the acquired sales data and selecting data for which a specified period of time or more has passed, a means for generating email templates based on the selected data, a means for linking customer information in the sales data with the email template, and a means for sending the generated emails to customers. This allows even users without advanced programming skills to easily automate routine tasks, reducing labor hours and improving business efficiency.

[0006] "Data Storage Measures" means any physical or virtual data storage medium on which Business Data is stored and from which it can be accessed and retrieved.

[0007] "Sales data" refers to a series of data related to corporate sales support work, such as customer information, last contact date, and contact information.

[0008] The term "means" refers to a method, device, or program used to realize a specific function in a system.

[0009] "Retrieval Means" means the processes or techniques used to search, read, or extract Sales Data from Data Storage Means.

[0010] "Means of analysis" refers to the function of evaluating and judging the acquired sales data based on specific conditions (e.g., last contact date).

[0011] "Means for selecting" refers to the function of separating data that meets certain conditions from other data based on analysis.

[0012] "Email template" refers to a document in which the content of the email to be formed is in a pre-set format and includes specific placeholders.

[0013] "Means for generating" refers to the process and technology for creating the actual email content using a template.

[0014] "Means of sending" refers to the processes and techniques by which generated mail is sent electronically to a particular recipient. [Brief explanation of the drawings]

[0015] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12]FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION

[0016] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.

[0017] First, the terms used in the following description will be explained.

[0018] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).

[0019] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.

[0020] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.

[0021] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.

[0022] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."

[0023] [First embodiment]

[0024] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.

[0025] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.

[0026] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0027] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.

[0028] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.

[0029] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.

[0030] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.

[0031] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.

[0032] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0033] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0034] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[0035] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0036] As an embodiment of the present invention, an automated system for supporting corporate sales will be described. This system acquires sales data from a data storage means, analyzes the data, selects customers based on specific conditions, and automatically sends follow-up emails to the selected customers.

[0037] The server first retrieves sales list data from a specific sheet in Google® Spreadsheets, which contains information such as customer names, email addresses, and last contact dates.

[0038] Next, the server analyzes the sales list data and calculates the number of days that have passed since the last contact date for each customer. If a certain period of time has passed since the last contact date, the customer is selected as a target for follow-up emails.

[0039] For selected customers, the server generates the email body using a predefined email template, which is in HTML format and contains specific placeholders that the server replaces with actual customer information to create a customized email body.

[0040] The server then uses the MailApp service to send the generated email body to the specified customer email address, ensuring follow-up emails are sent automatically and efficiently.

[0041] As a concrete example, consider the following sales listing data:

[0042] | Customer Name | Email Address | Phone Number | Last Contact Date |

[0043] | ------ | -------------- | -------- | --------- |

[0044] | Taro Yamada | yamada@example.com | 090-1234-5678 | 2023-08-25 |

[0045] | Hanako Sato | sato@example.com | 080-2345-6789 | 2023-09-15 |

[0046] If the current date is 2023-10-02, the server will recognize from this sales list that it has been more than 30 days since Taro Yamada's last contact. Therefore, the server will send a follow-up email to Taro Yamada. On the other hand, since it has been less than 30 days since Hanako Sato's last contact, she will not be eligible to receive a follow-up email.

[0047] In this way, the system embodying the present invention can automate corporate sales support tasks simply and quickly without requiring programming skills, thereby improving business efficiency and significantly reducing the number of steps required.

[0048] The processing flow will be explained below.

[0049] Step 1:

[0050] The server retrieves a sheet named "Sales List" from a Google spreadsheet, giving it access to all the data contained in the Sales List.

[0051] Step 2:

[0052] The server specifies the entire data range in the retrieved sheet and retrieves all values ​​in that data range as a two-dimensional array, which converts the data into a format that can be processed in the program.

[0053] Step 3:

[0054] The server reads the email template, which is stored as an HTML file, and retrieves its content as a string, which contains placeholders that are later replaced with customer information.

[0055] Step 4:

[0056] The server loops through the retrieved data range, excluding the first row (header row), and processes the data from the second row onwards. Within this loop, the data for each customer is processed in order.

[0057] Step 5:

[0058] The server retrieves the email address from the currently processed row (customer data), which determines the address to use for subsequent email transmissions.

[0059] Step 6:

[0060] The server retrieves the last contact date from the currently processed row (customer data) and converts it to a Date object, allowing date arithmetic to be performed.

[0061] Step 7:

[0062] The server retrieves the current date and stores it in a Date object. The current date is used to calculate the difference in days from the last contact date.

[0063] Step 8:

[0064] The server calculates the difference between the current date and the last contact date in milliseconds and converts this to a number of days. If it has been more than 30 days since the last contact date, the customer is selected for a follow-up email.

[0065] Step 9:

[0066] The server defines a fixed value for the email subject, which will be used as the theme for follow-up emails.

[0067] Step 10:

[0068] The server generates a customized email body by replacing the placeholder ({{name}}) in the template with the name of the customer currently being processed, thus creating an email content tailored to each individual customer.

[0069] Step 11:

[0070] The server uses the MailApp service to send the generated email body to the specified customer email address. This is the step where the follow-up email is actually delivered to the customer.

[0071] Example 1

[0072] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0073] Customer follow-up plays an important role in corporate sales activities, but doing it manually requires a great deal of time and effort. It is also difficult to efficiently manage the last contact date for each customer and send follow-up emails at the appropriate time. For this reason, an automated system is needed to improve the efficiency of sales activities.

[0074] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[0075] In this invention, the server includes means for acquiring sales data from a data storage means, means for analyzing the last contact date of the acquired sales data and selecting data for which a specified period of time has elapsed, means for generating a common email format based on the selected data and linking customer information in the sales data with the common email format, means for sending the generated email to the customer, and means for calculating the number of days since the last contact. This automates corporate sales follow-up work, improving work efficiency and enabling timely customer responses.

[0076] "Sales data" refers to data including customer information, transaction information, and the last contact date related to corporate sales activities.

[0077] "Data storage means" refers to a system or device for storing and managing business data, including electronic spreadsheet tools and databases.

[0078] A "server" is a computer system that has computing power to acquire, analyze, process, transmit, etc. data.

[0079] The "last contact date" is information indicating the date of the last contact with the customer.

[0080] "Selection" is the process of classifying data based on certain criteria and extracting the necessary data.

[0081] A "common email format" is an email format created based on a defined format or template, and is often in a markup language format.

[0082] A "placeholder" is a temporary mark or code that indicates where actual data will be inserted later.

[0083] "Number of days elapsed" is the number of days that have elapsed between a specific date and the current date.

[0084] An "electronic spreadsheet tool" is software for inputting, calculating, analyzing, displaying, etc. data, and examples thereof include spreadsheets.

[0085] "Communication Services" means online services that enable the sending and receiving of email.

[0086] The present invention relates to an automated system for supporting corporate sales. This system acquires and analyzes sales data and automatically sends follow-up emails to customers based on specific conditions.

[0087] Specifically, the following processing is performed.

[0088] First, the server retrieves sales data from an electronic spreadsheet such as Google Sheets. The sales data includes information such as customer names, email addresses, phone numbers, and last contact dates. The server uses the Google Sheets API to read data from the specified sheet ID. The read data is then internally converted to array or data frame format.

[0089] Next, the server analyzes the acquired sales data. Specifically, it compares the last contact date with the current date and calculates the number of days that have passed. In this case, the server obtains the current date from a standard library or NTP server and calculates the difference between that and each customer's last contact date. As a result, customers whose number of days that have passed since the last contact date exceeds a specified period (for example, 30 days or more) are selected.

[0090] For selected customers, the server generates a customized follow-up email using a common email format. The common email format is in HTML format and contains specified placeholders. The server reads this and creates a customized email body by replacing the placeholders with actual data such as the customer's name and last contact date.

[0091] Finally, the server uses a communication service to send the generated email to the customer. Specifically, it uses the MailApp API to specify the necessary parameters (sender email address, destination email address, email body, etc.) and executes the sending. It checks whether the sending was successful and records the appropriate log.

[0092] This system automates follow-up work for corporate sales, improves work efficiency, and enables timely customer responses. Specific examples and prompts are shown below.

[0093] Specific examples

[0094] For example, suppose your sales list data contains the following information:

[0095] | Customer Name | Email Address | Phone Number | Last Contact Date |

[0096] | ------ | -------------- | --------- | --------- |

[0097] | Taro Yamada | yamada@example.com | 090-1234-5678 | 2023-08-25 |

[0098] | Hanako Sato | sato@example.com | 080-2345-6789 | 2023-09-15 |

[0099] If the current date is 2023-10-02,

[0100] The server first retrieves the above data from a Google spreadsheet.

[0101] The server then compares the current date (2023-10-02) with the last contact date and confirms that more than 30 days have passed since Yamada Taro's contact date.

[0102] The server selects Taro Yamada for follow-up and generates a customized email using the appropriate common email format.

[0103] Finally, the server uses the MailApp service to send a follow-up email to yamada@example.com.

[0104] Prompt Sentence Examples

[0105] "Describe a program that pulls sales list data from a Google spreadsheet and sends follow-up emails based on the last contact date."

[0106] This makes it possible to efficiently automate follow-up work for corporate sales.

[0107] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0108] Step 1:

[0109] Data Acquisition

[0110] The server retrieves sales data from a Google spreadsheet.

[0111] Specific behavior:

[0112] The server uses the Google Sheets API to read sales data (customer name, email address, phone number, last contact date, etc.) from the specified sheet ID.

[0113] Input: Google Spreadsheet sheet ID

[0114] Output: Sales data in array or dataframe format

[0115] Step 2:

[0116] Data analysis

[0117] The server analyzes the last contact date of the acquired sales data.

[0118] Specific behavior:

[0119] The server takes the current date and calculates the difference from the last contact date for each customer.

[0120] Input: Sales data in array or data frame format, current date

[0121] Output: Updated sales data with age for each customer

[0122] Step 3:

[0123] Customer Selection

[0124] The server selects customers who have been with the server for a certain period of time (e.g., 30 days).

[0125] Specific behavior:

[0126] The server filters out customers who have been with the company for more than 30 days and generates a list of eligible customers.

[0127] Input: Updated sales data

[0128] Output: List of customers to follow up with

[0129] Step 4:

[0130] Email Generation

[0131] The server generates the body of the email for the selected customers using a common email format.

[0132] Specific behavior:

[0133] The server reads the common HTML email format, replaces the placeholders with actual data, and generates a customized email body.

[0134] Input: Common email format, customer list for follow-up

[0135] Output: Customized email body

[0136] Step 5:

[0137] Send email

[0138] The server sends the generated email body to the customer.

[0139] Specific behavior:

[0140] The server uses the MailApp API to specify the email address to send, the body of the message, etc., and then executes the sending.

[0141] Input: Customized email body, customer email address

[0142] Output: Sending result log (success or failure)

[0143] Through these steps, the server can efficiently perform sales follow-up operations.

[0144] (Application example 1)

[0145] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0146] In conventional corporate sales support operations, manually managing the last contact date for each customer and sending follow-up emails requires a great deal of time and effort. Even with electronic payment services, delaying follow-up with customers whose payment deadlines have passed increases the risk of non-payment. As such, there is a need for a system that streamlines transaction data management and follow-up operations.

[0147] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[0148] In this invention, the server includes means for acquiring transaction data from a data storage means, means for analyzing the final settlement date of the acquired transaction data and selecting data for which a specified period of time has elapsed, means for generating an electronic message template based on the selected data, linking customer information in the transaction data with the electronic message template, and means for sending the generated electronic message to the customer, thereby enabling automatic management of transaction data and efficient follow-up.

[0149] "Data Storage Means" means devices and services for storing and managing transaction data.

[0150] "Transaction data" refers to various data generated in electronic payment services, such as customer payment status and final payment date.

[0151] "Final Settlement Date" means the date on which the Customer makes the final payment.

[0152] An "electronic message template" is a model of an electronic message that is created according to a predefined format.

[0153] A "placeholder" is a string included in a template that should be replaced with customer information.

[0154] A "network-enabled communications application" is an application that allows for the sending and receiving of electronic messages over the Internet.

[0155] An "online structured table" is a spreadsheet or database managed on the cloud.

[0156] "Customer Information" means personal identification information such as a customer's name, email address, and telephone number.

[0157] A "follow-up email" is an email sent after a certain period of time has passed since a transaction or communication to provide confirmation or additional information.

[0158] This invention relates to a system that acquires transaction data from a data storage means, analyzes the transaction data to select customers based on specific criteria, and automatically sends follow-up emails to the selected customers, thereby improving the efficiency of corporate sales and electronic payment services.

[0159] The server first retrieves transaction data from an "online structured table" (such as a spreadsheet on the cloud). This transaction data includes information such as the customer's name, email address, payment deadline, and final settlement date. The server then analyzes the retrieved transaction data and calculates the number of days that have passed since each customer's final settlement date. As a result, customers whose number of days has passed since the specified period is selected as targets for follow-up.

[0160] For selected customers, the server generates the body of a follow-up email using a predefined "electronic message template." This template is in HTML format and contains placeholders for inserting customer information. The server replaces the placeholders with actual customer information to create a customized email body. The generated follow-up email is then sent to the specified customer's email address using a "network-enabled communication application" (e.g., an email sending tool using the SMTP protocol).

[0161] For example, a company that provides electronic payment services can create a system that automatically sends follow-up emails when a customer is 30 days or more behind on their payment. This system eliminates the need for staff to follow up manually, allowing for efficient and prompt responses.

[0162] When using this system as a generative AI model, you can set a "prompt statement" to specify the conditions under which a follow-up email should be generated and sent. For example, you can instruct the system with a prompt statement such as, "Based on the customer information in the sales list, send a follow-up email to customers who have been paying for 30 days or more since their last payment date."

[0163] This invention enables automatic management of transaction data and efficient follow-up, thereby making it possible to improve the efficiency of corporate sales and electronic payment services.

[0164] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0165] Step 1:

[0166] The server retrieves the transaction data from an online structured table.

[0167] Specifically, the Google Sheets API is used to retrieve transaction data from a spreadsheet on the cloud, including information such as customer name, email address, payment deadline, and final payment date. The input for this operation is the URL or ID of the target spreadsheet, and the output is a record list of the retrieved transaction data.

[0168] Step 2:

[0169] The server analyzes the acquired transaction data and calculates the number of days that have passed since the final settlement date for each customer.

[0170] Specifically, for each record in the acquired transaction data, the difference between the last settlement date and the current date is calculated. The input for this process is the last settlement date for each customer and the current date, and the output is the number of days elapsed.

[0171] Step 3:

[0172] The server selects customers for whom the number of days that have passed is equal to or greater than a specified period as targets for follow-up.

[0173] Specifically, customer records are filtered out if the number of days since their last purchase is, for example, 30 days or more. The input to this process is the number of days since the last purchase, and the output is a list of customers who are the subject of follow-up.

[0174] Step 4:

[0175] The server generates an electronic message template for the selected customer and inserts the customer information to create a customized email body.

[0176] Specifically, it uses a predefined HTML template and replaces placeholders in the template with selected customer information. The input to this process is a list of customers to follow up with and the template, and the output is a customized email body.

[0177] Step 5:

[0178] The server sends the generated follow-up email to the specified customer email address using a network-enabled communication application.

[0179] Specifically, it sends an email using the SMTP protocol, where the input to this process is a customized email body and the customer's email address, and the output is the status of the sent email.

[0180] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.

[0181] As an embodiment of the present invention, a system for recognizing user emotions and automating sales data will be described. This system acquires sales data from a data storage means, analyzes the data, selects customers based on specific criteria, and automatically sends follow-up emails to the selected customers. Furthermore, the system has the function of analyzing the emotions of users and customers using an emotion engine and adjusting the content and timing of emails based on the results.

[0182] The server first retrieves sales list data from a specific sheet in Google Spreadsheets, which contains information such as customer names, email addresses, and last contact dates.

[0183] Next, the server analyzes the sales list data and calculates the number of days that have passed since the last contact date for each customer. If a certain period of time has passed since the last contact date, the customer is selected as a target for sending a follow-up email.

[0184] The server then uses a sentiment engine to analyze customer sentiment from the captured sales data and past interactions, and provides insights based on customer sentiment to customize email templates or adjust the timing of email sends.

[0185] The server generates the email body using a user-defined email template, which is in HTML format and contains specific placeholders. The server then replaces these placeholders with actual customer information to create a customized email body.

[0186] The server then uses the MailApp service to send the generated email body to the specified customer email address, allowing follow-up emails to be sent automatically and at the appropriate time.

[0187] As a concrete example, consider the following sales listing data:

[0188] | Customer Name | Email Address | Phone Number | Last Contact Date | Sentiment |

[0189] | ------ | -------------- | -------- | --------- | ---- |

[0190] | Taro Yamada | yamada@example.com | 090-1234-5678 | 2023-08-25 | Negative |

[0191] | Hanako Sato | sato@example.com | 080-2345-6789 | 2023-09-15 | Positive |

[0192] If the current date is 2023-10-02, the server will recognize from this sales list that more than 30 days have passed since Taro Yamada's last contact. Therefore, the server will send a follow-up email to Taro Yamada. However, if the emotion engine analyzes the emotion as "negative," the server will send the email with careful wording and timing according to that emotion. On the other hand, since it has been less than 30 days since Hanako Sato's last contact, she will not be eligible for a follow-up email.

[0193] In this way, the system embodying the present invention improves the quality of sales activities by automatically generating and sending follow-up emails that take into account customer emotions, thereby improving business efficiency and customer satisfaction.

[0194] The processing flow will be explained below.

[0195] Step 1:

[0196] The server retrieves a sheet named "Sales List" from a Google spreadsheet, giving it access to all the data contained in the Sales List.

[0197] Step 2:

[0198] The server specifies the entire data range in the retrieved sheet and retrieves all values ​​in that data range as a two-dimensional array, which converts the data into a format that can be processed in the program.

[0199] Step 3:

[0200] The server reads the email template, which is stored as an HTML file, and retrieves its content as a string, which contains placeholders that are later replaced with customer information.

[0201] Step 4:

[0202] The server loops through the retrieved data range, excluding the first row (header row), and processes the data from the second row onwards. Within this loop, the data for each customer is processed in order.

[0203] Step 5:

[0204] The server retrieves the email address from the currently processed row (customer data), which determines the address to use for subsequent email transmissions.

[0205] Step 6:

[0206] The server retrieves the last contact date from the currently processed row (customer data) and converts it to a Date object, allowing date arithmetic to be performed.

[0207] Step 7:

[0208] The server retrieves the current date and stores it in a Date object. The current date is used to calculate the difference in days from the last contact date.

[0209] Step 8:

[0210] The server calculates the difference between the current date and the last contact date in milliseconds and converts this to a number of days. If it has been more than 30 days since the last contact date, the customer is selected for a follow-up email.

[0211] Step 9:

[0212] The server analyzes customer emotions using an emotion engine based on customer data and past interactions, which evaluates the customer's emotional state.

[0213] Step 10:

[0214] The server customizes the content of email templates based on customer sentiment analyzed by the sentiment engine, for example by adding softer language to customers with negative sentiment.

[0215] Step 11:

[0216] The server defines a fixed value for the email subject, which will be used as the theme for follow-up emails.

[0217] Step 12:

[0218] The server generates a customized email body by replacing the placeholder ({{name}}) in the template with the name of the customer currently being processed, thus creating an email content tailored to each individual customer.

[0219] Step 13:

[0220] The server uses the MailApp service to send the generated email body to the specified customer email address. This is the step where the follow-up email is actually delivered to the customer.

[0221] Example 2

[0222] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0223] In conventional systems, managing sales data and sending follow-up emails was often done manually, resulting in high workloads and difficulty in adjusting the timing.In addition, the system was unable to adequately adjust the content and timing of emails taking into account customer emotions, limiting the improvement of customer satisfaction.

[0224] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for acquiring sales data from a data storage means, means for analyzing the last contact date of the acquired sales data and selecting data for which a specified period of time has passed, means for generating an email template based on the selected data and linking personal information in the sales data with the email template, means for analyzing the emotions of the person using an emotion engine and adjusting the email template and sending timing, and means for sending the generated email to the person. This automates the automatic management of sales data and the sending of follow-up emails, making it possible to send appropriate emails that take customer emotions into consideration.

[0225] "Data Storage Measures" means hardware or software for storing and managing Business Data.

[0226] "Sales data" refers to data that includes all information related to sales activities, such as customer names, email addresses, and last contact dates.

[0227] A "server" refers to a central processing unit that controls the entire system and performs various processes such as data acquisition, analysis, and email transmission.

[0228] An "emotion engine" is a software module that analyzes a person's emotions and provides specific insights based on the results.

[0229] An "email template" is a digital document that contains text and layout that serves as a template for generating follow-up emails.

[0230] "Markup language format" refers to a digital document format constructed using a description language such as HTML.

[0231] A "placeholder" is a symbol or string that indicates a position within an email template that should be replaced with customer information or other information as part of a variable.

[0232] "Online spreadsheet" means a spreadsheet application accessible over the internet that allows data to be entered, stored, and shared.

[0233] "Communication Services" refers to online services or software that provide communication processing, such as sending email.

[0234] As a specific embodiment of the present invention, a system for recognizing user emotions and automating sales data will be described below. This system acquires sales data from a data storage means, analyzes the data, selects customers based on specific criteria, and automatically sends follow-up emails to the selected customers. Furthermore, the system has the function of analyzing the emotions of users and customers using an emotion engine, and adjusting the content and timing of emails based on the results.

[0235] The server first retrieves sales list data from a specific sheet in an online spreadsheet. This sales list contains information such as customer names, email addresses, and last contact dates. Based on the retrieved sales list data, the server calculates the number of days that have passed since the last contact date for each customer. If more than a certain period of time has passed since the last contact date, the customer is selected as a target for sending a follow-up email.

[0236] The server then uses a sentiment engine to analyze customer sentiment from the captured sales data and past interactions, providing insights based on customer sentiment to customize email templates or adjust the timing of email sends.

[0237] The server then generates the email body using a user-defined email template, which is a markup language format containing specific placeholders. The server then replaces the placeholders with actual customer information to create a customized email body.

[0238] The server sends the generated email body to the specified customer email address using a communication service, so that follow-up emails are sent automatically and at the appropriate time.

[0239] As a concrete example, consider the following sales listing data:

[0240] | Customer Name | Email Address | Last Contact Date | Sentiment |

[0241] |------------|-----------------------|--------------|-----------|

[0242] | Taro Yamada | yamada@example.com | 2023-08-25 | Negative |

[0243] | Hanako Sato | sato@example.com | 2023-09-15 | Positive |

[0244] If the current date is 2023-10-02, the server will recognize from this sales list that more than 30 days have passed since Taro Yamada's last contact. Therefore, the server will send a follow-up email to Taro Yamada. However, if the emotion engine analyzes the emotion as "negative," the server will send the email with careful wording and timing according to that emotion. On the other hand, since it has been less than 30 days since Hanako Sato's last contact, she will not be eligible for a follow-up email.

[0245] Examples of prompts include:

[0246] This section explains the processing steps of a system that recognizes user emotions and automates sales data. The server retrieves sales list data from a specific sheet in an online spreadsheet and calculates the number of days that have passed since each customer's last contact date. Customers who have been with the system for a certain period of time are selected and their emotions are analyzed using an emotion engine. Finally, the email body is generated using an email template defined by the user, and a follow-up email is sent using a communication service.

[0247] In this way, the system embodying the present invention improves the quality of sales activities by automatically generating and sending follow-up emails that take into account customer emotions, thereby improving business efficiency and customer satisfaction.

[0248] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0249] Step 1:

[0250] The server retrieves sales list data from a specific sheet in an online spreadsheet. Here, the server uses the online spreadsheet API to read the sales list data and store it in memory. The input is the sheet ID and sheet name of the online spreadsheet, and the output is sales list data such as customer name, email address, and last contact date. The specific operation is to retrieve the sheet data using the API.

[0251] Step 2:

[0252] The server analyzes the acquired sales list data and calculates the number of days that have passed from the last contact date of each customer to the current date. Here, the server obtains the current date and calculates the number of days that have passed by comparing it with the last contact date of each customer. The input is the last contact date and the current date, and the output is the number of days that have passed for each customer. Specifically, the number of days that have passed is calculated using a date calculation algorithm.

[0253] Step 3:

[0254] The server selects customers to whom follow-up emails should be sent based on the calculated number of days that have passed. Here, the server selects customers for whom a certain period of time (e.g., 30 days) has passed, as set in advance. The input is the number of days that have passed and the allowable period, and the output is a list of customers to be followed up. Specifically, it performs conditional filtering.

[0255] Step 4:

[0256] The server performs sentiment analysis using the emotion engine with the customer data of the follow-up target. The emotion engine analyzes the emotions of each customer based on past interactions and sales data, and calculates an emotion score. The input is the customer data of the follow-up target, and the output is the emotion score of each customer. Specifically, the server runs the sentiment analysis model.

[0257] Step 5:

[0258] The server loads the email template and customizes the email content based on the sentiment score. It replaces the placeholders in the email template with customer information and generates an individually customized email body. The input is the email template and customer information, and the output is a customized email body. Specific operations use a template engine.

[0259] Step 6:

[0260] The server sends the generated email body to the customer via the communication service. Here, the server uses the communication service API to send a follow-up email. The input is the email body and the customer's email address, and the output is the status of the email sending. The specific operation is to call the email sending API.

[0261] In this way, at each processing step, the server processes and calculates data based on specific input data, and outputs the results, thereby realizing a series of automated sales activities.

[0262] (Application example 2)

[0263] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0264] In conventional sales activities, follow-up with customers is often insufficient, and in particular, follow-up that takes into account the customer's feelings is rarely performed. This results in problems such as a decrease in sales efficiency and a lack of improvement in customer satisfaction. Furthermore, uniform follow-up emails that do not take into account the customer's feelings can sometimes have the opposite effect. The present invention aims to solve these problems.

[0265] The identification processing by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for acquiring sales data from a data storage means, means for analyzing the last contact date of the acquired sales data and selecting data for which a specified period of time has passed, means for analyzing customer emotions using an emotion engine, means for generating an email template based on the results of the emotion analysis and linking customer information in the sales data with the email template, and means for sending the generated email to the customer. This makes it possible to automatically generate and send follow-up emails that take customer emotions into consideration, thereby improving the efficiency of sales activities and customer satisfaction.

[0266] definition statement

[0267] "Data Storage Measures" means systems or devices for storing and retrieving business data.

[0268] "Sales data" refers to data related to sales activities, such as customer information, past transactions, and last contact date.

[0269] "Last contact date" is data indicating the date of last contact with the customer.

[0270] A "screening means" is a mechanism for sorting or selecting data based on specific criteria.

[0271] An "emotion engine" is a general term for software or algorithms that analyze text, voice, facial expressions, etc. to determine a user's emotions.

[0272] An "email template" is a template for the body of an email, and is a format that includes placeholders for inserting specific information.

[0273] A "placeholder" is a symbol or character string that is used to insert actual data into a specific position in a template.

[0274] "Customer Information" means personal identification information such as a customer's name, email address, and phone number.

[0275] "Email sending means" refers to a system or service for sending the generated email to a specified address.

[0276] A "public web-based spreadsheet" is a type of spreadsheet application that is accessible over the Internet and allows data to be read and written.

[0277] A "web-based email service" is a service that allows you to send and receive emails over the Internet.

[0278] patent specification

[0279] To implement the present invention, the following system configuration and processing are required.

[0280] System Configuration

[0281] 1. Hardware and Software Configuration

[0282] Server: Retrieves sales data from data storage, analyzes, selects, recognizes emotions, generates email templates, and sends emails.

[0283] Data Storage Method: A web-based spreadsheet for storing sales data.

[0284] Sentiment engine: Software or algorithm that analyzes customer sentiment.

[0285] Email sending method: A web-based email service (e.g., MailApp).

[0286] User terminal: A device such as a smartphone or computer.

[0287] Program processing description

[0288] 1. Acquire sales data:

[0289] The server retrieves sales data from a web-based spreadsheet, which includes customer names, email addresses, and last contact dates.

[0290] 2. Data analysis and selection:

[0291] The server analyzes the acquired sales data and selects customer data for which a specified period (e.g., 30 days) has passed since the last contact.

[0292] 3. Emotion Recognition:

[0293] The server uses an emotion engine to analyze customer emotions from the selected customer data, for example, determining customer emotions based on past correspondence history and email content.

[0294] 4. Generate email template:

[0295] The server selects an appropriate email template based on the results of the sentiment analysis, combines the customer information with the email template, and generates a customized email body in HTML format, substituting specific placeholders with the customer information.

[0296] 5. Sending emails:

[0297] The server then sends the generated emails to customers using a web-based email service, with the timing of sending adjusted based on sentiment analysis.

[0298] Specific examples

[0299] For example, say you have a sales data spreadsheet with the following data:

[0300] | Customer Name | Email Address | Last Contact Date | Sentiment |

[0301] | ------ | ---------------------- | ----------- | ------ |

[0302] | Mr. A | example@example.com | 2023-08-25 | Negative |

[0303] | Mr. B | another@example.com | 2023-09-15 | Positive |

[0304] If the current date is 2023-10-02, the server will recognize from this data that it has been more than 30 days since the last contact with Person A. Since the emotion engine judges this to be "negative," it will send a follow-up email using careful wording. As for Person B, since it has been less than 30 days, he will not be the target for a follow-up email.

[0305] Prompt Sentence Examples

[0306] Customer: Mr. A

[0307] Emotion: Negative

[0308] Follow-up email content:

[0309] ---

[0310] Subject: Important notice to customers

[0311] Main text:

[0312] Dear A,

[0313] Have you had any complaints about your recent purchase? We value your opinion and would love to hear from you, no matter what it is.

[0314] ---

[0315] In this way, a series of processes are carried out within the system, and follow-up emails are automatically sent to customers based on their emotions, improving sales efficiency and customer satisfaction.

[0316] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[0317] Processing Steps

[0318] Step 1:

[0319] The server retrieves sales data from a web-based spreadsheet, which includes customer names, email addresses, last contact dates, etc. The input is the spreadsheet data, and the output is the retrieved sales data.

[0320] Step 2:

[0321] The server analyzes the last contact date of the acquired sales data. Here, the sales data is input, and the difference between the last contact date of each customer and the current date is calculated. As output, data that is older than a specified period (e.g., 30 days) is selected.

[0322] Step 3:

[0323] The server uses an emotion engine to analyze customer sentiment from the filtered sales data. The inputs are the filtered customer data and the emotion engine, and the output is the emotional state (negative, positive, etc.) of each customer.

[0324] Step 4:

[0325] The server selects an appropriate email template based on the results of the sentiment analysis, and generates a customized email body by linking the email template with customer information in the sales data. The inputs are the sentiment analysis results and the email template, and the output is an individually customized email body.

[0326] Step 5:

[0327] The server then sends the generated email to the customer using a web-based email service. At this stage, it also adjusts the timing of sending based on the results of sentiment analysis. The input is a customized email body and the customer's email address, and the output is the actual email sent.

[0328] Specific operation explanation

[0329] Step 1:

[0330] The server uses an API to read data from a web-based spreadsheet, retrieving information such as customer name, email address, and last contact date, and then stores the spreadsheet data on the server.

[0331] Step 2:

[0332] The server processes the acquired sales data using an analysis program to calculate the difference between the last contact date for each customer and the current date (for example, by using the Python datetime module to calculate the difference in days), and then creates a list of customers who need follow-up.

[0333] Step 3:

[0334] The server then calls an emotion engine based on the selected sales data to evaluate each customer's emotions. This involves inputting text data such as past emails and notes into the emotion analysis algorithm to obtain emotion tags such as negative or positive.

[0335] Step 4:

[0336] Based on the results of the sentiment analysis, the server selects an HTML email template and replaces certain placeholders with customer information, for example, replacing "{{name}}" in the template with each customer's name to generate a customized email body.

[0337] Step 5:

[0338] The server then sends the generated customized email to the customer using a web-based email service (e.g., MailApp), where the timing of the email is adjusted based on the results of the sentiment analysis: negative emails are sent at a more timely pace, and positive emails are sent immediately.

[0339] The above are the specific processing steps of the system.

[0340] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.

[0341] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search engine).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0342] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.

[0343] [Second embodiment]

[0344] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.

[0345] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.

[0346] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0347] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.

[0348] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.

[0349] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).

[0350] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.

[0351] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.

[0352] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0353] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0354] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[0355] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."

[0356] As an embodiment of the present invention, an automated system for supporting corporate sales will be described. This system acquires sales data from a data storage means, analyzes the data, selects customers based on specific conditions, and automatically sends follow-up emails to the selected customers.

[0357] The server first retrieves sales list data from a specific sheet in Google Spreadsheets, which contains information such as customer names, email addresses, and last contact dates.

[0358] Next, the server analyzes the sales list data and calculates the number of days that have passed since the last contact date for each customer. If a certain period of time has passed since the last contact date, the customer is selected as a target for follow-up emails.

[0359] For selected customers, the server generates the email body using a predefined email template, which is in HTML format and contains specific placeholders that the server replaces with actual customer information to create a customized email body.

[0360] The server then uses the MailApp service to send the generated email body to the specified customer email address, ensuring follow-up emails are sent automatically and efficiently.

[0361] As a concrete example, consider the following sales listing data:

[0362] | Customer Name | Email Address | Phone Number | Last Contact Date |

[0363] | ------ | -------------- | -------- | --------- |

[0364] | Taro Yamada | yamada@example.com | 090-1234-5678 | 2023-08-25 |

[0365] | Hanako Sato | sato@example.com | 080-2345-6789 | 2023-09-15 |

[0366] If the current date is 2023-10-02, the server will recognize from this sales list that it has been more than 30 days since Taro Yamada's last contact. Therefore, the server will send a follow-up email to Taro Yamada. On the other hand, since it has been less than 30 days since Hanako Sato's last contact, she will not be eligible to receive a follow-up email.

[0367] In this way, the system embodying the present invention can automate corporate sales support tasks simply and quickly without requiring programming skills, thereby improving business efficiency and significantly reducing the number of steps required.

[0368] The processing flow will be explained below.

[0369] Step 1:

[0370] The server retrieves a sheet named "Sales List" from a Google spreadsheet, giving it access to all the data contained in the Sales List.

[0371] Step 2:

[0372] The server specifies the entire data range in the retrieved sheet and retrieves all values ​​in that data range as a two-dimensional array, which converts the data into a format that can be processed in the program.

[0373] Step 3:

[0374] The server reads the email template, which is stored as an HTML file, and retrieves its content as a string, which contains placeholders that are later replaced with customer information.

[0375] Step 4:

[0376] The server loops through the retrieved data range, excluding the first row (header row), and processes the data from the second row onwards. Within this loop, the data for each customer is processed in order.

[0377] Step 5:

[0378] The server retrieves the email address from the currently processed row (customer data), which determines the address to use for subsequent email transmissions.

[0379] Step 6:

[0380] The server retrieves the last contact date from the currently processed row (customer data) and converts it to a Date object, allowing date arithmetic to be performed.

[0381] Step 7:

[0382] The server retrieves the current date and stores it in a Date object. The current date is used to calculate the difference in days from the last contact date.

[0383] Step 8:

[0384] The server calculates the difference between the current date and the last contact date in milliseconds and converts this to a number of days. If it has been more than 30 days since the last contact date, the customer is selected for a follow-up email.

[0385] Step 9:

[0386] The server defines a fixed value for the email subject, which will be used as the theme for follow-up emails.

[0387] Step 10:

[0388] The server generates a customized email body by replacing the placeholder ({{name}}) in the template with the name of the customer currently being processed, thus creating an email content tailored to each individual customer.

[0389] Step 11:

[0390] The server uses the MailApp service to send the generated email body to the specified customer email address. This is the step where the follow-up email is actually delivered to the customer.

[0391] Example 1

[0392] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0393] Customer follow-up plays an important role in corporate sales activities, but doing it manually requires a great deal of time and effort. It is also difficult to efficiently manage the last contact date for each customer and send follow-up emails at the appropriate time. For this reason, an automated system is needed to improve the efficiency of sales activities.

[0394] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[0395] In this invention, the server includes means for acquiring sales data from a data storage means, means for analyzing the last contact date of the acquired sales data and selecting data for which a specified period of time has elapsed, means for generating a common email format based on the selected data and linking customer information in the sales data with the common email format, means for sending the generated email to the customer, and means for calculating the number of days since the last contact. This automates corporate sales follow-up work, improving work efficiency and enabling timely customer responses.

[0396] "Sales data" refers to data including customer information, transaction information, and the last contact date related to corporate sales activities.

[0397] "Data storage means" refers to a system or device for storing and managing business data, including electronic spreadsheet tools and databases.

[0398] A "server" is a computer system that has computing power to acquire, analyze, process, transmit, etc. data.

[0399] The "last contact date" is information indicating the date of the last contact with the customer.

[0400] "Selection" is the process of classifying data based on certain criteria and extracting the necessary data.

[0401] A "common email format" is an email format created based on a defined format or template, and is often in a markup language format.

[0402] A "placeholder" is a temporary mark or code that indicates where actual data will be inserted later.

[0403] "Number of days elapsed" is the number of days that have elapsed between a specific date and the current date.

[0404] An "electronic spreadsheet tool" is software for inputting, calculating, analyzing, displaying, etc. data, and examples thereof include spreadsheets.

[0405] "Communication Services" means online services that enable the sending and receiving of email.

[0406] The present invention relates to an automated system for supporting corporate sales. This system acquires and analyzes sales data and automatically sends follow-up emails to customers based on specific conditions.

[0407] Specifically, the following processing is performed.

[0408] First, the server retrieves sales data from an electronic spreadsheet such as Google Sheets. The sales data includes information such as customer names, email addresses, phone numbers, and last contact dates. The server uses the Google Sheets API to read data from the specified sheet ID. The read data is then internally converted to array or data frame format.

[0409] Next, the server analyzes the acquired sales data. Specifically, it compares the last contact date with the current date and calculates the number of days that have passed. In this case, the server obtains the current date from a standard library or NTP server and calculates the difference between that and each customer's last contact date. As a result, customers whose number of days that have passed since the last contact date exceeds a specified period (for example, 30 days or more) are selected.

[0410] For selected customers, the server generates a customized follow-up email using a common email format. The common email format is in HTML format and contains specified placeholders. The server reads this and creates a customized email body by replacing the placeholders with actual data such as the customer's name and last contact date.

[0411] Finally, the server uses a communication service to send the generated email to the customer. Specifically, it uses the MailApp API to specify the necessary parameters (sender email address, destination email address, email body, etc.) and executes the sending. It checks whether the sending was successful and records the appropriate log.

[0412] This system automates follow-up work for corporate sales, improves work efficiency, and enables timely customer responses. Specific examples and prompts are shown below.

[0413] Specific examples

[0414] For example, suppose your sales list data contains the following information:

[0415] | Customer Name | Email Address | Phone Number | Last Contact Date |

[0416] | ------ | -------------- | --------- | --------- |

[0417] | Taro Yamada | yamada@example.com | 090-1234-5678 | 2023-08-25 |

[0418] | Hanako Sato | sato@example.com | 080-2345-6789 | 2023-09-15 |

[0419] If the current date is 2023-10-02,

[0420] The server first retrieves the above data from a Google spreadsheet.

[0421] The server then compares the current date (2023-10-02) with the last contact date and confirms that more than 30 days have passed since Yamada Taro's contact date.

[0422] The server selects Taro Yamada for follow-up and generates a customized email using the appropriate common email format.

[0423] Finally, the server uses the MailApp service to send a follow-up email to yamada@example.com.

[0424] Prompt Sentence Examples

[0425] "Describe a program that pulls sales list data from a Google spreadsheet and sends follow-up emails based on the last contact date."

[0426] This makes it possible to efficiently automate follow-up work for corporate sales.

[0427] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0428] Step 1:

[0429] Data Acquisition

[0430] The server retrieves sales data from a Google spreadsheet.

[0431] Specific behavior:

[0432] The server uses the Google Sheets API to read sales data (customer name, email address, phone number, last contact date, etc.) from the specified sheet ID.

[0433] Input: Google Spreadsheet sheet ID

[0434] Output: Sales data in array or dataframe format

[0435] Step 2:

[0436] Data analysis

[0437] The server analyzes the last contact date of the acquired sales data.

[0438] Specific behavior:

[0439] The server takes the current date and calculates the difference from the last contact date for each customer.

[0440] Input: Sales data in array or data frame format, current date

[0441] Output: Updated sales data with age for each customer

[0442] Step 3:

[0443] Customer Selection

[0444] The server selects customers who have been with the server for a certain period of time (e.g., 30 days).

[0445] Specific behavior:

[0446] The server filters out customers who have been with the company for more than 30 days and generates a list of eligible customers.

[0447] Input: Updated sales data

[0448] Output: List of customers to follow up with

[0449] Step 4:

[0450] Email Generation

[0451] The server generates the body of the email for the selected customers using a common email format.

[0452] Specific behavior:

[0453] The server reads the common HTML email format, replaces the placeholders with actual data, and generates a customized email body.

[0454] Input: Common email format, customer list for follow-up

[0455] Output: Customized email body

[0456] Step 5:

[0457] Send email

[0458] The server sends the generated email body to the customer.

[0459] Specific behavior:

[0460] The server uses the MailApp API to specify the email address to send, the body of the message, etc., and then executes the sending.

[0461] Input: Customized email body, customer email address

[0462] Output: Sending result log (success or failure)

[0463] Through these steps, the server can efficiently perform sales follow-up operations.

[0464] (Application example 1)

[0465] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0466] In conventional corporate sales support operations, manually managing the last contact date for each customer and sending follow-up emails requires a great deal of time and effort. Even with electronic payment services, delaying follow-up with customers whose payment deadlines have passed increases the risk of non-payment. As such, there is a need for a system that streamlines transaction data management and follow-up operations.

[0467] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[0468] In this invention, the server includes means for acquiring transaction data from a data storage means, means for analyzing the final settlement date of the acquired transaction data and selecting data for which a specified period of time has elapsed, means for generating an electronic message template based on the selected data, linking customer information in the transaction data with the electronic message template, and means for sending the generated electronic message to the customer, thereby enabling automatic management of transaction data and efficient follow-up.

[0469] "Data Storage Means" means devices and services for storing and managing transaction data.

[0470] "Transaction data" refers to various data generated in electronic payment services, such as customer payment status and final payment date.

[0471] "Final Settlement Date" means the date on which the Customer makes the final payment.

[0472] An "electronic message template" is a model of an electronic message that is created according to a predefined format.

[0473] A "placeholder" is a string included in a template that should be replaced with customer information.

[0474] A "network-enabled communications application" is an application that allows for the sending and receiving of electronic messages over the Internet.

[0475] An "online structured table" is a spreadsheet or database managed on the cloud.

[0476] "Customer Information" means personal identification information such as a customer's name, email address, and telephone number.

[0477] A "follow-up email" is an email sent after a certain period of time has passed since a transaction or communication to provide confirmation or additional information.

[0478] This invention relates to a system that acquires transaction data from a data storage means, analyzes the transaction data to select customers based on specific criteria, and automatically sends follow-up emails to the selected customers, thereby improving the efficiency of corporate sales and electronic payment services.

[0479] The server first retrieves transaction data from an "online structured table" (such as a spreadsheet on the cloud). This transaction data includes information such as the customer's name, email address, payment deadline, and final settlement date. The server then analyzes the retrieved transaction data and calculates the number of days that have passed since each customer's final settlement date. As a result, customers whose number of days has passed since the specified period is selected as targets for follow-up.

[0480] For selected customers, the server generates the body of a follow-up email using a predefined "electronic message template." This template is in HTML format and contains placeholders for inserting customer information. The server replaces the placeholders with actual customer information to create a customized email body. The generated follow-up email is then sent to the specified customer's email address using a "network-enabled communication application" (e.g., an email sending tool using the SMTP protocol).

[0481] For example, a company that provides electronic payment services can create a system that automatically sends follow-up emails when a customer is 30 days or more behind on their payment. This system eliminates the need for staff to follow up manually, allowing for efficient and prompt responses.

[0482] When using this system as a generative AI model, you can set a "prompt statement" to specify the conditions under which a follow-up email should be generated and sent. For example, you can instruct the system with a prompt statement such as, "Based on the customer information in the sales list, send a follow-up email to customers who have been paying for 30 days or more since their last payment date."

[0483] This invention enables automatic management of transaction data and efficient follow-up, thereby making it possible to improve the efficiency of corporate sales and electronic payment services.

[0484] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0485] Step 1:

[0486] The server retrieves the transaction data from an online structured table.

[0487] Specifically, the Google Sheets API is used to retrieve transaction data from a spreadsheet on the cloud, including information such as customer name, email address, payment deadline, and final payment date. The input for this operation is the URL or ID of the target spreadsheet, and the output is a record list of the retrieved transaction data.

[0488] Step 2:

[0489] The server analyzes the acquired transaction data and calculates the number of days that have passed since the final settlement date for each customer.

[0490] Specifically, for each record in the acquired transaction data, the difference between the last settlement date and the current date is calculated. The input for this process is the last settlement date for each customer and the current date, and the output is the number of days elapsed.

[0491] Step 3:

[0492] The server selects customers for whom the number of days that have passed is equal to or greater than a specified period as targets for follow-up.

[0493] Specifically, customer records are filtered out if the number of days since their last purchase is, for example, 30 days or more. The input to this process is the number of days since the last purchase, and the output is a list of customers who are the subject of follow-up.

[0494] Step 4:

[0495] The server generates an electronic message template for the selected customer and inserts the customer information to create a customized email body.

[0496] Specifically, it uses a predefined HTML template and replaces placeholders in the template with selected customer information. The input to this process is a list of customers to follow up with and the template, and the output is a customized email body.

[0497] Step 5:

[0498] The server sends the generated follow-up email to the specified customer email address using a network-enabled communication application.

[0499] Specifically, it sends an email using the SMTP protocol, where the input to this process is a customized email body and the customer's email address, and the output is the status of the sent email.

[0500] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.

[0501] As an embodiment of the present invention, a system for recognizing user emotions and automating sales data will be described. This system acquires sales data from a data storage means, analyzes the data, selects customers based on specific criteria, and automatically sends follow-up emails to the selected customers. Furthermore, the system has the function of analyzing the emotions of users and customers using an emotion engine and adjusting the content and timing of emails based on the results.

[0502] The server first retrieves sales list data from a specific sheet in Google Spreadsheets, which contains information such as customer names, email addresses, and last contact dates.

[0503] Next, the server analyzes the sales list data and calculates the number of days that have passed since the last contact date for each customer. If a certain period of time has passed since the last contact date, the customer is selected as a target for sending a follow-up email.

[0504] The server then uses a sentiment engine to analyze customer sentiment from the captured sales data and past interactions, and provides insights based on customer sentiment to customize email templates or adjust the timing of email sends.

[0505] The server generates the email body using a user-defined email template, which is in HTML format and contains specific placeholders. The server then replaces these placeholders with actual customer information to create a customized email body.

[0506] The server then uses the MailApp service to send the generated email body to the specified customer email address, allowing follow-up emails to be sent automatically and at the appropriate time.

[0507] As a concrete example, consider the following sales listing data:

[0508] | Customer Name | Email Address | Phone Number | Last Contact Date | Sentiment |

[0509] | ------ | -------------- | -------- | --------- | ---- |

[0510] | Taro Yamada | yamada@example.com | 090-1234-5678 | 2023-08-25 | Negative |

[0511] | Hanako Sato | sato@example.com | 080-2345-6789 | 2023-09-15 | Positive |

[0512] If the current date is 2023-10-02, the server will recognize from this sales list that more than 30 days have passed since Taro Yamada's last contact. Therefore, the server will send a follow-up email to Taro Yamada. However, if the emotion engine analyzes the emotion as "negative," the server will send the email with careful wording and timing according to that emotion. On the other hand, since it has been less than 30 days since Hanako Sato's last contact, she will not be eligible for a follow-up email.

[0513] In this way, the system embodying the present invention improves the quality of sales activities by automatically generating and sending follow-up emails that take into account customer emotions, thereby improving business efficiency and customer satisfaction.

[0514] The processing flow will be explained below.

[0515] Step 1:

[0516] The server retrieves a sheet named "Sales List" from a Google spreadsheet, giving it access to all the data contained in the Sales List.

[0517] Step 2:

[0518] The server specifies the entire data range in the retrieved sheet and retrieves all values ​​in that data range as a two-dimensional array, which converts the data into a format that can be processed in the program.

[0519] Step 3:

[0520] The server reads the email template, which is stored as an HTML file, and retrieves its content as a string, which contains placeholders that are later replaced with customer information.

[0521] Step 4:

[0522] The server loops through the retrieved data range, excluding the first row (header row), and processes the data from the second row onwards. Within this loop, the data for each customer is processed in order.

[0523] Step 5:

[0524] The server retrieves the email address from the currently processed row (customer data), which determines the address to use for subsequent email transmissions.

[0525] Step 6:

[0526] The server retrieves the last contact date from the currently processed row (customer data) and converts it to a Date object, allowing date arithmetic to be performed.

[0527] Step 7:

[0528] The server retrieves the current date and stores it in a Date object. The current date is used to calculate the difference in days from the last contact date.

[0529] Step 8:

[0530] The server calculates the difference between the current date and the last contact date in milliseconds and converts this to a number of days. If it has been more than 30 days since the last contact date, the customer is selected for a follow-up email.

[0531] Step 9:

[0532] The server analyzes customer emotions using an emotion engine based on customer data and past interactions, which evaluates the customer's emotional state.

[0533] Step 10:

[0534] The server customizes the content of email templates based on customer sentiment analyzed by the sentiment engine, for example by adding softer language to customers with negative sentiment.

[0535] Step 11:

[0536] The server defines a fixed value for the email subject, which will be used as the theme for follow-up emails.

[0537] Step 12:

[0538] The server generates a customized email body by replacing the placeholder ({{name}}) in the template with the name of the customer currently being processed, thus creating an email content tailored to each individual customer.

[0539] Step 13:

[0540] The server uses the MailApp service to send the generated email body to the specified customer email address. This is the step where the follow-up email is actually delivered to the customer.

[0541] Example 2

[0542] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0543] In conventional systems, managing sales data and sending follow-up emails was often done manually, resulting in high workloads and difficulty in adjusting the timing.In addition, the system was unable to adequately adjust the content and timing of emails taking into account customer emotions, limiting the improvement of customer satisfaction.

[0544] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for acquiring sales data from a data storage means, means for analyzing the last contact date of the acquired sales data and selecting data for which a specified period of time has passed, means for generating an email template based on the selected data and linking personal information in the sales data with the email template, means for analyzing the emotions of the person using an emotion engine and adjusting the email template and sending timing, and means for sending the generated email to the person. This automates the automatic management of sales data and the sending of follow-up emails, making it possible to send appropriate emails that take customer emotions into consideration.

[0545] "Data Storage Measures" means hardware or software for storing and managing Business Data.

[0546] "Sales data" refers to data that includes all information related to sales activities, such as customer names, email addresses, and last contact dates.

[0547] A "server" refers to a central processing unit that controls the entire system and performs various processes such as data acquisition, analysis, and email transmission.

[0548] An "emotion engine" is a software module that analyzes a person's emotions and provides specific insights based on the results.

[0549] An "email template" is a digital document that contains text and layout that serves as a template for generating follow-up emails.

[0550] "Markup language format" refers to a digital document format constructed using a description language such as HTML.

[0551] A "placeholder" is a symbol or string that indicates a position within an email template that should be replaced with customer information or other information as part of a variable.

[0552] "Online spreadsheet" means a spreadsheet application accessible over the internet that allows data to be entered, stored, and shared.

[0553] "Communication Services" refers to online services or software that provide communication processing, such as sending email.

[0554] As a specific embodiment of the present invention, a system for recognizing user emotions and automating sales data will be described below. This system acquires sales data from a data storage means, analyzes the data, selects customers based on specific criteria, and automatically sends follow-up emails to the selected customers. Furthermore, the system has the function of analyzing the emotions of users and customers using an emotion engine, and adjusting the content and timing of emails based on the results.

[0555] The server first retrieves sales list data from a specific sheet in an online spreadsheet. This sales list contains information such as customer names, email addresses, and last contact dates. Based on the retrieved sales list data, the server calculates the number of days that have passed since the last contact date for each customer. If more than a certain period of time has passed since the last contact date, the customer is selected as a target for sending a follow-up email.

[0556] The server then uses a sentiment engine to analyze customer sentiment from the captured sales data and past interactions, providing insights based on customer sentiment to customize email templates or adjust the timing of email sends.

[0557] The server then generates the email body using a user-defined email template, which is a markup language format containing specific placeholders. The server then replaces the placeholders with actual customer information to create a customized email body.

[0558] The server sends the generated email body to the specified customer email address using a communication service, so that follow-up emails are sent automatically and at the appropriate time.

[0559] As a concrete example, consider the following sales listing data:

[0560] | Customer Name | Email Address | Last Contact Date | Sentiment |

[0561] |------------|-----------------------|--------------|-----------|

[0562] | Taro Yamada | yamada@example.com | 2023-08-25 | Negative |

[0563] | Hanako Sato | sato@example.com | 2023-09-15 | Positive |

[0564] If the current date is 2023-10-02, the server will recognize from this sales list that more than 30 days have passed since Taro Yamada's last contact. Therefore, the server will send a follow-up email to Taro Yamada. However, if the emotion engine analyzes the emotion as "negative," the server will send the email with careful wording and timing according to that emotion. On the other hand, since it has been less than 30 days since Hanako Sato's last contact, she will not be eligible for a follow-up email.

[0565] Examples of prompts include:

[0566] This section explains the processing steps of a system that recognizes user emotions and automates sales data. The server retrieves sales list data from a specific sheet in an online spreadsheet and calculates the number of days that have passed since each customer's last contact date. Customers who have been with the system for a certain period of time are selected and their emotions are analyzed using an emotion engine. Finally, the email body is generated using an email template defined by the user, and a follow-up email is sent using a communication service.

[0567] In this way, the system embodying the present invention improves the quality of sales activities by automatically generating and sending follow-up emails that take into account customer emotions, thereby improving business efficiency and customer satisfaction.

[0568] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0569] Step 1:

[0570] The server retrieves sales list data from a specific sheet in an online spreadsheet. Here, the server uses the online spreadsheet API to read the sales list data and store it in memory. The input is the sheet ID and sheet name of the online spreadsheet, and the output is sales list data such as customer name, email address, and last contact date. The specific operation is to retrieve the sheet data using the API.

[0571] Step 2:

[0572] The server analyzes the acquired sales list data and calculates the number of days that have passed from the last contact date of each customer to the current date. Here, the server obtains the current date and calculates the number of days that have passed by comparing it with the last contact date of each customer. The input is the last contact date and the current date, and the output is the number of days that have passed for each customer. Specifically, the number of days that have passed is calculated using a date calculation algorithm.

[0573] Step 3:

[0574] The server selects customers to whom follow-up emails should be sent based on the calculated number of days that have passed. Here, the server selects customers for whom a certain period of time (e.g., 30 days) has passed, as set in advance. The input is the number of days that have passed and the allowable period, and the output is a list of customers to be followed up. Specifically, it performs conditional filtering.

[0575] Step 4:

[0576] The server performs sentiment analysis using the emotion engine with the customer data of the follow-up target. The emotion engine analyzes the emotions of each customer based on past interactions and sales data, and calculates an emotion score. The input is the customer data of the follow-up target, and the output is the emotion score of each customer. Specifically, the server runs the sentiment analysis model.

[0577] Step 5:

[0578] The server loads the email template and customizes the email content based on the sentiment score. It replaces the placeholders in the email template with customer information and generates an individually customized email body. The input is the email template and customer information, and the output is a customized email body. Specific operations use a template engine.

[0579] Step 6:

[0580] The server sends the generated email body to the customer via the communication service. Here, the server uses the communication service API to send a follow-up email. The input is the email body and the customer's email address, and the output is the status of the email sending. The specific operation is to call the email sending API.

[0581] In this way, at each processing step, the server processes and calculates data based on specific input data, and outputs the results, thereby realizing a series of automated sales activities.

[0582] (Application example 2)

[0583] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0584] In conventional sales activities, follow-up with customers is often insufficient, and in particular, follow-up that takes into account the customer's feelings is rarely performed. This results in problems such as a decrease in sales efficiency and a lack of improvement in customer satisfaction. Furthermore, uniform follow-up emails that do not take into account the customer's feelings can sometimes have the opposite effect. The present invention aims to solve these problems.

[0585] The identification processing by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for acquiring sales data from a data storage means, means for analyzing the last contact date of the acquired sales data and selecting data for which a specified period of time has passed, means for analyzing customer emotions using an emotion engine, means for generating an email template based on the results of the emotion analysis and linking customer information in the sales data with the email template, and means for sending the generated email to the customer. This makes it possible to automatically generate and send follow-up emails that take customer emotions into consideration, thereby improving the efficiency of sales activities and customer satisfaction.

[0586] definition statement

[0587] "Data Storage Measures" means systems or devices for storing and retrieving business data.

[0588] "Sales data" refers to data related to sales activities, such as customer information, past transactions, and last contact date.

[0589] "Last contact date" is data indicating the date of last contact with the customer.

[0590] A "screening means" is a mechanism for sorting or selecting data based on specific criteria.

[0591] An "emotion engine" is a general term for software or algorithms that analyze text, voice, facial expressions, etc. to determine a user's emotions.

[0592] An "email template" is a template for the body of an email, and is a format that includes placeholders for inserting specific information.

[0593] A "placeholder" is a symbol or character string that is used to insert actual data into a specific position in a template.

[0594] "Customer Information" means personal identification information such as a customer's name, email address, and phone number.

[0595] "Email sending means" refers to a system or service for sending the generated email to a specified address.

[0596] A "public web-based spreadsheet" is a type of spreadsheet application that is accessible over the Internet and allows data to be read and written.

[0597] A "web-based email service" is a service that allows you to send and receive emails over the Internet.

[0598] patent specification

[0599] To implement the present invention, the following system configuration and processing are required.

[0600] System Configuration

[0601] 1. Hardware and Software Configuration

[0602] Server: Retrieves sales data from data storage, analyzes, selects, recognizes emotions, generates email templates, and sends emails.

[0603] Data Storage Method: A web-based spreadsheet for storing sales data.

[0604] Sentiment engine: Software or algorithm that analyzes customer sentiment.

[0605] Email sending method: A web-based email service (e.g., MailApp).

[0606] User terminal: A device such as a smartphone or computer.

[0607] Program processing description

[0608] 1. Acquire sales data:

[0609] The server retrieves sales data from a web-based spreadsheet, which includes customer names, email addresses, and last contact dates.

[0610] 2. Data analysis and selection:

[0611] The server analyzes the acquired sales data and selects customer data for which a specified period (e.g., 30 days) has passed since the last contact.

[0612] 3. Emotion Recognition:

[0613] The server uses an emotion engine to analyze customer emotions from the selected customer data, for example, determining customer emotions based on past correspondence history and email content.

[0614] 4. Generate email template:

[0615] The server selects an appropriate email template based on the results of the sentiment analysis, combines the customer information with the email template, and generates a customized email body in HTML format, substituting specific placeholders with the customer information.

[0616] 5. Sending emails:

[0617] The server then sends the generated emails to customers using a web-based email service, with the timing of sending adjusted based on sentiment analysis.

[0618] Specific examples

[0619] For example, say you have a sales data spreadsheet with the following data:

[0620] | Customer Name | Email Address | Last Contact Date | Sentiment |

[0621] | ------ | ---------------------- | ----------- | ------ |

[0622] | Mr. A | example@example.com | 2023-08-25 | Negative |

[0623] | Mr. B | another@example.com | 2023-09-15 | Positive |

[0624] If the current date is 2023-10-02, the server will recognize from this data that it has been more than 30 days since the last contact with Person A. Since the emotion engine judges this to be "negative," it will send a follow-up email using careful wording. As for Person B, since it has been less than 30 days, he will not be the target for a follow-up email.

[0625] Prompt Sentence Examples

[0626] Customer: Mr. A

[0627] Emotion: Negative

[0628] Follow-up email content:

[0629] ---

[0630] Subject: Important notice to customers

[0631] Main text:

[0632] Dear A,

[0633] Have you had any complaints about your recent purchase? We value your opinion and would love to hear from you, no matter what it is.

[0634] ---

[0635] In this way, a series of processes are carried out within the system, and follow-up emails are automatically sent to customers based on their emotions, improving sales efficiency and customer satisfaction.

[0636] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[0637] Processing Steps

[0638] Step 1:

[0639] The server retrieves sales data from a web-based spreadsheet, which includes customer names, email addresses, last contact dates, etc. The input is the spreadsheet data, and the output is the retrieved sales data.

[0640] Step 2:

[0641] The server analyzes the last contact date of the acquired sales data. Here, the sales data is input, and the difference between the last contact date of each customer and the current date is calculated. As output, data that is older than a specified period (e.g., 30 days) is selected.

[0642] Step 3:

[0643] The server uses an emotion engine to analyze customer sentiment from the filtered sales data. The inputs are the filtered customer data and the emotion engine, and the output is the emotional state (negative, positive, etc.) of each customer.

[0644] Step 4:

[0645] The server selects an appropriate email template based on the results of the sentiment analysis, and generates a customized email body by linking the email template with customer information in the sales data. The inputs are the sentiment analysis results and the email template, and the output is an individually customized email body.

[0646] Step 5:

[0647] The server then sends the generated email to the customer using a web-based email service. At this stage, it also adjusts the timing of sending based on the results of sentiment analysis. The input is a customized email body and the customer's email address, and the output is the actual email sent.

[0648] Specific operation explanation

[0649] Step 1:

[0650] The server uses an API to read data from a web-based spreadsheet, retrieving information such as customer name, email address, and last contact date, and then stores the spreadsheet data on the server.

[0651] Step 2:

[0652] The server processes the acquired sales data using an analysis program to calculate the difference between the last contact date for each customer and the current date (for example, by using the Python datetime module to calculate the difference in days), and then creates a list of customers who need follow-up.

[0653] Step 3:

[0654] The server then calls an emotion engine based on the selected sales data to evaluate each customer's emotions. This involves inputting text data such as past emails and notes into the emotion analysis algorithm to obtain emotion tags such as negative or positive.

[0655] Step 4:

[0656] Based on the results of the sentiment analysis, the server selects an HTML email template and replaces certain placeholders with customer information, for example, replacing "{{name}}" in the template with each customer's name to generate a customized email body.

[0657] Step 5:

[0658] The server then sends the generated customized email to the customer using a web-based email service (e.g., MailApp), where the timing of the email is adjusted based on the results of the sentiment analysis: negative emails are sent at a more timely pace, and positive emails are sent immediately.

[0659] The above are the specific processing steps of the system.

[0660] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.

[0661] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0662] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.

[0663] [Third embodiment]

[0664] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.

[0665] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.

[0666] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0667] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.

[0668] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.

[0669] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).

[0670] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.

[0671] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.

[0672] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0673] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0674] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[0675] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."

[0676] As an embodiment of the present invention, an automated system for supporting corporate sales will be described. This system acquires sales data from a data storage means, analyzes the data, selects customers based on specific conditions, and automatically sends follow-up emails to the selected customers.

[0677] The server first retrieves sales list data from a specific sheet in Google Spreadsheets, which contains information such as customer names, email addresses, and last contact dates.

[0678] Next, the server analyzes the sales list data and calculates the number of days that have passed since the last contact date for each customer. If a certain period of time has passed since the last contact date, the customer is selected as a target for follow-up emails.

[0679] For selected customers, the server generates the email body using a predefined email template, which is in HTML format and contains specific placeholders that the server replaces with actual customer information to create a customized email body.

[0680] The server then uses the MailApp service to send the generated email body to the specified customer email address, ensuring follow-up emails are sent automatically and efficiently.

[0681] As a concrete example, consider the following sales listing data:

[0682] | Customer Name | Email Address | Phone Number | Last Contact Date |

[0683] | ------ | -------------- | -------- | --------- |

[0684] | Taro Yamada | yamada@example.com | 090-1234-5678 | 2023-08-25 |

[0685] | Hanako Sato | sato@example.com | 080-2345-6789 | 2023-09-15 |

[0686] If the current date is 2023-10-02, the server will recognize from this sales list that it has been more than 30 days since Taro Yamada's last contact. Therefore, the server will send a follow-up email to Taro Yamada. On the other hand, since it has been less than 30 days since Hanako Sato's last contact, she will not be eligible to receive a follow-up email.

[0687] In this way, the system embodying the present invention can automate corporate sales support tasks simply and quickly without requiring programming skills, thereby improving business efficiency and significantly reducing the number of steps required.

[0688] The processing flow will be explained below.

[0689] Step 1:

[0690] The server retrieves a sheet named "Sales List" from a Google spreadsheet, giving it access to all the data contained in the Sales List.

[0691] Step 2:

[0692] The server specifies the entire data range in the retrieved sheet and retrieves all values ​​in that data range as a two-dimensional array, which converts the data into a format that can be processed in the program.

[0693] Step 3:

[0694] The server reads the email template, which is stored as an HTML file, and retrieves its content as a string, which contains placeholders that are later replaced with customer information.

[0695] Step 4:

[0696] The server loops through the retrieved data range, excluding the first row (header row), and processes the data from the second row onwards. Within this loop, the data for each customer is processed in order.

[0697] Step 5:

[0698] The server retrieves the email address from the currently processed row (customer data), which determines the address to use for subsequent email transmissions.

[0699] Step 6:

[0700] The server retrieves the last contact date from the currently processed row (customer data) and converts it to a Date object, allowing date arithmetic to be performed.

[0701] Step 7:

[0702] The server retrieves the current date and stores it in a Date object. The current date is used to calculate the difference in days from the last contact date.

[0703] Step 8:

[0704] The server calculates the difference between the current date and the last contact date in milliseconds and converts this to a number of days. If it has been more than 30 days since the last contact date, the customer is selected for a follow-up email.

[0705] Step 9:

[0706] The server defines a fixed value for the email subject, which will be used as the theme for follow-up emails.

[0707] Step 10:

[0708] The server generates a customized email body by replacing the placeholder ({{name}}) in the template with the name of the customer currently being processed, thus creating an email content tailored to each individual customer.

[0709] Step 11:

[0710] The server uses the MailApp service to send the generated email body to the specified customer email address. This is the step where the follow-up email is actually delivered to the customer.

[0711] Example 1

[0712] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[0713] Customer follow-up plays an important role in corporate sales activities, but doing it manually requires a great deal of time and effort. It is also difficult to efficiently manage the last contact date for each customer and send follow-up emails at the appropriate time. For this reason, an automated system is needed to improve the efficiency of sales activities.

[0714] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[0715] In this invention, the server includes means for acquiring sales data from a data storage means, means for analyzing the last contact date of the acquired sales data and selecting data for which a specified period of time has elapsed, means for generating a common email format based on the selected data and linking customer information in the sales data with the common email format, means for sending the generated email to the customer, and means for calculating the number of days since the last contact. This automates corporate sales follow-up work, improving work efficiency and enabling timely customer responses.

[0716] "Sales data" refers to data including customer information, transaction information, and the last contact date related to corporate sales activities.

[0717] "Data storage means" refers to a system or device for storing and managing business data, including electronic spreadsheet tools and databases.

[0718] A "server" is a computer system that has computing power to acquire, analyze, process, transmit, etc. data.

[0719] The "last contact date" is information indicating the date of the last contact with the customer.

[0720] "Selection" is the process of classifying data based on certain criteria and extracting the necessary data.

[0721] A "common email format" is an email format created based on a defined format or template, and is often in a markup language format.

[0722] A "placeholder" is a temporary mark or code that indicates where actual data will be inserted later.

[0723] "Number of days elapsed" is the number of days that have elapsed between a specific date and the current date.

[0724] An "electronic spreadsheet tool" is software for inputting, calculating, analyzing, displaying, etc. data, and examples thereof include spreadsheets.

[0725] "Communication Services" means online services that enable the sending and receiving of email.

[0726] The present invention relates to an automated system for supporting corporate sales. This system acquires and analyzes sales data and automatically sends follow-up emails to customers based on specific conditions.

[0727] Specifically, the following processing is performed.

[0728] First, the server retrieves sales data from an electronic spreadsheet such as Google Sheets. The sales data includes information such as customer names, email addresses, phone numbers, and last contact dates. The server uses the Google Sheets API to read data from the specified sheet ID. The read data is then internally converted to array or data frame format.

[0729] Next, the server analyzes the acquired sales data. Specifically, it compares the last contact date with the current date and calculates the number of days that have passed. In this case, the server obtains the current date from a standard library or NTP server and calculates the difference between that and each customer's last contact date. As a result, customers whose number of days that have passed since the last contact date exceeds a specified period (for example, 30 days or more) are selected.

[0730] For selected customers, the server generates a customized follow-up email using a common email format. The common email format is in HTML format and contains specified placeholders. The server reads this and creates a customized email body by replacing the placeholders with actual data such as the customer's name and last contact date.

[0731] Finally, the server uses a communication service to send the generated email to the customer. Specifically, it uses the MailApp API to specify the necessary parameters (sender email address, destination email address, email body, etc.) and executes the sending. It checks whether the sending was successful and records the appropriate log.

[0732] This system automates follow-up work for corporate sales, improves work efficiency, and enables timely customer responses. Specific examples and prompts are shown below.

[0733] Specific examples

[0734] For example, suppose your sales list data contains the following information:

[0735] | Customer Name | Email Address | Phone Number | Last Contact Date |

[0736] | ------ | -------------- | --------- | --------- |

[0737] | Taro Yamada | yamada@example.com | 090-1234-5678 | 2023-08-25 |

[0738] | Hanako Sato | sato@example.com | 080-2345-6789 | 2023-09-15 |

[0739] If the current date is 2023-10-02,

[0740] The server first retrieves the above data from a Google spreadsheet.

[0741] The server then compares the current date (2023-10-02) with the last contact date and confirms that more than 30 days have passed since Yamada Taro's contact date.

[0742] The server selects Taro Yamada for follow-up and generates a customized email using the appropriate common email format.

[0743] Finally, the server uses the MailApp service to send a follow-up email to yamada@example.com.

[0744] Prompt Sentence Examples

[0745] "Describe a program that pulls sales list data from a Google spreadsheet and sends follow-up emails based on the last contact date."

[0746] This makes it possible to efficiently automate follow-up work for corporate sales.

[0747] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0748] Step 1:

[0749] Data Acquisition

[0750] The server retrieves sales data from a Google spreadsheet.

[0751] Specific behavior:

[0752] The server uses the Google Sheets API to read sales data (customer name, email address, phone number, last contact date, etc.) from the specified sheet ID.

[0753] Input: Google Spreadsheet sheet ID

[0754] Output: Sales data in array or dataframe format

[0755] Step 2:

[0756] Data analysis

[0757] The server analyzes the last contact date of the acquired sales data.

[0758] Specific behavior:

[0759] The server takes the current date and calculates the difference from the last contact date for each customer.

[0760] Input: Sales data in array or data frame format, current date

[0761] Output: Updated sales data with age for each customer

[0762] Step 3:

[0763] Customer Selection

[0764] The server selects customers who have been with the server for a certain period of time (e.g., 30 days).

[0765] Specific behavior:

[0766] The server filters out customers who have been with the company for more than 30 days and generates a list of eligible customers.

[0767] Input: Updated sales data

[0768] Output: List of customers to follow up with

[0769] Step 4:

[0770] Email Generation

[0771] The server generates the body of the email for the selected customers using a common email format.

[0772] Specific behavior:

[0773] The server reads the common HTML email format, replaces the placeholders with actual data, and generates a customized email body.

[0774] Input: Common email format, customer list for follow-up

[0775] Output: Customized email body

[0776] Step 5:

[0777] Send email

[0778] The server sends the generated email body to the customer.

[0779] Specific behavior:

[0780] The server uses the MailApp API to specify the email address to send, the body of the message, etc., and then executes the sending.

[0781] Input: Customized email body, customer email address

[0782] Output: Sending result log (success or failure)

[0783] Through these steps, the server can efficiently perform sales follow-up operations.

[0784] (Application example 1)

[0785] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[0786] In conventional corporate sales support operations, manually managing the last contact date for each customer and sending follow-up emails requires a great deal of time and effort. Even with electronic payment services, delaying follow-up with customers whose payment deadlines have passed increases the risk of non-payment. As such, there is a need for a system that streamlines transaction data management and follow-up operations.

[0787] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[0788] In this invention, the server includes means for acquiring transaction data from a data storage means, means for analyzing the final settlement date of the acquired transaction data and selecting data for which a specified period of time has elapsed, means for generating an electronic message template based on the selected data, linking customer information in the transaction data with the electronic message template, and means for sending the generated electronic message to the customer, thereby enabling automatic management of transaction data and efficient follow-up.

[0789] "Data Storage Means" means devices and services for storing and managing transaction data.

[0790] "Transaction data" refers to various data generated in electronic payment services, such as customer payment status and final payment date.

[0791] "Final Settlement Date" means the date on which the Customer makes the final payment.

[0792] An "electronic message template" is a model of an electronic message that is created according to a predefined format.

[0793] A "placeholder" is a string included in a template that should be replaced with customer information.

[0794] A "network-enabled communications application" is an application that allows for the sending and receiving of electronic messages over the Internet.

[0795] An "online structured table" is a spreadsheet or database managed on the cloud.

[0796] "Customer Information" means personal identification information such as a customer's name, email address, and telephone number.

[0797] A "follow-up email" is an email sent after a certain period of time has passed since a transaction or communication to provide confirmation or additional information.

[0798] This invention relates to a system that acquires transaction data from a data storage means, analyzes the transaction data to select customers based on specific criteria, and automatically sends follow-up emails to the selected customers, thereby improving the efficiency of corporate sales and electronic payment services.

[0799] The server first retrieves transaction data from an "online structured table" (such as a spreadsheet on the cloud). This transaction data includes information such as the customer's name, email address, payment deadline, and final settlement date. The server then analyzes the retrieved transaction data and calculates the number of days that have passed since each customer's final settlement date. As a result, customers whose number of days has passed since the specified period is selected as targets for follow-up.

[0800] For selected customers, the server generates the body of a follow-up email using a predefined "electronic message template." This template is in HTML format and contains placeholders for inserting customer information. The server replaces the placeholders with actual customer information to create a customized email body. The generated follow-up email is then sent to the specified customer's email address using a "network-enabled communication application" (e.g., an email sending tool using the SMTP protocol).

[0801] For example, a company that provides electronic payment services can create a system that automatically sends follow-up emails when a customer is 30 days or more behind on their payment. This system eliminates the need for staff to follow up manually, allowing for efficient and prompt responses.

[0802] When using this system as a generative AI model, you can set a "prompt statement" to specify the conditions under which a follow-up email should be generated and sent. For example, you can instruct the system with a prompt statement such as, "Based on the customer information in the sales list, send a follow-up email to customers who have been paying for 30 days or more since their last payment date."

[0803] This invention enables automatic management of transaction data and efficient follow-up, thereby making it possible to improve the efficiency of corporate sales and electronic payment services.

[0804] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0805] Step 1:

[0806] The server retrieves the transaction data from an online structured table.

[0807] Specifically, the Google Sheets API is used to retrieve transaction data from a spreadsheet on the cloud, including information such as customer name, email address, payment deadline, and final payment date. The input for this operation is the URL or ID of the target spreadsheet, and the output is a record list of the retrieved transaction data.

[0808] Step 2:

[0809] The server analyzes the acquired transaction data and calculates the number of days that have passed since the final settlement date for each customer.

[0810] Specifically, for each record in the acquired transaction data, the difference between the last settlement date and the current date is calculated. The input for this process is the last settlement date for each customer and the current date, and the output is the number of days elapsed.

[0811] Step 3:

[0812] The server selects customers for whom the number of days that have passed is equal to or greater than a specified period as targets for follow-up.

[0813] Specifically, customer records are filtered out if the number of days since their last purchase is, for example, 30 days or more. The input to this process is the number of days since the last purchase, and the output is a list of customers who are the subject of follow-up.

[0814] Step 4:

[0815] The server generates an electronic message template for the selected customer and inserts the customer information to create a customized email body.

[0816] Specifically, it uses a predefined HTML template and replaces placeholders in the template with selected customer information. The input to this process is a list of customers to follow up with and the template, and the output is a customized email body.

[0817] Step 5:

[0818] The server sends the generated follow-up email to the specified customer email address using a network-enabled communication application.

[0819] Specifically, it sends an email using the SMTP protocol, where the input to this process is a customized email body and the customer's email address, and the output is the status of the sent email.

[0820] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.

[0821] As an embodiment of the present invention, a system for recognizing user emotions and automating sales data will be described. This system acquires sales data from a data storage means, analyzes the data, selects customers based on specific criteria, and automatically sends follow-up emails to the selected customers. Furthermore, the system has the function of analyzing the emotions of users and customers using an emotion engine and adjusting the content and timing of emails based on the results.

[0822] The server first retrieves sales list data from a specific sheet in Google Spreadsheets, which contains information such as customer names, email addresses, and last contact dates.

[0823] Next, the server analyzes the sales list data and calculates the number of days that have passed since the last contact date for each customer. If a certain period of time has passed since the last contact date, the customer is selected as a target for sending a follow-up email.

[0824] The server then uses a sentiment engine to analyze customer sentiment from the captured sales data and past interactions, and provides insights based on customer sentiment to customize email templates or adjust the timing of email sends.

[0825] The server generates the email body using a user-defined email template, which is in HTML format and contains specific placeholders. The server then replaces these placeholders with actual customer information to create a customized email body.

[0826] The server then uses the MailApp service to send the generated email body to the specified customer email address, allowing follow-up emails to be sent automatically and at the appropriate time.

[0827] As a concrete example, consider the following sales listing data:

[0828] | Customer Name | Email Address | Phone Number | Last Contact Date | Sentiment |

[0829] | ------ | -------------- | -------- | --------- | ---- |

[0830] | Taro Yamada | yamada@example.com | 090-1234-5678 | 2023-08-25 | Negative |

[0831] | Hanako Sato | sato@example.com | 080-2345-6789 | 2023-09-15 | Positive |

[0832] If the current date is 2023-10-02, the server will recognize from this sales list that more than 30 days have passed since Taro Yamada's last contact. Therefore, the server will send a follow-up email to Taro Yamada. However, if the emotion engine analyzes the emotion as "negative," the server will send the email with careful wording and timing according to that emotion. On the other hand, since it has been less than 30 days since Hanako Sato's last contact, she will not be eligible for a follow-up email.

[0833] In this way, the system embodying the present invention improves the quality of sales activities by automatically generating and sending follow-up emails that take into account customer emotions, thereby improving business efficiency and customer satisfaction.

[0834] The processing flow will be explained below.

[0835] Step 1:

[0836] The server retrieves a sheet named "Sales List" from a Google spreadsheet, giving it access to all the data contained in the Sales List.

[0837] Step 2:

[0838] The server specifies the entire data range in the retrieved sheet and retrieves all values ​​in that data range as a two-dimensional array, which converts the data into a format that can be processed in the program.

[0839] Step 3:

[0840] The server reads the email template, which is stored as an HTML file, and retrieves its content as a string, which contains placeholders that are later replaced with customer information.

[0841] Step 4:

[0842] The server loops through the retrieved data range, excluding the first row (header row), and processes the data from the second row onwards. Within this loop, the data for each customer is processed in order.

[0843] Step 5:

[0844] The server retrieves the email address from the currently processed row (customer data), which determines the address to use for subsequent email transmissions.

[0845] Step 6:

[0846] The server retrieves the last contact date from the currently processed row (customer data) and converts it to a Date object, allowing date arithmetic to be performed.

[0847] Step 7:

[0848] The server retrieves the current date and stores it in a Date object. The current date is used to calculate the difference in days from the last contact date.

[0849] Step 8:

[0850] The server calculates the difference between the current date and the last contact date in milliseconds and converts this to a number of days. If it has been more than 30 days since the last contact date, the customer is selected for a follow-up email.

[0851] Step 9:

[0852] The server analyzes customer emotions using an emotion engine based on customer data and past interactions, which evaluates the customer's emotional state.

[0853] Step 10:

[0854] The server customizes the content of email templates based on customer sentiment analyzed by the sentiment engine, for example by adding softer language to customers with negative sentiment.

[0855] Step 11:

[0856] The server defines a fixed value for the email subject, which will be used as the theme for follow-up emails.

[0857] Step 12:

[0858] The server generates a customized email body by replacing the placeholder ({{name}}) in the template with the name of the customer currently being processed, thus creating an email content tailored to each individual customer.

[0859] Step 13:

[0860] The server uses the MailApp service to send the generated email body to the specified customer email address. This is the step where the follow-up email is actually delivered to the customer.

[0861] Example 2

[0862] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[0863] In conventional systems, managing sales data and sending follow-up emails was often done manually, resulting in high workloads and difficulty in adjusting the timing.In addition, the system was unable to adequately adjust the content and timing of emails taking into account customer emotions, limiting the improvement of customer satisfaction.

[0864] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for acquiring sales data from a data storage means, means for analyzing the last contact date of the acquired sales data and selecting data for which a specified period of time has passed, means for generating an email template based on the selected data and linking personal information in the sales data with the email template, means for analyzing the emotions of the person using an emotion engine and adjusting the email template and sending timing, and means for sending the generated email to the person. This automates the automatic management of sales data and the sending of follow-up emails, making it possible to send appropriate emails that take customer emotions into consideration.

[0865] "Data Storage Measures" means hardware or software for storing and managing Business Data.

[0866] "Sales data" refers to data that includes all information related to sales activities, such as customer names, email addresses, and last contact dates.

[0867] A "server" refers to a central processing unit that controls the entire system and performs various processes such as data acquisition, analysis, and email transmission.

[0868] An "emotion engine" is a software module that analyzes a person's emotions and provides specific insights based on the results.

[0869] An "email template" is a digital document that contains text and layout that serves as a template for generating follow-up emails.

[0870] "Markup language format" refers to a digital document format constructed using a description language such as HTML.

[0871] A "placeholder" is a symbol or string that indicates a position within an email template that should be replaced with customer information or other information as part of a variable.

[0872] "Online spreadsheet" means a spreadsheet application accessible over the internet that allows data to be entered, stored, and shared.

[0873] "Communication Services" refers to online services or software that provide communication processing, such as sending email.

[0874] As a specific embodiment of the present invention, a system for recognizing user emotions and automating sales data will be described below. This system acquires sales data from a data storage means, analyzes the data, selects customers based on specific criteria, and automatically sends follow-up emails to the selected customers. Furthermore, the system has the function of analyzing the emotions of users and customers using an emotion engine, and adjusting the content and timing of emails based on the results.

[0875] The server first retrieves sales list data from a specific sheet in an online spreadsheet. This sales list contains information such as customer names, email addresses, and last contact dates. Based on the retrieved sales list data, the server calculates the number of days that have passed since the last contact date for each customer. If more than a certain period of time has passed since the last contact date, the customer is selected as a target for sending a follow-up email.

[0876] The server then uses a sentiment engine to analyze customer sentiment from the captured sales data and past interactions, providing insights based on customer sentiment to customize email templates or adjust the timing of email sends.

[0877] The server then generates the email body using a user-defined email template, which is a markup language format containing specific placeholders. The server then replaces the placeholders with actual customer information to create a customized email body.

[0878] The server sends the generated email body to the specified customer email address using a communication service, so that follow-up emails are sent automatically and at the appropriate time.

[0879] As a concrete example, consider the following sales listing data:

[0880] | Customer Name | Email Address | Last Contact Date | Sentiment |

[0881] |------------|-----------------------|--------------|-----------|

[0882] | Taro Yamada | yamada@example.com | 2023-08-25 | Negative |

[0883] | Hanako Sato | sato@example.com | 2023-09-15 | Positive |

[0884] If the current date is 2023-10-02, the server will recognize from this sales list that more than 30 days have passed since Taro Yamada's last contact. Therefore, the server will send a follow-up email to Taro Yamada. However, if the emotion engine analyzes the emotion as "negative," the server will send the email with careful wording and timing according to that emotion. On the other hand, since it has been less than 30 days since Hanako Sato's last contact, she will not be eligible for a follow-up email.

[0885] Examples of prompts include:

[0886] This section explains the processing steps of a system that recognizes user emotions and automates sales data. The server retrieves sales list data from a specific sheet in an online spreadsheet and calculates the number of days that have passed since each customer's last contact date. Customers who have been with the system for a certain period of time are selected and their emotions are analyzed using an emotion engine. Finally, the email body is generated using an email template defined by the user, and a follow-up email is sent using a communication service.

[0887] In this way, the system embodying the present invention improves the quality of sales activities by automatically generating and sending follow-up emails that take into account customer emotions, thereby improving business efficiency and customer satisfaction.

[0888] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0889] Step 1:

[0890] The server retrieves sales list data from a specific sheet in an online spreadsheet. Here, the server uses the online spreadsheet API to read the sales list data and store it in memory. The input is the sheet ID and sheet name of the online spreadsheet, and the output is sales list data such as customer name, email address, and last contact date. The specific operation is to retrieve the sheet data using the API.

[0891] Step 2:

[0892] The server analyzes the acquired sales list data and calculates the number of days that have passed from the last contact date of each customer to the current date. Here, the server obtains the current date and calculates the number of days that have passed by comparing it with the last contact date of each customer. The input is the last contact date and the current date, and the output is the number of days that have passed for each customer. Specifically, the number of days that have passed is calculated using a date calculation algorithm.

[0893] Step 3:

[0894] The server selects customers to whom follow-up emails should be sent based on the calculated number of days that have passed. Here, the server selects customers for whom a certain period of time (e.g., 30 days) has passed, as set in advance. The input is the number of days that have passed and the allowable period, and the output is a list of customers to be followed up. Specifically, it performs conditional filtering.

[0895] Step 4:

[0896] The server performs sentiment analysis using the emotion engine with the customer data of the follow-up target. The emotion engine analyzes the emotions of each customer based on past interactions and sales data, and calculates an emotion score. The input is the customer data of the follow-up target, and the output is the emotion score of each customer. Specifically, the server runs the sentiment analysis model.

[0897] Step 5:

[0898] The server loads the email template and customizes the email content based on the sentiment score. It replaces the placeholders in the email template with customer information and generates an individually customized email body. The input is the email template and customer information, and the output is a customized email body. Specific operations use a template engine.

[0899] Step 6:

[0900] The server sends the generated email body to the customer via the communication service. Here, the server uses the communication service API to send a follow-up email. The input is the email body and the customer's email address, and the output is the status of the email sending. The specific operation is to call the email sending API.

[0901] In this way, at each processing step, the server processes and calculates data based on specific input data, and outputs the results, thereby realizing a series of automated sales activities.

[0902] (Application example 2)

[0903] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[0904] In conventional sales activities, follow-up with customers is often insufficient, and in particular, follow-up that takes into account the customer's feelings is rarely performed. This results in problems such as a decrease in sales efficiency and a lack of improvement in customer satisfaction. Furthermore, uniform follow-up emails that do not take into account the customer's feelings can sometimes have the opposite effect. The present invention aims to solve these problems.

[0905] The identification processing by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for acquiring sales data from a data storage means, means for analyzing the last contact date of the acquired sales data and selecting data for which a specified period of time has passed, means for analyzing customer emotions using an emotion engine, means for generating an email template based on the results of the emotion analysis and linking customer information in the sales data with the email template, and means for sending the generated email to the customer. This makes it possible to automatically generate and send follow-up emails that take customer emotions into consideration, thereby improving the efficiency of sales activities and customer satisfaction.

[0906] definition statement

[0907] "Data Storage Measures" means systems or devices for storing and retrieving business data.

[0908] "Sales data" refers to data related to sales activities, such as customer information, past transactions, and last contact date.

[0909] "Last contact date" is data indicating the date of last contact with the customer.

[0910] A "screening means" is a mechanism for sorting or selecting data based on specific criteria.

[0911] An "emotion engine" is a general term for software or algorithms that analyze text, voice, facial expressions, etc. to determine a user's emotions.

[0912] An "email template" is a template for the body of an email, and is a format that includes placeholders for inserting specific information.

[0913] A "placeholder" is a symbol or character string that is used to insert actual data into a specific position in a template.

[0914] "Customer Information" means personal identification information such as a customer's name, email address, and phone number.

[0915] "Email sending means" refers to a system or service for sending the generated email to a specified address.

[0916] A "public web-based spreadsheet" is a type of spreadsheet application that is accessible over the Internet and allows data to be read and written.

[0917] A "web-based email service" is a service that allows you to send and receive emails over the Internet.

[0918] patent specification

[0919] To implement the present invention, the following system configuration and processing are required.

[0920] System Configuration

[0921] 1. Hardware and Software Configuration

[0922] Server: Retrieves sales data from data storage, analyzes, selects, recognizes emotions, generates email templates, and sends emails.

[0923] Data Storage Method: A web-based spreadsheet for storing sales data.

[0924] Sentiment engine: Software or algorithm that analyzes customer sentiment.

[0925] Email sending method: A web-based email service (e.g., MailApp).

[0926] User terminal: A device such as a smartphone or computer.

[0927] Program processing description

[0928] 1. Acquire sales data:

[0929] The server retrieves sales data from a web-based spreadsheet, which includes customer names, email addresses, and last contact dates.

[0930] 2. Data analysis and selection:

[0931] The server analyzes the acquired sales data and selects customer data for which a specified period (e.g., 30 days) has passed since the last contact.

[0932] 3. Emotion Recognition:

[0933] The server uses an emotion engine to analyze customer emotions from the selected customer data, for example, determining customer emotions based on past correspondence history and email content.

[0934] 4. Generate email template:

[0935] The server selects an appropriate email template based on the results of the sentiment analysis, combines the customer information with the email template, and generates a customized email body in HTML format, substituting specific placeholders with the customer information.

[0936] 5. Sending emails:

[0937] The server then sends the generated emails to customers using a web-based email service, with the timing of sending adjusted based on sentiment analysis.

[0938] Specific examples

[0939] For example, say you have a sales data spreadsheet with the following data:

[0940] | Customer Name | Email Address | Last Contact Date | Sentiment |

[0941] | ------ | ---------------------- | ----------- | ------ |

[0942] | Mr. A | example@example.com | 2023-08-25 | Negative |

[0943] | Mr. B | another@example.com | 2023-09-15 | Positive |

[0944] If the current date is 2023-10-02, the server will recognize from this data that it has been more than 30 days since the last contact with Person A. Since the emotion engine judges this to be "negative," it will send a follow-up email using careful wording. As for Person B, since it has been less than 30 days, he will not be the target for a follow-up email.

[0945] Prompt Sentence Examples

[0946] Customer: Mr. A

[0947] Emotion: Negative

[0948] Follow-up email content:

[0949] ---

[0950] Subject: Important notice to customers

[0951] Main text:

[0952] Dear A,

[0953] Have you had any complaints about your recent purchase? We value your opinion and would love to hear from you, no matter what it is.

[0954] ---

[0955] In this way, a series of processes are carried out within the system, and follow-up emails are automatically sent to customers based on their emotions, improving sales efficiency and customer satisfaction.

[0956] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[0957] Processing Steps

[0958] Step 1:

[0959] The server retrieves sales data from a web-based spreadsheet, which includes customer names, email addresses, last contact dates, etc. The input is the spreadsheet data, and the output is the retrieved sales data.

[0960] Step 2:

[0961] The server analyzes the last contact date of the acquired sales data. Here, the sales data is input, and the difference between the last contact date of each customer and the current date is calculated. As output, data that is older than a specified period (e.g., 30 days) is selected.

[0962] Step 3:

[0963] The server uses an emotion engine to analyze customer sentiment from the filtered sales data. The inputs are the filtered customer data and the emotion engine, and the output is the emotional state (negative, positive, etc.) of each customer.

[0964] Step 4:

[0965] The server selects an appropriate email template based on the results of the sentiment analysis, and generates a customized email body by linking the email template with customer information in the sales data. The inputs are the sentiment analysis results and the email template, and the output is an individually customized email body.

[0966] Step 5:

[0967] The server then sends the generated email to the customer using a web-based email service. At this stage, it also adjusts the timing of sending based on the results of sentiment analysis. The input is a customized email body and the customer's email address, and the output is the actual email sent.

[0968] Specific operation explanation

[0969] Step 1:

[0970] The server uses an API to read data from a web-based spreadsheet, retrieving information such as customer name, email address, and last contact date, and then stores the spreadsheet data on the server.

[0971] Step 2:

[0972] The server processes the acquired sales data using an analysis program to calculate the difference between the last contact date for each customer and the current date (for example, by using the Python datetime module to calculate the difference in days), and then creates a list of customers who need follow-up.

[0973] Step 3:

[0974] The server then calls an emotion engine based on the selected sales data to evaluate each customer's emotions. This involves inputting text data such as past emails and notes into the emotion analysis algorithm to obtain emotion tags such as negative or positive.

[0975] Step 4:

[0976] Based on the results of the sentiment analysis, the server selects an HTML email template and replaces certain placeholders with customer information, for example, replacing "{{name}}" in the template with each customer's name to generate a customized email body.

[0977] Step 5:

[0978] The server then sends the generated customized email to the customer using a web-based email service (e.g., MailApp), where the timing of the email is adjusted based on the results of the sentiment analysis: negative emails are sent at a more timely pace, and positive emails are sent immediately.

[0979] The above are the specific processing steps of the system.

[0980] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.

[0981] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0982] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.

[0983] [Fourth embodiment]

[0984] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.

[0985] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.

[0986] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0987] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.

[0988] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.

[0989] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).

[0990] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.

[0991] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.

[0992] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.

[0993] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0994] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0995] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[0996] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[0997] As an embodiment of the present invention, an automated system for supporting corporate sales will be described. This system acquires sales data from a data storage means, analyzes the data, selects customers based on specific conditions, and automatically sends follow-up emails to the selected customers.

[0998] The server first retrieves sales list data from a specific sheet in Google Spreadsheets, which contains information such as customer names, email addresses, and last contact dates.

[0999] Next, the server analyzes the sales list data and calculates the number of days that have passed since the last contact date for each customer. If a certain period of time has passed since the last contact date, the customer is selected as a target for follow-up emails.

[1000] For selected customers, the server generates the email body using a predefined email template, which is in HTML format and contains specific placeholders that the server replaces with actual customer information to create a customized email body.

[1001] The server then uses the MailApp service to send the generated email body to the specified customer email address, ensuring follow-up emails are sent automatically and efficiently.

[1002] As a concrete example, consider the following sales listing data:

[1003] | Customer Name | Email Address | Phone Number | Last Contact Date |

[1004] | ------ | -------------- | -------- | --------- |

[1005] | Taro Yamada | yamada@example.com | 090-1234-5678 | 2023-08-25 |

[1006] | Hanako Sato | sato@example.com | 080-2345-6789 | 2023-09-15 |

[1007] If the current date is 2023-10-02, the server will recognize from this sales list that it has been more than 30 days since Taro Yamada's last contact. Therefore, the server will send a follow-up email to Taro Yamada. On the other hand, since it has been less than 30 days since Hanako Sato's last contact, she will not be eligible to receive a follow-up email.

[1008] In this way, the system embodying the present invention can automate corporate sales support tasks simply and quickly without requiring programming skills, thereby improving business efficiency and significantly reducing the number of steps required.

[1009] The processing flow will be explained below.

[1010] Step 1:

[1011] The server retrieves a sheet named "Sales List" from a Google spreadsheet, giving it access to all the data contained in the Sales List.

[1012] Step 2:

[1013] The server specifies the entire data range in the retrieved sheet and retrieves all values ​​in that data range as a two-dimensional array, which converts the data into a format that can be processed in the program.

[1014] Step 3:

[1015] The server reads the email template, which is stored as an HTML file, and retrieves its content as a string, which contains placeholders that are later replaced with customer information.

[1016] Step 4:

[1017] The server loops through the retrieved data range, excluding the first row (header row), and processes the data from the second row onwards. Within this loop, the data for each customer is processed in order.

[1018] Step 5:

[1019] The server retrieves the email address from the currently processed row (customer data), which determines the address to use for subsequent email transmissions.

[1020] Step 6:

[1021] The server retrieves the last contact date from the currently processed row (customer data) and converts it to a Date object, allowing date arithmetic to be performed.

[1022] Step 7:

[1023] The server retrieves the current date and stores it in a Date object. The current date is used to calculate the difference in days from the last contact date.

[1024] Step 8:

[1025] The server calculates the difference between the current date and the last contact date in milliseconds and converts this to a number of days. If it has been more than 30 days since the last contact date, the customer is selected for a follow-up email.

[1026] Step 9:

[1027] The server defines a fixed value for the email subject, which will be used as the theme for follow-up emails.

[1028] Step 10:

[1029] The server generates a customized email body by replacing the placeholder ({{name}}) in the template with the name of the customer currently being processed, thus creating an email content tailored to each individual customer.

[1030] Step 11:

[1031] The server uses the MailApp service to send the generated email body to the specified customer email address. This is the step where the follow-up email is actually delivered to the customer.

[1032] Example 1

[1033] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1034] Customer follow-up plays an important role in corporate sales activities, but doing it manually requires a great deal of time and effort. It is also difficult to efficiently manage the last contact date for each customer and send follow-up emails at the appropriate time. For this reason, an automated system is needed to improve the efficiency of sales activities.

[1035] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[1036] In this invention, the server includes means for acquiring sales data from a data storage means, means for analyzing the last contact date of the acquired sales data and selecting data for which a specified period of time has elapsed, means for generating a common email format based on the selected data and linking customer information in the sales data with the common email format, means for sending the generated email to the customer, and means for calculating the number of days since the last contact. This automates corporate sales follow-up work, improving work efficiency and enabling timely customer responses.

[1037] "Sales data" refers to data including customer information, transaction information, and the last contact date related to corporate sales activities.

[1038] "Data storage means" refers to a system or device for storing and managing business data, including electronic spreadsheet tools and databases.

[1039] A "server" is a computer system that has computing power to acquire, analyze, process, transmit, etc. data.

[1040] The "last contact date" is information indicating the date of the last contact with the customer.

[1041] "Selection" is the process of classifying data based on certain criteria and extracting the necessary data.

[1042] A "common email format" is an email format created based on a defined format or template, and is often in a markup language format.

[1043] A "placeholder" is a temporary mark or code that indicates where actual data will be inserted later.

[1044] "Number of days elapsed" is the number of days that have elapsed between a specific date and the current date.

[1045] An "electronic spreadsheet tool" is software for inputting, calculating, analyzing, displaying, etc. data, and examples thereof include spreadsheets.

[1046] "Communication Services" means online services that enable the sending and receiving of email.

[1047] The present invention relates to an automated system for supporting corporate sales. This system acquires and analyzes sales data and automatically sends follow-up emails to customers based on specific conditions.

[1048] Specifically, the following processing is performed.

[1049] First, the server retrieves sales data from an electronic spreadsheet such as Google Sheets. The sales data includes information such as customer names, email addresses, phone numbers, and last contact dates. The server uses the Google Sheets API to read data from the specified sheet ID. The read data is then internally converted to array or data frame format.

[1050] Next, the server analyzes the acquired sales data. Specifically, it compares the last contact date with the current date and calculates the number of days that have passed. In this case, the server obtains the current date from a standard library or NTP server and calculates the difference between that and each customer's last contact date. As a result, customers whose number of days that have passed since the last contact date exceeds a specified period (for example, 30 days or more) are selected.

[1051] For selected customers, the server generates a customized follow-up email using a common email format. The common email format is in HTML format and contains specified placeholders. The server reads this and creates a customized email body by replacing the placeholders with actual data such as the customer's name and last contact date.

[1052] Finally, the server uses a communication service to send the generated email to the customer. Specifically, it uses the MailApp API to specify the necessary parameters (sender email address, destination email address, email body, etc.) and executes the sending. It checks whether the sending was successful and records the appropriate log.

[1053] This system automates follow-up work for corporate sales, improves work efficiency, and enables timely customer responses. Specific examples and prompts are shown below.

[1054] Specific examples

[1055] For example, suppose your sales list data contains the following information:

[1056] | Customer Name | Email Address | Phone Number | Last Contact Date |

[1057] | ------ | -------------- | --------- | --------- |

[1058] | Taro Yamada | yamada@example.com | 090-1234-5678 | 2023-08-25 |

[1059] | Hanako Sato | sato@example.com | 080-2345-6789 | 2023-09-15 |

[1060] If the current date is 2023-10-02,

[1061] The server first retrieves the above data from a Google spreadsheet.

[1062] The server then compares the current date (2023-10-02) with the last contact date and confirms that more than 30 days have passed since Yamada Taro's contact date.

[1063] The server selects Taro Yamada for follow-up and generates a customized email using the appropriate common email format.

[1064] Finally, the server uses the MailApp service to send a follow-up email to yamada@example.com.

[1065] Prompt Sentence Examples

[1066] "Describe a program that pulls sales list data from a Google spreadsheet and sends follow-up emails based on the last contact date."

[1067] This makes it possible to efficiently automate follow-up work for corporate sales.

[1068] The flow of the identification process in the first embodiment will be described with reference to FIG.

[1069] Step 1:

[1070] Data Acquisition

[1071] The server retrieves sales data from a Google spreadsheet.

[1072] Specific behavior:

[1073] The server uses the Google Sheets API to read sales data (customer name, email address, phone number, last contact date, etc.) from the specified sheet ID.

[1074] Input: Google Spreadsheet sheet ID

[1075] Output: Sales data in array or dataframe format

[1076] Step 2:

[1077] Data analysis

[1078] The server analyzes the last contact date of the acquired sales data.

[1079] Specific behavior:

[1080] The server takes the current date and calculates the difference from the last contact date for each customer.

[1081] Input: Sales data in array or data frame format, current date

[1082] Output: Updated sales data with age for each customer

[1083] Step 3:

[1084] Customer Selection

[1085] The server selects customers who have been with the server for a certain period of time (e.g., 30 days).

[1086] Specific behavior:

[1087] The server filters out customers who have been with the company for more than 30 days and generates a list of eligible customers.

[1088] Input: Updated sales data

[1089] Output: List of customers to follow up with

[1090] Step 4:

[1091] Email Generation

[1092] The server generates the body of the email for the selected customers using a common email format.

[1093] Specific behavior:

[1094] The server reads the common HTML email format, replaces the placeholders with actual data, and generates a customized email body.

[1095] Input: Common email format, customer list for follow-up

[1096] Output: Customized email body

[1097] Step 5:

[1098] Send email

[1099] The server sends the generated email body to the customer.

[1100] Specific behavior:

[1101] The server uses the MailApp API to specify the email address to send, the body of the message, etc., and then executes the sending.

[1102] Input: Customized email body, customer email address

[1103] Output: Sending result log (success or failure)

[1104] Through these steps, the server can efficiently perform sales follow-up operations.

[1105] (Application example 1)

[1106] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1107] In conventional corporate sales support operations, manually managing the last contact date for each customer and sending follow-up emails requires a great deal of time and effort. Even with electronic payment services, delaying follow-up with customers whose payment deadlines have passed increases the risk of non-payment. As such, there is a need for a system that streamlines transaction data management and follow-up operations.

[1108] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[1109] In this invention, the server includes means for acquiring transaction data from a data storage means, means for analyzing the final settlement date of the acquired transaction data and selecting data for which a specified period of time has elapsed, means for generating an electronic message template based on the selected data, linking customer information in the transaction data with the electronic message template, and means for sending the generated electronic message to the customer, thereby enabling automatic management of transaction data and efficient follow-up.

[1110] "Data Storage Means" means devices and services for storing and managing transaction data.

[1111] "Transaction data" refers to various data generated in electronic payment services, such as customer payment status and final payment date.

[1112] "Final Settlement Date" means the date on which the Customer makes the final payment.

[1113] An "electronic message template" is a model of an electronic message that is created according to a predefined format.

[1114] A "placeholder" is a string included in a template that should be replaced with customer information.

[1115] A "network-enabled communications application" is an application that allows for the sending and receiving of electronic messages over the Internet.

[1116] An "online structured table" is a spreadsheet or database managed on the cloud.

[1117] "Customer Information" means personal identification information such as a customer's name, email address, and telephone number.

[1118] A "follow-up email" is an email sent after a certain period of time has passed since a transaction or communication to provide confirmation or additional information.

[1119] This invention relates to a system that acquires transaction data from a data storage means, analyzes the transaction data to select customers based on specific criteria, and automatically sends follow-up emails to the selected customers, thereby improving the efficiency of corporate sales and electronic payment services.

[1120] The server first retrieves transaction data from an "online structured table" (such as a spreadsheet on the cloud). This transaction data includes information such as the customer's name, email address, payment deadline, and final settlement date. The server then analyzes the retrieved transaction data and calculates the number of days that have passed since each customer's final settlement date. As a result, customers whose number of days has passed since the specified period is selected as targets for follow-up.

[1121] For selected customers, the server generates the body of a follow-up email using a predefined "electronic message template." This template is in HTML format and contains placeholders for inserting customer information. The server replaces the placeholders with actual customer information to create a customized email body. The generated follow-up email is then sent to the specified customer's email address using a "network-enabled communication application" (e.g., an email sending tool using the SMTP protocol).

[1122] For example, a company that provides electronic payment services can create a system that automatically sends follow-up emails when a customer is 30 days or more behind on their payment. This system eliminates the need for staff to follow up manually, allowing for efficient and prompt responses.

[1123] When using this system as a generative AI model, you can set a "prompt statement" to specify the conditions under which a follow-up email should be generated and sent. For example, you can instruct the system with a prompt statement such as, "Based on the customer information in the sales list, send a follow-up email to customers who have been paying for 30 days or more since their last payment date."

[1124] This invention enables automatic management of transaction data and efficient follow-up, thereby making it possible to improve the efficiency of corporate sales and electronic payment services.

[1125] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[1126] Step 1:

[1127] The server retrieves the transaction data from an online structured table.

[1128] Specifically, the Google Sheets API is used to retrieve transaction data from a spreadsheet on the cloud, including information such as customer name, email address, payment deadline, and final payment date. The input for this operation is the URL or ID of the target spreadsheet, and the output is a record list of the retrieved transaction data.

[1129] Step 2:

[1130] The server analyzes the acquired transaction data and calculates the number of days that have passed since the final settlement date for each customer.

[1131] Specifically, for each record in the acquired transaction data, the difference between the last settlement date and the current date is calculated. The input for this process is the last settlement date for each customer and the current date, and the output is the number of days elapsed.

[1132] Step 3:

[1133] The server selects customers for whom the number of days that have passed is equal to or greater than a specified period as targets for follow-up.

[1134] Specifically, customer records are filtered out if the number of days since their last purchase is, for example, 30 days or more. The input to this process is the number of days since the last purchase, and the output is a list of customers who are the subject of follow-up.

[1135] Step 4:

[1136] The server generates an electronic message template for the selected customer and inserts the customer information to create a customized email body.

[1137] Specifically, it uses a predefined HTML template and replaces placeholders in the template with selected customer information. The input to this process is a list of customers to follow up with and the template, and the output is a customized email body.

[1138] Step 5:

[1139] The server sends the generated follow-up email to the specified customer email address using a network-enabled communication application.

[1140] Specifically, it sends an email using the SMTP protocol, where the input to this process is a customized email body and the customer's email address, and the output is the status of the sent email.

[1141] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.

[1142] As an embodiment of the present invention, a system for recognizing user emotions and automating sales data will be described. This system acquires sales data from a data storage means, analyzes the data, selects customers based on specific criteria, and automatically sends follow-up emails to the selected customers. Furthermore, the system has the function of analyzing the emotions of users and customers using an emotion engine and adjusting the content and timing of emails based on the results.

[1143] The server first retrieves sales list data from a specific sheet in Google Spreadsheets, which contains information such as customer names, email addresses, and last contact dates.

[1144] Next, the server analyzes the sales list data and calculates the number of days that have passed since the last contact date for each customer. If a certain period of time has passed since the last contact date, the customer is selected as a target for sending a follow-up email.

[1145] The server then uses a sentiment engine to analyze customer sentiment from the captured sales data and past interactions, and provides insights based on customer sentiment to customize email templates or adjust the timing of email sends.

[1146] The server generates the email body using a user-defined email template, which is in HTML format and contains specific placeholders. The server then replaces these placeholders with actual customer information to create a customized email body.

[1147] The server then uses the MailApp service to send the generated email body to the specified customer email address, allowing follow-up emails to be sent automatically and at the appropriate time.

[1148] As a concrete example, consider the following sales listing data:

[1149] | Customer Name | Email Address | Phone Number | Last Contact Date | Sentiment |

[1150] | ------ | -------------- | -------- | --------- | ---- |

[1151] | Taro Yamada | yamada@example.com | 090-1234-5678 | 2023-08-25 | Negative |

[1152] | Hanako Sato | sato@example.com | 080-2345-6789 | 2023-09-15 | Positive |

[1153] If the current date is 2023-10-02, the server will recognize from this sales list that more than 30 days have passed since Taro Yamada's last contact. Therefore, the server will send a follow-up email to Taro Yamada. However, if the emotion engine analyzes the emotion as "negative," the server will send the email with careful wording and timing according to that emotion. On the other hand, since it has been less than 30 days since Hanako Sato's last contact, she will not be eligible for a follow-up email.

[1154] In this way, the system embodying the present invention improves the quality of sales activities by automatically generating and sending follow-up emails that take into account customer emotions, thereby improving business efficiency and customer satisfaction.

[1155] The processing flow will be explained below.

[1156] Step 1:

[1157] The server retrieves a sheet named "Sales List" from a Google spreadsheet, giving it access to all the data contained in the Sales List.

[1158] Step 2:

[1159] The server specifies the entire data range in the retrieved sheet and retrieves all values ​​in that data range as a two-dimensional array, which converts the data into a format that can be processed in the program.

[1160] Step 3:

[1161] The server reads the email template, which is stored as an HTML file, and retrieves its content as a string, which contains placeholders that are later replaced with customer information.

[1162] Step 4:

[1163] The server loops through the retrieved data range, excluding the first row (header row), and processes the data from the second row onwards. Within this loop, the data for each customer is processed in order.

[1164] Step 5:

[1165] The server retrieves the email address from the currently processed row (customer data), which determines the address to use for subsequent email transmissions.

[1166] Step 6:

[1167] The server retrieves the last contact date from the currently processed row (customer data) and converts it to a Date object, allowing date arithmetic to be performed.

[1168] Step 7:

[1169] The server retrieves the current date and stores it in a Date object. The current date is used to calculate the difference in days from the last contact date.

[1170] Step 8:

[1171] The server calculates the difference between the current date and the last contact date in milliseconds and converts this to a number of days. If it has been more than 30 days since the last contact date, the customer is selected for a follow-up email.

[1172] Step 9:

[1173] The server analyzes customer emotions using an emotion engine based on customer data and past interactions, which evaluates the customer's emotional state.

[1174] Step 10:

[1175] The server customizes the content of email templates based on customer sentiment analyzed by the sentiment engine, for example by adding softer language to customers with negative sentiment.

[1176] Step 11:

[1177] The server defines a fixed value for the email subject, which will be used as the theme for follow-up emails.

[1178] Step 12:

[1179] The server generates a customized email body by replacing the placeholder ({{name}}) in the template with the name of the customer currently being processed, thus creating an email content tailored to each individual customer.

[1180] Step 13:

[1181] The server uses the MailApp service to send the generated email body to the specified customer email address. This is the step where the follow-up email is actually delivered to the customer.

[1182] Example 2

[1183] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1184] In conventional systems, managing sales data and sending follow-up emails was often done manually, resulting in high workloads and difficulty in adjusting the timing.In addition, the system was unable to adequately adjust the content and timing of emails taking into account customer emotions, limiting the improvement of customer satisfaction.

[1185] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for acquiring sales data from a data storage means, means for analyzing the last contact date of the acquired sales data and selecting data for which a specified period of time has passed, means for generating an email template based on the selected data and linking personal information in the sales data with the email template, means for analyzing the emotions of the person using an emotion engine and adjusting the email template and sending timing, and means for sending the generated email to the person. This automates the automatic management of sales data and the sending of follow-up emails, making it possible to send appropriate emails that take customer emotions into consideration.

[1186] "Data Storage Measures" means hardware or software for storing and managing Business Data.

[1187] "Sales data" refers to data that includes all information related to sales activities, such as customer names, email addresses, and last contact dates.

[1188] A "server" refers to a central processing unit that controls the entire system and performs various processes such as data acquisition, analysis, and email transmission.

[1189] An "emotion engine" is a software module that analyzes a person's emotions and provides specific insights based on the results.

[1190] An "email template" is a digital document that contains text and layout that serves as a template for generating follow-up emails.

[1191] "Markup language format" refers to a digital document format constructed using a description language such as HTML.

[1192] A "placeholder" is a symbol or string that indicates a position within an email template that should be replaced with customer information or other information as part of a variable.

[1193] "Online spreadsheet" means a spreadsheet application accessible over the internet that allows data to be entered, stored, and shared.

[1194] "Communication Services" refers to online services or software that provide communication processing, such as sending email.

[1195] As a specific embodiment of the present invention, a system for recognizing user emotions and automating sales data will be described below. This system acquires sales data from a data storage means, analyzes the data, selects customers based on specific criteria, and automatically sends follow-up emails to the selected customers. Furthermore, the system has the function of analyzing the emotions of users and customers using an emotion engine, and adjusting the content and timing of emails based on the results.

[1196] The server first retrieves sales list data from a specific sheet in an online spreadsheet. This sales list contains information such as customer names, email addresses, and last contact dates. Based on the retrieved sales list data, the server calculates the number of days that have passed since the last contact date for each customer. If more than a certain period of time has passed since the last contact date, the customer is selected as a target for sending a follow-up email.

[1197] The server then uses a sentiment engine to analyze customer sentiment from the captured sales data and past interactions, providing insights based on customer sentiment to customize email templates or adjust the timing of email sends.

[1198] The server then generates the email body using a user-defined email template, which is a markup language format containing specific placeholders. The server then replaces the placeholders with actual customer information to create a customized email body.

[1199] The server sends the generated email body to the specified customer email address using a communication service, so that follow-up emails are sent automatically and at the appropriate time.

[1200] As a concrete example, consider the following sales listing data:

[1201] | Customer Name | Email Address | Last Contact Date | Sentiment |

[1202] |------------|-----------------------|--------------|-----------|

[1203] | Taro Yamada | yamada@example.com | 2023-08-25 | Negative |

[1204] | Hanako Sato | sato@example.com | 2023-09-15 | Positive |

[1205] If the current date is 2023-10-02, the server will recognize from this sales list that more than 30 days have passed since Taro Yamada's last contact. Therefore, the server will send a follow-up email to Taro Yamada. However, if the emotion engine analyzes the emotion as "negative," the server will send the email with careful wording and timing according to that emotion. On the other hand, since it has been less than 30 days since Hanako Sato's last contact, she will not be eligible for a follow-up email.

[1206] Examples of prompts include:

[1207] This section explains the processing steps of a system that recognizes user emotions and automates sales data. The server retrieves sales list data from a specific sheet in an online spreadsheet and calculates the number of days that have passed since each customer's last contact date. Customers who have been with the system for a certain period of time are selected and their emotions are analyzed using an emotion engine. Finally, the email body is generated using an email template defined by the user, and a follow-up email is sent using a communication service.

[1208] In this way, the system embodying the present invention improves the quality of sales activities by automatically generating and sending follow-up emails that take into account customer emotions, thereby improving business efficiency and customer satisfaction.

[1209] The flow of the identification process in the second embodiment will be described with reference to FIG.

[1210] Step 1:

[1211] The server retrieves sales list data from a specific sheet in an online spreadsheet. Here, the server uses the online spreadsheet API to read the sales list data and store it in memory. The input is the sheet ID and sheet name of the online spreadsheet, and the output is sales list data such as customer name, email address, and last contact date. The specific operation is to retrieve the sheet data using the API.

[1212] Step 2:

[1213] The server analyzes the acquired sales list data and calculates the number of days that have passed from the last contact date of each customer to the current date. Here, the server obtains the current date and calculates the number of days that have passed by comparing it with the last contact date of each customer. The input is the last contact date and the current date, and the output is the number of days that have passed for each customer. Specifically, the number of days that have passed is calculated using a date calculation algorithm.

[1214] Step 3:

[1215] The server selects customers to whom follow-up emails should be sent based on the calculated number of days that have passed. Here, the server selects customers for whom a certain period of time (e.g., 30 days) has passed, as set in advance. The input is the number of days that have passed and the allowable period, and the output is a list of customers to be followed up. Specifically, it performs conditional filtering.

[1216] Step 4:

[1217] The server performs sentiment analysis using the emotion engine with the customer data of the follow-up target. The emotion engine analyzes the emotions of each customer based on past interactions and sales data, and calculates an emotion score. The input is the customer data of the follow-up target, and the output is the emotion score of each customer. Specifically, the server runs the sentiment analysis model.

[1218] Step 5:

[1219] The server loads the email template and customizes the email content based on the sentiment score. It replaces the placeholders in the email template with customer information and generates an individually customized email body. The input is the email template and customer information, and the output is a customized email body. Specific operations use a template engine.

[1220] Step 6:

[1221] The server sends the generated email body to the customer via the communication service. Here, the server uses the communication service API to send a follow-up email. The input is the email body and the customer's email address, and the output is the status of the email sending. The specific operation is to call the email sending API.

[1222] In this way, at each processing step, the server processes and calculates data based on specific input data, and outputs the results, thereby realizing a series of automated sales activities.

[1223] (Application example 2)

[1224] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1225] In conventional sales activities, follow-up with customers is often insufficient, and in particular, follow-up that takes into account the customer's feelings is rarely performed. This results in problems such as a decrease in sales efficiency and a lack of improvement in customer satisfaction. Furthermore, uniform follow-up emails that do not take into account the customer's feelings can sometimes have the opposite effect. The present invention aims to solve these problems.

[1226] The identification processing by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for acquiring sales data from a data storage means, means for analyzing the last contact date of the acquired sales data and selecting data for which a specified period of time has passed, means for analyzing customer emotions using an emotion engine, means for generating an email template based on the results of the emotion analysis and linking customer information in the sales data with the email template, and means for sending the generated email to the customer. This makes it possible to automatically generate and send follow-up emails that take customer emotions into consideration, thereby improving the efficiency of sales activities and customer satisfaction.

[1227] definition statement

[1228] "Data Storage Measures" means systems or devices for storing and retrieving business data.

[1229] "Sales data" refers to data related to sales activities, such as customer information, past transactions, and last contact date.

[1230] "Last contact date" is data indicating the date of last contact with the customer.

[1231] A "screening means" is a mechanism for sorting or selecting data based on specific criteria.

[1232] An "emotion engine" is a general term for software or algorithms that analyze text, voice, facial expressions, etc. to determine a user's emotions.

[1233] An "email template" is a template for the body of an email, and is a format that includes placeholders for inserting specific information.

[1234] A "placeholder" is a symbol or character string that is used to insert actual data into a specific position in a template.

[1235] "Customer Information" means personal identification information such as a customer's name, email address, and phone number.

[1236] "Email sending means" refers to a system or service for sending the generated email to a specified address.

[1237] A "public web-based spreadsheet" is a type of spreadsheet application that is accessible over the Internet and allows data to be read and written.

[1238] A "web-based email service" is a service that allows you to send and receive emails over the Internet.

[1239] patent specification

[1240] To implement the present invention, the following system configuration and processing are required.

[1241] System Configuration

[1242] 1. Hardware and Software Configuration

[1243] Server: Retrieves sales data from data storage, analyzes, selects, recognizes emotions, generates email templates, and sends emails.

[1244] Data Storage Method: A web-based spreadsheet for storing sales data.

[1245] Sentiment engine: Software or algorithm that analyzes customer sentiment.

[1246] Email sending method: A web-based email service (e.g., MailApp).

[1247] User terminal: A device such as a smartphone or computer.

[1248] Program processing description

[1249] 1. Acquire sales data:

[1250] The server retrieves sales data from a web-based spreadsheet, which includes customer names, email addresses, and last contact dates.

[1251] 2. Data analysis and selection:

[1252] The server analyzes the acquired sales data and selects customer data for which a specified period (e.g., 30 days) has passed since the last contact.

[1253] 3. Emotion Recognition:

[1254] The server uses an emotion engine to analyze customer emotions from the selected customer data, for example, determining customer emotions based on past correspondence history and email content.

[1255] 4. Generate email template:

[1256] The server selects an appropriate email template based on the results of the sentiment analysis, combines the customer information with the email template, and generates a customized email body in HTML format, substituting specific placeholders with the customer information.

[1257] 5. Sending emails:

[1258] The server then sends the generated emails to customers using a web-based email service, with the timing of sending adjusted based on sentiment analysis.

[1259] Specific examples

[1260] For example, say you have a sales data spreadsheet with the following data:

[1261] | Customer Name | Email Address | Last Contact Date | Sentiment |

[1262] | ------ | ---------------------- | ----------- | ------ |

[1263] | Mr. A | example@example.com | 2023-08-25 | Negative |

[1264] | Mr. B | another@example.com | 2023-09-15 | Positive |

[1265] If the current date is 2023-10-02, the server will recognize from this data that it has been more than 30 days since the last contact with Person A. Since the emotion engine judges this to be "negative," it will send a follow-up email using careful wording. As for Person B, since it has been less than 30 days, he will not be the target for a follow-up email.

[1266] Prompt Sentence Examples

[1267] Customer: Mr. A

[1268] Emotion: Negative

[1269] Follow-up email content:

[1270] ---

[1271] Subject: Important notice to customers

[1272] Main text:

[1273] Dear A,

[1274] Have you had any complaints about your recent purchase? We value your opinion and would love to hear from you, no matter what it is.

[1275] ---

[1276] In this way, a series of processes are carried out within the system, and follow-up emails are automatically sent to customers based on their emotions, improving sales efficiency and customer satisfaction.

[1277] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[1278] Processing Steps

[1279] Step 1:

[1280] The server retrieves sales data from a web-based spreadsheet, which includes customer names, email addresses, last contact dates, etc. The input is the spreadsheet data, and the output is the retrieved sales data.

[1281] Step 2:

[1282] The server analyzes the last contact date of the acquired sales data. Here, the sales data is input, and the difference between the last contact date of each customer and the current date is calculated. As output, data that is older than a specified period (e.g., 30 days) is selected.

[1283] Step 3:

[1284] The server uses an emotion engine to analyze customer sentiment from the filtered sales data. The inputs are the filtered customer data and the emotion engine, and the output is the emotional state (negative, positive, etc.) of each customer.

[1285] Step 4:

[1286] The server selects an appropriate email template based on the results of the sentiment analysis, and generates a customized email body by linking the email template with customer information in the sales data. The inputs are the sentiment analysis results and the email template, and the output is an individually customized email body.

[1287] Step 5:

[1288] The server then sends the generated email to the customer using a web-based email service. At this stage, it also adjusts the timing of sending based on the results of sentiment analysis. The input is a customized email body and the customer's email address, and the output is the actual email sent.

[1289] Specific operation explanation

[1290] Step 1:

[1291] The server uses an API to read data from a web-based spreadsheet, retrieving information such as customer name, email address, and last contact date, and then stores the spreadsheet data on the server.

[1292] Step 2:

[1293] The server processes the acquired sales data using an analysis program to calculate the difference between the last contact date for each customer and the current date (for example, by using the Python datetime module to calculate the difference in days), and then creates a list of customers who need follow-up.

[1294] Step 3:

[1295] The server then calls an emotion engine based on the selected sales data to evaluate each customer's emotions. This involves inputting text data such as past emails and notes into the emotion analysis algorithm to obtain emotion tags such as negative or positive.

[1296] Step 4:

[1297] Based on the results of the sentiment analysis, the server selects an HTML email template and replaces certain placeholders with customer information, for example, replacing "{{name}}" in the template with each customer's name to generate a customized email body.

[1298] Step 5:

[1299] The server then sends the generated customized email to the customer using a web-based email service (e.g., MailApp), where the timing of the email is adjusted based on the results of the sentiment analysis: negative emails are sent at a more timely pace, and positive emails are sent immediately.

[1300] The above are the specific processing steps of the system.

[1301] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.

[1302] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[1303] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.

[1304] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.

[1305] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.

[1306] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.

[1307] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).

[1308] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.

[1309] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."

[1310] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values ​​indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values ​​indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.

[1311] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).

[1312] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.

[1313] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.

[1314] Alternatively, the specific processing program 56 may be stored in a storage device such as a server connected to the data processing device 12 via the network 54, and the specific processing program 56 may be downloaded and installed on the computer 22 in response to a request from the data processing device 12.

[1315] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.

[1316] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.

[1317] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.

[1318] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.

[1319] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.

[1320] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.

[1321] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.

[1322] The following is further disclosed regarding the above embodiment.

[1323] (Claim 1)

[1324] means for retrieving sales data from the data storage means;

[1325] A means for analyzing the last contact date of the acquired sales data and selecting data for which a specified period of time has elapsed;

[1326] A means for generating an email template based on the selected data and linking the email template with customer information in the sales data;

[1327] a means for sending the generated email to customers;

[1328] A system including:

[1329] (Claim 2)

[1330] 2. The system of claim 1, wherein the email template is in HTML format, and further comprising means for replacing placeholders in the template with customer information.

[1331] (Claim 3)

[1332] 2. The system of claim 1, wherein the sales data is obtained from a Google spreadsheet and the emails are sent using Google's MailApp service.

[1333] "Example 1"

[1334] (Claim 1)

[1335] means for retrieving sales data from a data storage means;

[1336] A means for analyzing the last contact date of the acquired sales data and selecting data for which a specified period of time has elapsed;

[1337] a means for generating a common email format based on the selected data and linking customer information in the sales data with the common email format;

[1338] a means for sending the generated email to customers;

[1339] means for calculating the number of days elapsed;

[1340] A system including:

[1341] (Claim 2)

[1342] 2. The system according to claim 1, wherein the common mail format is in a markup language format, and further comprising means for replacing placeholders in the template with customer information.

[1343] (Claim 3)

[1344] 2. The system according to claim 1, wherein the sales data is obtained from an electronic spreadsheet tool and the email is sent using a communication service.

[1345] "Application Example 1"

[1346] (Claim 1)

[1347] means for retrieving transaction data from a data storage means;

[1348] A means for analyzing the final settlement date of the acquired transaction data and selecting data for which a specified period of time has elapsed;

[1349] means for generating an electronic message template based on the selected data and associating the electronic message template with customer information in the transaction data;

[1350] means for transmitting the generated electronic message to the customer;

[1351] A system including:

[1352] (Claim 2)

[1353] 10. The system of claim 1, wherein the electronic message template is in HTML format, and further comprising means for replacing placeholders in the template with customer information.

[1354] (Claim 3)

[1355] 10. The system of claim 1, wherein the transaction data is obtained from an online structured table and the electronic message is sent using a network-enabled communication application.

[1356] "Example 2: Combining Emotion Engines"

[1357] (Claim 1)

[1358] means for retrieving sales data from the data storage means;

[1359] A means for analyzing the last contact date of the acquired sales data and selecting data for which a specified period of time has elapsed;

[1360] A means for generating an email template based on the selected data and linking personal information in the sales data with the email template;

[1361] A means for analyzing a person's emotions using an emotion engine and adjusting email templates and sending timings;

[1362] a means for sending the generated email to a person;

[1363] A system including:

[1364] (Claim 2)

[1365] 2. The system of claim 1, wherein the email template is in a markup language format, and further comprising means for replacing placeholders in the template with personal information.

[1366] (Claim 3)

[1367] 2. The system of claim 1, wherein the sales data is obtained from an online spreadsheet and the email is sent using a communication service.

[1368] "Application example 2 when combining emotion engines"

[1369] Thinking of new inventions

[1370] Extracted new part

[1371] 1. Customer emotion recognition with emotion engine.

[1372] 2. Customize email templates based on customer sentiment.

[1373] 3. Analysis and email sending via smart devices (smartphones, web browsers, etc.).

[1374] (Claim 1)

[1375] means for retrieving sales data from the data storage means;

[1376] A means for analyzing the last contact date of the acquired sales data and selecting data for which a specified period of time has elapsed;

[1377] a means for analyzing customer sentiment using a sentiment engine;

[1378] A means for generating an email template based on the results of the sentiment analysis and linking the email template with customer information in the sales data;

[1379] a means for sending the generated email to customers;

[1380] A system including:

[1381] (Claim 2)

[1382] 2. The system according to claim 1, wherein the email template is in HTML format, and further comprising means for replacing placeholders in the template with customer information.

[1383] (Claim 3)

[1384] The system according to claim 1, further comprising means for adjusting the timing of sending emails based on the result of the sentiment analysis.

[1385] (Claim 4)

[1386] 10. The system of claim 1, wherein the sales data is obtained from a web-based spreadsheet and the email is sent using a web-based email service. [Explanation of symbols]

[1387] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>

Claims

1. means for retrieving sales data from the data storage means; A means for analyzing the last contact date of the acquired sales data and selecting data for which a specified period of time has elapsed; A means for generating an email template based on the selected data and linking the email template with customer information in the sales data; a means for sending the generated email to customers; A system including:

2. 2. The system of claim 1, wherein the mail template is in HTML format, and further comprising means for replacing placeholders in the template with customer information.

3. 2. The system of claim 1, wherein the sales data is obtained from a Google spreadsheet and the emails are sent using Google's MailApp service.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A