Apparatus for adjusting initial sale price based on historical accommodation data, and control method thereof
The server device optimizes accommodation pricing through machine learning, predicting demand and adjusting initial prices based on past data patterns, improving sales accuracy and profit maximization.
Patent Information
- Application Number
- PCT/KR2025/002384
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-05-16
- Filing Date
- 2025-02-19
- Publication Date
- 2025-08-28
AI Technical Summary
Accommodation providers face challenges in dynamically adjusting room prices to maximize profits due to fixed supply and demand uncertainties, requiring accurate demand forecasting and initial price optimization.
A server device uses a machine learning algorithm to predict room demand by analyzing past stay data, adjusting initial room prices based on similar demand patterns, and applying weighted averages of past prices to optimize future pricing.
Enhances the accuracy of dynamic sales adjustments and maximizes sales by setting appropriate initial room prices, even in the face of unpredictable events.
Smart Images

Figure KR2025002384_28082025_PF_FP_ABST
Abstract
Description
Initial sales price adjustment device based on past stay date data and its control method
[0001] Cross-citation with related applications
[0002] This invention claims the benefit of priority to Korean Patent Application No. 10-2024-0024094, filed February 20, 2024, and Korean Patent Application No. 10-2024-0064092, filed May 16, 2024, the entire contents of which are incorporated herein by reference.
[0003] Technology field
[0004] The embodiments disclosed in this document relate to a server device for adjusting the initial price of a room and a method for controlling the server device.
[0005] Accommodation products are characterized by a limited supply and a fixed sales deadline, and sellers aim to maximize profits by optimizing the selling price.
[0006] In particular, since the total supply of accommodation providers is fixed in the short term, a dynamic price adjustment model that dynamically adjusts accommodation prices requires accurate demand forecasting and setting appropriate initial prices. Accordingly, research is ongoing in the field of technology for dynamically adjusting accommodation prices to develop algorithms that adjust initial room prices to maximize profits.
[0007] According to one embodiment disclosed in this document, a server device and a control method of the server device are provided for predicting room demand using a machine learning algorithm based on room data, and adjusting an initial price for a future stay date based on the room price of a stay date showing similar demand among past stay dates.
[0008] The technical problems of the embodiments disclosed in this document are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the descriptions below.
[0009] A server device according to one embodiment includes a communication unit that receives room data for adjusting an initial room price, a memory that stores the room data, and a control unit that extracts features for predicting room demand from the room data and generates a reservation number prediction model that uses preprocessed data generated as learning data, inputs the room data into the reservation number prediction model to derive a predicted reservation number for a target stay date as an output value, derives a past stay date in which a difference between the predicted reservation number for the target stay date and the number of reservations is equal to or less than a reference value, and adjusts the initial room price for the target stay date based on the initial room price for the past stay date.
[0010] The above control unit can derive the maximum reservation price for the target stay date by weighting the price data of multiple past stay dates and adjust the initial room price for the target stay date based on the initial room price for the past stay date corresponding to the maximum reservation price for the target stay date.
[0011] The above control unit can derive the maximum reservation price of the plurality of past stay dates from the price data of the plurality of past stay dates, and apply a weight to the maximum reservation price of the plurality of past stay dates to perform a weighted average.
[0012] The above control unit can derive distance weights based on the date interval between the target stay date and the plurality of past stay dates, and apply the distance weights to the maximum reservation price of the plurality of past stay dates to perform the weighted average.
[0013] The above control unit can derive the distance weight by adding up the demand difference value and the day difference value of the plurality of past stay dates and the future stay dates.
[0014] The control unit may derive a predicted number of reservations for the target stay date based on the prediction model for the number of reservations, and determine the difference between the number of reservations for the plurality of past stay dates and the predicted number of reservations for the target stay date as the demand difference value.
[0015] The control unit may set the day difference value when the day data is of the same type to have a greater value than the day difference value when the day data is of different types, based on the day data included in the room data.
[0016] The control unit can adjust the initial room price for the target stay date based on satisfying at least one of a first condition that the room price for the target stay date exceeds a price buffer and a second condition that the room price for the target stay date needs to change due to a change in demand.
[0017] The above control unit can determine a stay date for which the difference between the number of predicted reservations and the number of reservations for the target stay date is within a standard percentage range as the past stay date.
[0018] The above control unit can transmit the initial room price for the target stay date adjusted through the above communication unit to an external device.
[0019] A control method of a server device according to one embodiment includes receiving room data for adjusting an initial room price, extracting features for predicting room demand from the room data, generating a reservation number prediction model that uses the generated preprocessing data as learning data, inputting the room data into the reservation number prediction model to derive a predicted reservation number for a target stay date as an output value, deriving a past stay date in which a difference between the predicted reservation number for the target stay date and the number of reservations is equal to or less than a reference value, and adjusting the initial room price for the target stay date based on the initial room price for the past stay date.
[0020] Adjusting the initial room price for the target stay date may include calculating a weighted average of price data for multiple past stay dates to derive a maximum reservation price for the target stay date, and adjusting the initial room price for the target stay date based on the initial room price for the past stay date corresponding to the maximum reservation price for the target stay date.
[0021] Weighting the above price data may include deriving the maximum reservation price of the plurality of past stay dates from the price data of the plurality of past stay dates, applying a weight to the maximum reservation price of the plurality of past stay dates, and performing a weighted average.
[0022] Weighting the above price data may include deriving a distance weight based on the date interval between the target stay date and the plurality of past stay dates, and applying the distance weight to the maximum reservation price of the plurality of past stay dates to perform the weighted average.
[0023] A control method of a server device according to one embodiment may further include deriving the distance weight by adding up the demand difference value and the day difference value of the plurality of past stay dates and the future stay dates.
[0024] A control method of a server device according to one embodiment may further include deriving a predicted number of reservations for the target stay date based on the prediction model for the number of reservations, and determining a difference between the number of reservations for the plurality of past stay dates and the predicted number of reservations for the target stay date as the demand difference value.
[0025] A control method of a server device according to one embodiment may further include setting, based on the day of the week data included in the room data, the day of the week difference value in a case where the day of the week data is of the same type to have a greater value than the day of the week difference value in a case where the day of the week data is of a different type.
[0026] Adjusting the initial room price for the target stay date may include adjusting the initial room price for the target stay date based on satisfying at least one of a first condition that the room price for the target stay date exceeds a price buffer and a second condition that a change in the room price for the target stay date is required due to a change in demand.
[0027] Deriving the above past stay date may include determining a stay date for which the difference between the predicted number of reservations for the target stay date and the number of reservations is within a standard percentage range as the past stay date.
[0028] The above control unit may further include transmitting the initial room price for the target stay date adjusted through the communication unit to an external device.
[0029] According to a server device according to one embodiment, demand can be predicted based on a reservation number prediction model and the initial price of a room can be set, so that when a large change in the room price is required due to a change in demand or the opening time of sales of an accommodation product, the initial price of the room can be appropriately set to improve the accuracy of the dynamic sales adjustment system and maximize sales.
[0030] FIG. 1 illustrates a control block diagram of a server device according to one embodiment.
[0031] FIG. 2 illustrates input values and final result values of a prediction model utilized in a server device according to one embodiment.
[0032] FIGS. 3 and 4 illustrate a schematic flowchart of a server device according to one embodiment predicting room demand and adjusting the initial room price.
[0033] FIG. 5 illustrates a process of matching future stay dates with past stay dates in a server device according to one embodiment.
[0034] FIG. 6 illustrates an example of a server device according to one embodiment of the present invention for adjusting the initial room price.
[0035] FIG. 7 illustrates a flowchart of a method for controlling a server device according to one embodiment.
[0036] FIG. 8 continues to illustrate a flowchart regarding a method for controlling a server device according to one embodiment.
[0037] Hereinafter, various embodiments disclosed in this document will be described in detail with reference to the attached drawings. In this document, identical components in the drawings are designated by the same reference numerals, and redundant descriptions of identical components are omitted.
[0038] With respect to the various embodiments disclosed in this document, specific structural and functional descriptions are merely illustrative for the purpose of explaining the embodiments, and the various embodiments disclosed in this document may be implemented in various forms and should not be construed as being limited to the embodiments described in this document.
[0039] The expressions "first," "second," "first," or "second" used in various embodiments may describe various components, regardless of order and / or importance, and do not limit the components. For example, without departing from the scope of the embodiments disclosed herein, a first component may be renamed a second component, and similarly, a second component may also be renamed a first component.
[0040] The terms used in this document are intended solely to describe specific embodiments and may not be intended to limit the scope of other embodiments. Singular expressions may include plural expressions unless the context clearly indicates otherwise.
[0041] All terms used herein, including technical or scientific terms, have the same meaning as commonly understood by those of ordinary skill in the art of the embodiments disclosed herein. Terms defined in commonly used dictionaries may be interpreted as having the same or similar meaning in the context of the relevant technology, and unless explicitly defined herein, they shall not be interpreted in an idealized or overly formal sense. In some cases, even if a term is defined herein, it cannot be interpreted to exclude the embodiments disclosed herein.
[0042] The operating principle and embodiments of the present invention will be described with reference to the attached drawings below.
[0043] FIG. 1 illustrates a control block diagram of a server device according to one embodiment.
[0044] Referring to FIG. 1, a server device (1) according to one embodiment includes a control unit (100) including at least one processor (110) and a memory (120) and a communication unit (200), and communicates with an external device (2) through the communication unit (200) to predict room demand and adjust the initial room price.
[0045] A server device (1) according to one embodiment may be implemented as various computing devices such as a workstation, a cloud, a data drive, a data station, etc. In addition, the server device (1) may be implemented as one or more server devices (1) that are physically or logically separated based on function, detailed configuration of function, data, etc., and data may be transmitted and received and the transmitted and received data may be processed through communication between each server device (1).
[0046] An external device (2) communicating with a server device (1) may include a user terminal and an external server device that transmits an initial room price adjusted by the server device (1).
[0047] Specifically, when the external device (2) is a user terminal, the control unit (100) of the server device (1) can transmit the adjusted initial room price to the user terminal so that the user can check it. At this time, the user terminal may include, but is not limited to, a personal computer, a terminal, a portable telephone, a smart phone, a handheld device, a wearable device, etc.
[0048] In addition, when the external device (2) is an external server device, the external server device can be implemented as various computing devices, and the external server device can be implemented as one or more external server devices, and data can be transmitted and received and the transmitted and received data can be processed through communication between each external server device.
[0049] A server device (1) according to one embodiment may refer to any electronic device including a processor (110) and a memory (120), and the server device (1) may include a user terminal capable of performing server functions. Each component of the server device (1) will be described in detail below.
[0050] The communication unit (200) may include a wireless communication unit (210) and a wired communication unit (220) to communicate with an external device (2). The communication unit (200) may receive room data to be used as learning data from a separately provided external device (2), or may transmit and receive programs and various data for machine learning.
[0051] The wireless communication unit (210) may include at least one of a short-range communication module and a long-range communication module.
[0052] The short-range communication module can communicate with an external device (2) adjacent to the server device (1) using a short-range communication method. Here, the short-range communication module can utilize one of the following communication methods: Bluetooth, Bluetooth low energy, infrared data association (IrDA), Zigbee, Wi-Fi, Wi-Fi direct, Ultra Wideband (UWB), or near field communication (NFC).
[0053] The remote communication module may include a communication module that performs various types of remote communication and may include a mobile communication unit. The mobile communication unit may transmit and receive a wireless signal with at least one of a base station, an external terminal, and an external device (2) on a mobile communication network. In addition, the remote communication module may communicate with an external device (2) or an external device (2) such as another electronic device through a surrounding access point (AP). The access point (AP) may connect a local area network (LAN) to which a server device is connected to a wide area network (WAN) to which a communication server is connected. Accordingly, the server device (1) may be connected to the communication server through the wide area network (WAN) with the external device (2) so that the server device (1) may communicate with each other.
[0054] The wired communication unit (220) can connect to a wired communication network and communicate with an external device (2) through the wired communication network. For example, the wired communication unit (220) can connect to a wired communication network through Ethernet (IEEE 802.3 technology standard) or connect to a wired communication network through CAN communication, and transmit and receive data with the external devices (2) through the wired communication network.
[0055] A server device (1) according to one embodiment may include an input / output interface (not shown). An interface may be provided that connects an input device (not shown) such as a keyboard, mouse, or touch panel, an output device (not shown) such as a display, and a processor (110) to transmit and receive data.
[0056] The memory (120) can store various information necessary for operating the server device (1). Specifically, the memory (120) can store an operating system and a program necessary for operating the server device (1), or store data necessary for operating the server device (1).
[0057] Specifically, the memory (120) can store various programs related to room data preprocessing, deriving predicted reservation counts, deriving initial room prices, and machine learning algorithms. Furthermore, the memory (120) can store feature data utilized in machine learning.
[0058] The memory (120) may include volatile memory (120) such as Static Random Access Memory (S-RAM) and Dynamic Random Access Memory (D-RAM) for temporarily storing data. In addition, the memory (120) may include nonvolatile memory (120) such as Read Only Memory (ROM), Erasable Programmable Read Only Memory (EPROM), and Electrically Erasable Programmable Read Only Memory (EEPROM) for long-term storage of data.
[0059] The processor (110) outputs control signals to control the server device (1) as a whole. The processor (110) may include one or more central processing units (CPUs) and graphics processing units (GPUs). In this case, the processor (110) may be implemented as an array of a plurality of logic gates, or may be implemented as a combination of a general-purpose microprocessor (110) and a memory (120) storing a program that can be executed on the microprocessor (110).
[0060] The aforementioned memory (120) and processor (110) may be included in the control unit (100), and the control unit (100) may control the aforementioned components to determine the target cumulative reservation number.
[0061] Specifically, the control unit (100) can create a reservation count prediction model that uses preprocessed data generated by extracting features for room demand prediction from room data as learning data. In this case, the reservation count prediction model may refer to a prediction model that achieves optimal performance by combining multiple reservation count prediction models.
[0062] In addition, the control unit (100) can input room data into a reservation number prediction model to derive the predicted reservation number for a target stay date as an output value, and can derive a past stay date where the difference between the predicted reservation number for the target stay date and the number of reservations is less than or equal to a reference value.
[0063] At this time, the target stay date may refer to a future stay date based on the present time, or may refer to a stay date that is the target for adjusting the initial price of the room, and the past stay date may refer to a stay date on which a reservation was made in the past based on the present.
[0064] Additionally, the control unit (100) can adjust the initial room price for the target stay date based on the initial room price for past stay dates. That is, the control unit (100) can determine or adjust the initial price for the target stay date based on the room price for past stay dates with similar demand as the target stay date. Accordingly, even in systems that dynamically adjust room product prices, if an unpredictable event (e.g., a concert, festival, etc.) occurs, a large price fluctuation is possible, thereby maximizing sales.
[0065] The control unit (100) can derive the maximum reservation price for the target stay date by weighting the price data of multiple past stay dates to adjust the initial room price for the target stay date, and can adjust the initial room price for the target stay date based on the initial room price of the past stay date corresponding to the maximum reservation price for the target stay date.
[0066] At this time, the control unit (100) can derive the maximum reservation price from the room price data of multiple past stay dates, and can apply a distance weight to the maximum reservation price to perform a weighted average.
[0067] Specifically, the control unit (100) can derive a distance weight by adding up the demand difference values and the day difference values of a plurality of past stay dates and future stay dates. To this end, the control unit (100) determines the difference in the number of predicted reservations for a plurality of past stay dates and a target stay date derived by a reservation number prediction model as the demand difference value, and the control unit (100) can set the day difference value in cases where the day data is of the same type to have a larger value than the day difference value in cases where the day data is of different types.
[0068] That is, the control unit (100) can convert the date interval into a distance weight based on the fact that the date intervals between the future target stay date and the multiple past stay dates that are the target of matching are all different, and can derive a weighted average by applying the distance weight to the maximum reservation price of each of the multiple past stay dates.
[0069] At this time, the control unit (100) may determine a distance weight by adding up the demand difference value and the day of the week difference value between the past stay dates and the target stay date. Here, the demand difference value may mean an indicator indicating the extent of the difference in reservation demand between multiple past stay dates and the target stay date, and the day of the week difference value may be determined based on whether multiple past stay dates and the target stay date match any of the weekdays, Fridays, and Saturdays included in the day of the week data.
[0070] Specifically, the control unit (100) can derive the predicted number of reservations for the target stay date based on the reservation number prediction model, and determine the difference between the number of reservations for multiple past stay dates and the predicted number of reservations for the target stay date as the demand difference value. In other words, the control unit (100) can utilize the predicted number of reservations for the future target stay date, and utilize the actual number of reservations for past stay dates.
[0071] In addition, the control unit (100) can determine the day difference value based on the day data (weekday, Friday, and Saturday) included in the room data so that the day difference value when the day data is of the same type has a greater value than the day difference value when the day data is of different types.
[0072] Since the weighted average result corresponds to the maximum reservation price for the target stay date, the control unit (100) can derive the average of the sales price, reservation price, competitive room sales price, and competitive room reservation price for past stay dates that have the maximum reservation price most similar to the maximum reservation price for the target stay date, and can use the average value to determine or adjust the initial room price for the target stay date.
[0073] For example, the control unit (100) can determine the lowest selling price and the highest selling price by setting a price buffer based on the average of the sales price, reservation price, competing room sales price, and competing room reservation price of past stay dates that have the highest reservation price most similar to the maximum reservation price of the target stay date, and then the control unit (100) can derive the final selling price by taking into account the set value of the room seller.
[0074] In addition, the control unit (100) can select the initial room price of the target stay date as an adjustment target to be adjusted when at least one of the first condition that the room price of the target stay date exceeds the price buffer and the second condition that the room price of the target stay date needs to be adjusted due to a change in demand is satisfied.
[0075] That is, the control unit (100) can determine whether to adjust the initial room price of the target stay date in one of the following cases: when the room price of the predicted target stay date exceeds the previously set price buffer and thus the initial price itself needs to be changed, or when a large price change is required due to a demand change due to an event such as a commercial area or season.
[0076] In addition, the control unit (100) can determine a past stay date as a stay date for which the difference between the number of predicted reservations for the target stay date and the number of reservations is within a standard percentage range in the upper and lower ranges.
[0077] The control unit (100) can transmit the initial room price of the adjusted target stay date to an external device (2), and can provide information on whether the initial room price has changed and the amount of change to a user who wants to dynamically adjust the room price.
[0078] FIG. 2 illustrates input values and final result values of a prediction model utilized in a server device according to one embodiment.
[0079] The control unit (100) can train a prediction model (b) using potential room demand data, reservation information data, and seasonality data as training data (a). Here, training may include a fitting process that adjusts parameters of a statistical time series model and builds a model that fits the time series data.
[0080] When the control unit (100) includes an artificial intelligence-only processor (110) (e.g., NPU) for training the prediction model (b), the processor (110) can train the artificial neural network by utilizing the weight data stored in the memory (120) as training data for the artificial neural network.
[0081] Examples of learning algorithms include, but are not limited to, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning.
[0082] An artificial neural network can be composed of multiple neural network layers. Each of the multiple neural network layers has multiple weight values and performs neural network operations through operations between the calculation results of the previous layer and the multiple weights. The multiple weights of the multiple neural network layers can be optimized based on the learning results of an artificial intelligence model. For example, during the learning process, the multiple weights can be updated so that the loss or cost values obtained from the artificial intelligence model are reduced or minimized.
[0083] The artificial neural network may include a deep neural network (DNN), for example, a convolutional neural network (CNN), a deep neural network (DNN), a recurrent neural network (RNN), a restricted boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), or a deep Q-network (900) (Deep Q-Networks), but is not limited to the examples described above.
[0084] The control unit (100) can learn the relationship between the potential demand data of the room, reservation information data, and seasonality data and the predicted number of reservations based on the selected artificial intelligence model.
[0085] That is, the control unit (100) takes as input data potential demand data of the room, reservation information data and seasonality data, and outputs the predicted number of reservations for future stay dates based on a prediction model (b) including prediction techniques such as classification and regression, and can derive initial price data (c) based on the predicted number of reservations.
[0086] FIGS. 3 and 4 illustrate a schematic flowchart of a server device according to one embodiment predicting room demand and adjusting the initial room price.
[0087] The configurations 101 to 107 in FIGS. 3 and 4 are implemented in the form of software blocks, and can be stored in memory (120) and executed by the processor (110).
[0088] First, referring to FIG. 3, the control unit (100) can receive room data via the communication unit (200) and store the received room data in the raw data DB (121). At this time, the room data can include basic information, price information, reservation information, room location information, guest feedback information, service information, time-based reservation information, and availability information.
[0089] Specifically, basic information may include room number or name, room type (e.g., standard, suite, deluxe), room size and capacity (e.g., single bed, queen bed, twin bed), price information may include daily or hourly price information, seasonal price change information, discount information, and promotional information, and reservation information may include reservation status information, reservation date information, reservation time information, reservation customer information (e.g., name, contact information, email, etc.), and previous reservation history (preference) information.
[0090] Additionally, room location information may include the name of the accommodation, location information (city, region, etc.), nearby tourist attractions and facility information, and guest feedback information may include previous customer review information, evaluation information, and information on improvements made through feedback and reviews.
[0091] Additionally, service information may include information on in-room facilities (wireless internet, TV, refrigerator, bathroom, etc.), information on accommodation facilities (restaurant, swimming pool, fitness center, etc.), and information on room services and auxiliary facilities, and time-based reservation information and availability information may include information on availability of rooms at a specific time period, and information on the reserved time period and date.
[0092] The control unit (100) may perform feature engineering in the feature engineering execution unit (101) to process the guest room data received through the communication unit (200) into learning data. Feature engineering may refer to a task of improving the performance of a prediction model and enhancing prediction accuracy by appropriately modifying, selecting, or generating data characteristics or features in data analysis.
[0093] The control unit (100) can store features generated by feature engineering in a feature data DB (122) and perform feature selection in the feature data DB (122).
[0094] Specifically, the feature selection unit (102) of the control unit (100) can select suitable features to predict room demand. Feature selection is one of the data preprocessing processes used in machine learning and data analysis, and can refer to the task of selecting the most important features (characteristics) for model training and removing unnecessary features.
[0095] The control unit (100) can check the entire feature list extracted from the raw data DB (121) and evaluate feature importance to select suitable features for room demand prediction. That is, the control unit (100) can evaluate feature importance to determine which feature among various features related to room demand prediction plays the most important role in demand prediction.
[0096] The control unit (100) can utilize an exogenous factor consideration model (SARIMAX) as a first learning model to generate a reservation number prediction model, and can utilize an additive advance booking model (ABM) as a second learning model.
[0097] At this time, the feature selection unit (102) of the control unit (100) can select the most important variable that can improve model performance among the given exogenous variables. For example, the control unit (100) can analyze the correlation between the exogenous variable and time series data to determine which variables are important, evaluate the impact of a specific variable on the model's prediction, and measure the importance of the variable.
[0098] Additionally, the control unit (100) can consider the size or statistical significance of the regression coefficient, and the control unit (100) can perform feature selection by comparing the performance between a model including a specific variable and a model excluding the variable.
[0099] The control unit (100) can perform feature selection and store the selected features in a metadata DB (123), and the metadata DB (123) can mean a database that stores and manages metadata related to a project for predictive models and demand forecasting.
[0100] Thereafter, the prediction model fitting unit (103) of the control unit (100) can fit the prediction model to the given data. Specifically, the control unit (100) can fit the parameters of the prediction model to the data so that the model can operate well on the given data, and can adjust the parameters so that the model can generalize predictions for the given data, including model learning.
[0101] Specifically, the control unit (100) represents an optimization process for the coefficients and order of the prediction model, and the optimization process may mean a process of optimizing the performance of the prediction model by fitting it to specific time series data.
[0102] At this time, the order and coefficients of the prediction model optimized by the control unit (100) may include AR (AutoRegressive) and MA (Moving Average) orders, difference orders, Seasonal AR and Seasonal MA orders, Seasonal difference orders, and exogenous variables.
[0103] The control unit (100) can optimize model performance through predictive model fitting and find optimal parameter values to enable the model to better generalize to data. Thereafter, the control unit (100) can store the parameters for which fitting has been performed in the metadata DB (123).
[0104] The predictive model tuning unit (104) of the control unit (100) can perform parameter tuning to further improve the performance of the learned model. Specifically, the control unit (100) can find an optimal parameter combination to improve model performance, and can select parameters that maximize the model's generalization performance using a validation algorithm, such as a cross-validation algorithm.
[0105] Thereafter, the control unit (100) can store the tuned prediction model based on the optimized parameters in the prediction model DB (124).
[0106] Next, referring to FIG. 4, the predicted reservation count derivation unit (105) of the control unit (100) can derive the predicted reservation count by lead time by combining the first learning model and the second learning model with specific weights.
[0107] Specifically, the control unit (100) can derive the number of reservations to predict the target cumulative number of reservations, and can utilize multiple learning models to derive the number of reservations.
[0108] The control unit (100) can generate a prediction model that exhibits optimal performance by combining the first learning model and the second learning model. Specifically, the first learning model and the second learning model may refer to models that exhibit different performance.
[0109] For example, the first learning model may include an exogenous factor consideration model (SARIMAX) that utilizes confirmed reservation data for past stays, and the second learning model may include an additive advance booking model (ABM) that utilizes confirmed reservation data for past stays and predicted reservation data for future stays.
[0110] The control unit (100) can use confirmed reservation data for past stay dates as learning data to train the first learning model. For example, the control unit (100) can use data from January 1st, two years prior to the current date, to the day before to predict the number of reservations for 120 future stay dates.
[0111] Specifically, assuming that the current date is October 24, 2023, the control unit (100) can use reservation data for stay dates from January 1, 2021 to October 23, 2023 to predict the number of reservations for stay dates for 120 days in the future, including October 24, 2023.
[0112] Additionally, the control unit (100) can utilize unconfirmed reservation data for future stay dates in addition to confirmed reservation data for past stay dates to train the second learning model.
[0113] Specifically, assuming the current date to be October 24, 2023, the control unit (100) can use the reservation data by lead time of the stay date from (2023 / 10 / 23 - 8 weeks) to (2023 / 10 / 23 + 120 days) to predict the total number of reservations by stay date for the next 120 days including October 24, 2023.
[0114] Thereafter, the control unit (100) can derive a weight (Wt*) that most ideally combines the first learning model and the second learning model through learning. That is, the control unit (100) can assign a greater weight (Wt*) to a model that predicts closer to the actual value, which is the actual number of reservations, among the first learning model and the second learning model in lead time units.
[0115] The control unit (100) can utilize the actual number of reservations for the past 12 weeks of stay dates and the predicted values of the first learning model and the second learning model from 120 days prior to the lead time for the stay dates to derive the weight (Wt*).
[0116] Accordingly, the control unit (100) can derive the number of predicted reservations based on the weight (Wt*) applied to the first learning model and the weight (1-Wt*) applied to the second learning model, and since the result value of each learning model may vary depending on the room data and the prediction accuracy may vary, a plurality of prediction models can be combined to derive an optimal prediction model.
[0117] Thereafter, the past stay date derivation unit (106) of the control unit (100) can select past stay dates that have similar demand to the target stay date. As described above, the control unit (100) can select multiple past stay dates for which the difference between the predicted number of reservations for the target stay date calculated by the predicted number of reservations derivation unit (105) and the number of reservations is within a standard percentage range.
[0118] Here, the number of stay days selected by the control unit (100) as past stay days can vary depending on the designer.
[0119] Thereafter, the initial price adjustment unit (107) of the control unit (100) derives the maximum reservation price for the target stay date by weighting the price data of multiple past stay dates that match the target stay date, and the control unit (100) can adjust the initial price with the price data of past stay dates that correspond to the maximum reservation price for the target stay date.
[0120] The control unit (100) can transmit the adjusted initial price to an external device (2) via a communication unit (200), and a user using the external device (2) can apply the adjusted price to a dynamic sales price adjustment system or check it in real time.
[0121] Although each step described above in FIGS. 3 and 4 is depicted sequentially, each step may be performed in parallel by the CPU and GPU.
[0122] FIG. 5 illustrates a process of matching future stay dates with past stay dates in a server device according to one embodiment.
[0123] Referring to FIG. 5, the control unit (100) can determine a past stay date (a) to match with a future stay date (c), which is the target stay date for adjusting the initial room price, based on the current time point (b). Specifically, the control unit (100) can input room data for the future stay date (c), for which the initial room price is to be adjusted, into the reservation count prediction model.
[0124] The control unit (100) can determine a future stay date (c) that satisfies either a first condition in which the room price of a specific stay date exceeds a price buffer or a second condition in which the room price of a specific stay date requires a change due to a change in demand.
[0125] Thereafter, the control unit (100) can derive the predicted number of reservations for the future stay date (c) to determine the extent to which the price adjustment for the future stay date (c) should be made. For example, if the predicted number of reservations for the future stay date (c) is derived as x, the control unit (100) can determine a specific past stay date whose predicted number of reservations falls within the range of x±y% as the past stay date (a).
[0126] At this time, the number of d1, d2, d3 and dN included in the past stay date (a) may vary depending on the system and designer, and the control unit (100) may collect price data for each of the past stay dates (a) determined as multiple.
[0127] For example, the control unit (100) can collect the minimum (min), maximum (max), median, mean, 25th percentile, and 75th percentile for the reservation price L days in advance of room type A, the sale price L days in advance of room type A, the reservation price of a price-based competitive room of room type A, and the sale price of a price-based competitive room of room type A, as price data, respectively.
[0128] In addition, the control unit (100) can collect the minimum (min), maximum (max), median, mean, 25th percentile, and 75th percentile as price data for the reservation price of room type A L days in advance, the sale price of room type A L days in advance, the reservation price of price-based competitive rooms of room type A, and the sale price of price-based competitive rooms of room type A, respectively, for the remaining d2, d3, and dN.
[0129] Thereafter, the control unit (100) can derive the maximum reservation price included in the price data collected for the past stay date (a), and determine the maximum reservation price for the future stay date (c) by taking a weighted average of the maximum reservation prices for multiple past stay dates (a).
[0130] The control unit (100) can redefine distance weights for weighted average, and the distance weights can be determined based on the mathematical formula below.
[0131] [Mathematical Formula 1]
[0132] Distance weight = max(2 - date_distance, 0.2)
[0133] [Equation 2]
[0134] Date distance (date_distance) = demand difference (demand_diff) + day difference (day_diff)
[0135] [Equation 3]
[0136] Demand difference (demand_diff) = absolute value of (number of reservations predicted for past stays (demade_past) - number of reservations predicted for future stays (demand_future))
[0137] Additionally, the control unit (100) can have 0 for the day of the week difference value if the day of the week data type (day_group) is the same, and 1 if it is different.
[0138] The control unit (100) can derive the maximum reservation price for the past stay date (a) using the distance weight determined above using the mathematical formula below.
[0139] [Equation 4]
[0140] The maximum reservation price for future stays (max_reservation_price) = (maximum reservation price of d1 * distance weight of d1) + (maximum reservation price of d2 * distance weight of d2) + (maximum reservation price of d3 * distance weight of d3) + 쪋 + (maximum reservation price of dN * distance weight of dN)
[0141] Thereafter, the control unit (100) can adjust the initial price of the future stay date (c) based on the average value of the sales price, reservation price, competitive room sales price, and competitive room reservation price of the past stay date (e.g., d2) that is most similar to the maximum reservation price of the derived future stay date (c).
[0142] Accordingly, since data from past stay dates can be utilized in the process of determining the initial price for a future stay date (c), the room sales price can be adjusted to an appropriate initial price even if an exceptional case that cannot be handled by the existing dynamic sales price adjustment system occurs.
[0143] FIG. 6 illustrates an example of a server device according to one embodiment of the present invention for adjusting the initial room price.
[0144] Referring to FIG. 6, the control unit (100) can determine a target for adjusting the initial price based on the sales price level (a), target sales volume trend (b), whether the target has been achieved (c), and the price adjustment expectation value (d).
[0145] Types 1 to 6 shown are only examples, and the targets for adjusting the initial price of a room may vary depending on the system designer and user.
[0146] Specifically, the control unit (100) can determine that the sales price level (a) is high when the current sales price of the room is higher than the preset price upper limit (upper_bound), as in Type 1, and the control unit (100) can determine that the target sales volume trend (b) is maintained when the target total cumulative number of reservations is maintained according to the lead time.
[0147] In addition, the control unit (100) may determine that the target sales volume is not achieved due to the current room sales price, and thus the control unit (100) may determine that the target achievement (c) is not achieved, and accordingly, the control unit (100) may determine that the price adjustment expectation value (d) should be lowered to increase the profit per room.
[0148] That is, in the case of Type 1, a weekday is incorrectly set as a public holiday, so the sales price level (a) is higher than the price ceiling, but the target sales volume trend (b) is maintained due to the activation of the commercial district, and this can be an example of a case where the target is not achieved, and accordingly, the control unit (100) can determine that the initial room price in the case of Type 1 should be adjusted in order to increase profits.
[0149] In addition, the control unit (100) can determine that the sales price level (a) is high when the current sales price of the room is higher than the preset price upper bound (upper_bound), as in Type 2, and the control unit (100) can determine that the target sales volume trend (b) is decreasing when the target total cumulative number of reservations decreases according to the lead time.
[0150] In addition, the control unit (100) may determine that the target sales volume is not achieved due to the current room sales price, and thus the control unit (100) may determine that the target achievement (c) is not achieved, and accordingly, the control unit (100) may determine that the price adjustment expectation value (d) should be lowered to increase the profit per room.
[0151] That is, in the case of Type 2, a weekday is incorrectly set as a public holiday, so the sales price level (a) is higher than the price ceiling, but the target sales volume trend (b) decreases due to inactivity of the commercial district, and the target is not achieved. Accordingly, the control unit (100) can determine that the initial room price in the case of Type 2 should be adjusted to increase profits.
[0152] In addition, the control unit (100) can determine that the sales price level (a) is low when the current sales price of the room is lower than the preset lower price limit (lower_bound), as in Type 3, and the control unit (100) can determine that the target sales volume trend (b) is increasing when the target total accumulated reservation number increases according to the lead time.
[0153] In addition, the control unit (100) can determine that the target achievement (c) is exceeded when the target sales volume is exceeded by the current room sales price, and accordingly, the control unit (100) can determine that the price adjustment expectation value (d) should be increased to increase the profit per room.
[0154] That is, in the case of Type 3, a public holiday is incorrectly set to a weekday, so the sales price level (a) is lower than the lower price limit, and the target sales volume trend (b) increases due to the activation of the commercial district, and the target is exceeded. Accordingly, the control unit (100) can determine that the initial room price in the case of Type 3 should be adjusted to increase profits.
[0155] In addition, the control unit (100) can determine that the sales price level (a) is low when the current sales price of the room is lower than a preset lower price limit (lower_bound), as in Type 4, and the control unit (100) can determine that the target sales volume trend (b) is maintained when the target total accumulated reservation number is maintained according to the lead time.
[0156] In addition, the control unit (100) can determine that the target achievement (c) is exceeded when the target sales volume is exceeded by the current room sales price, and accordingly, the control unit (100) can determine that the price adjustment expectation value (d) should be increased to increase the profit per room.
[0157] That is, in the case of Type 4, a public holiday is incorrectly set to a weekday, so the sales price level (a) is lower than the lower price limit, but the target sales volume trend (b) is maintained due to the activation of the commercial district, and the target is exceeded. Accordingly, the control unit (100) can determine that the initial room price in the case of Type 4 should be adjusted to increase profits.
[0158] The control unit (100) can determine that the sales price level (a) is low when the current sales price of the room is lower than the preset lower price limit (lower_bound), as in Type 5, and the control unit (100) can determine that the target sales volume trend (b) is increasing when the target total cumulative number of reservations increases according to the lead time.
[0159] In addition, the control unit (100) can determine that the target achievement (c) is appropriate when the target sales volume is achieved by the current room sales price, and accordingly, the control unit (100) can determine that the price adjustment expectation value (d) should be increased to increase the profit per room.
[0160] That is, in the case of Type 5, a public holiday is incorrectly set to a weekday, so the sales price level (a) is lower than the lower price limit, but the target sales volume trend (b) increases due to the activation of the commercial district, and this can be taken as an example of a case where the target is achieved, and accordingly, the control unit (100) can determine that the initial room price in the case of Type 5 should be adjusted in order to increase profits.
[0161] In addition, the control unit (100) can determine that the sales price level (a) is appropriate when the current sales price of the room is between the preset upper price limit (upper_bound) and lower price limit (lower_bound), as in Type 6, and the control unit (100) can determine that the target sales volume trend (b) is increasing when the target total cumulative number of reservations increases according to the lead time.
[0162] In addition, the control unit (100) may determine that the target sales volume has been achieved based on the current room sales price, and thus the target achievement (c) is appropriate. Accordingly, the control unit (100) may determine that the price adjustment expectation value (d) should be raised or maintained to increase the revenue per room. In this case, whether the control unit (100) raises or maintains the price adjustment expectation value (d) may vary depending on the requirements of the system designer or user.
[0163] That is, in the case of Type 6, the day of the week data is set appropriately so that the sales price level (a) is appropriate, but the target sales volume trend (b) increases due to the activation of the commercial district, and this can be taken as an example of a case where the target is achieved, and accordingly, the control unit (100) can determine that the initial room price in the case of Type 6 should be adjusted in order to increase profits.
[0164] FIG. 7 illustrates a flowchart regarding a method for controlling a server device according to one embodiment, and FIG. 8 continues to illustrate a flowchart regarding a method for controlling a server device according to one embodiment.
[0165] Referring to FIG. 7, the control unit (100) can receive room data for predicting room demand and adjusting the initial room price (700), and can extract features for predicting room demand from the room data to generate preprocessing data (710).
[0166] Thereafter, the control unit (100) can create a reservation number prediction model that uses preprocessing data as learning data (720), and input room data into the reservation number prediction model to derive the predicted reservation number for the target stay date as an output value (730).
[0167] Next, referring to FIG. 8, the control unit (100) can determine whether the price of the target stay date exceeds the price buffer (800), and if the price of the target stay date does not exceed the price buffer, the control unit (100) can determine whether a change in the room price of the target stay date is necessary due to a change in demand (810).
[0168] When the price of the target stay date exceeds the price buffer (example of 800) or when a change in the room price of the target stay date is required due to a change in demand (example of 810), the control unit (100) can derive a past stay date for which the difference between the number of predicted reservations and the number of reservations for the target stay date is less than or equal to a reference value among past stay dates based on the current point in time (820).
[0169] That is, the control unit (100) can determine whether an adjustment of the initial price of the target stay date is necessary, and can match the target stay date requiring an initial price adjustment with a past stay date with similar demand.
[0170] Thereafter, the control unit (100) can derive a weighted average of the initial room price data of past stay dates (830) and adjust the initial price of the target stay date based on the derived price average (840).
[0171] According to a server device (1) and a control method of the server device (1) according to one embodiment, the demand for future stay dates can be predicted using a machine learning technique, and the initial price for future stay dates can be adjusted by matching it with past stay dates, so that the dynamic sales price adjustment system can flexibly handle exceptions in which a commercial area changes rapidly, thereby improving the reliability of the dynamic sales price adjustment system and maximizing the profits of room sellers.
[0172] Meanwhile, the disclosed embodiments may be implemented in the form of a recording medium storing computer-executable instructions. The instructions may be stored in the form of program code, and when executed by a processor, may generate program modules to perform the operations of the disclosed embodiments. The recording medium may be implemented as a computer-readable recording medium.
[0173] Computer-readable storage media include all types of storage media that store instructions that can be deciphered by a computer. Examples include read-only memory (ROM), random access memory (RAM), magnetic tape, magnetic disks, flash memory, and optical data storage devices.
[0174] Additionally, a computer-readable recording medium may be provided in the form of a non-transitory storage medium. Here, the term "non-transitory storage medium" simply means a tangible device that does not contain signals (e.g., electromagnetic waves). This term does not distinguish between cases where data is permanently stored in the storage medium and cases where data is temporarily stored. For example, a "non-transitory storage medium" may include a buffer in which data is temporarily stored.
[0175] According to one embodiment, the method according to the various embodiments disclosed in the present document may be provided as included in a computer program product. The computer program product may be traded as a product between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable recording medium (e.g., compact disc read only memory (CD-ROM)), or may be distributed online (e.g., downloaded or uploaded) via an application store (e.g., Play Store™) or directly between two user devices (e.g., smartphones). In the case of online distribution, at least a portion of the computer program product (e.g., a downloadable app) may be at least temporarily stored or temporarily generated in a machine-readable recording medium, such as a memory of a manufacturer's server, an application store's server, or an intermediary server.
[0176] The above has illustrated and described specific embodiments. However, the invention is not limited to the above-described embodiments, and those skilled in the art will appreciate that various modifications and implementations can be made without departing from the spirit and scope of the invention as set forth in the claims below.
Claims
1. A communication unit that receives room data for adjusting the initial room price; A memory for storing the above room data; and A reservation number prediction model is created by extracting features for predicting room demand from the above room data and using the generated preprocessed data as learning data, A server device comprising a control unit that inputs the room data into the reservation number prediction model to derive the predicted reservation number for a target stay date as an output value, derives a past stay date for which the difference between the predicted reservation number for the target stay date and the number of reservations is less than or equal to a reference value, and adjusts the initial room price for the target stay date based on the initial room price for the past stay date.
2. In claim 1, The above control unit, A server device that derives the maximum reservation price for the target stay date by weighting the price data of multiple past stay dates and adjusts the initial room price for the target stay date based on the initial room price for the past stay date corresponding to the maximum reservation price for the target stay date.
3. In claim 2, The above control unit, A server device that derives the maximum reservation price of the plurality of past stay dates from the price data of the plurality of past stay dates, applies weights to the maximum reservation prices of the plurality of past stay dates, and performs a weighted average.
4. In claim 3, The above control unit, A server device that derives distance weights based on the date interval between the target stay date and the plurality of past stay dates, and applies the distance weights to the maximum reservation prices of the plurality of past stay dates to perform the weighted average.
5. In claim 4, The above control unit, A server device that derives the distance weight by adding up the demand difference value and the day of the week difference value between the multiple past stay dates and the target stay date.
6. In claim 5, The above control unit, A server device that derives a predicted number of reservations for the target stay date based on the above-mentioned reservation number prediction model, and determines the difference between the number of reservations for the plurality of past stay dates and the predicted number of reservations for the target stay date as the demand difference value.
7. In claim 5, The above control unit, A server device that sets the day difference value when the day data is of the same type based on the day data included in the above room data to have a value greater than the day difference value when the day data is of a different type.
8. In claim 1, The above control unit, A server device that adjusts the initial room price for the target stay date based on satisfying at least one of a first condition that the room price for the target stay date exceeds a price buffer and a second condition that the room price for the target stay date requires a change due to a change in demand.
9. In claim 1, The above control unit, A server device that determines a stay date for which the difference between the predicted number of reservations for the target stay date and the number of reservations is within a standard percentage range as the past stay date.
10. In claim 1, The above control unit, A server device that transmits the initial room price for the target stay date adjusted through the above communication unit to an external device.
11. Receive room data to adjust the initial room price; A reservation number prediction model is created by extracting features for predicting room demand from the above room data and using the generated preprocessed data as learning data; By inputting the above room data into the above reservation number prediction model, the predicted number of reservations for the target stay date is derived as an output value; Deriving past stay dates where the difference between the predicted number of reservations for the target stay date and the number of reservations is less than or equal to a reference value; A control method of a server device, comprising: adjusting the initial price of a room on the target stay date based on the initial price of a room on the past stay date.
12. In claim 11, Adjusting the initial room price for the above target stay date is as follows: A control method of a server device, comprising: calculating a weighted average of price data of multiple past stay dates to derive a maximum reservation price for the target stay date, and adjusting the initial price of a room for the target stay date based on the initial price of a room for the past stay date corresponding to the maximum reservation price for the target stay date.
13. In claim 12, Weighting the above price data to obtain an average, A control method of a server device, comprising: deriving the maximum reservation price of the plurality of past stay dates from the price data of the plurality of past stay dates, applying weights to the maximum reservation prices of the plurality of past stay dates, and performing a weighted average.
14. In claim 13, Weighting the above price data to obtain an average, A control method of a server device, comprising: deriving distance weights based on the date interval between the target stay date and the plurality of past stay dates, applying the distance weights to the maximum reservation prices of the plurality of past stay dates, and performing the weighted average.
15. In claim 14, A control method of a server device further comprising: adding the demand difference value and the day of the week difference value between the plurality of past stay dates and the target stay date to derive the distance weights, respectively.
16. In claim 15, A control method of a server device further comprising: deriving a predicted number of reservations for the target stay date based on the predicted number of reservations model, and determining the difference between the number of reservations for the plurality of past stay dates and the predicted number of reservations for the target stay date as the demand difference value.
17. In claim 15, A control method of a server device further comprising: setting, based on the day of the week data included in the above room data, the day of the week difference value when the day of the week data is of the same type to have a greater value than the day of the week difference value when the day of the week data is of a different type.
18. In claim 11, Adjusting the initial room price for the above target stay date is as follows: A control method of a server device, comprising: adjusting the initial price of a room on the target stay date based on satisfying at least one of a first condition that the room price on the target stay date exceeds a price buffer and a second condition that a change in the room price on the target stay date is required due to a change in demand; 19. In claim 11, Deriving the above past stay dates is: A control method of a server device, comprising: determining a stay date for which the difference between the predicted number of reservations for the target stay date and the number of reservations is within a standard percentage range as the past stay date; 20. In claim 11, The above control unit, A control method of a server device further comprising: transmitting the initial room price for the target stay date adjusted through the above communication unit to an external device;
Citation Information
Patent Citations
Hotel reservation estimating model creating method
JP2004094809A
Room charge setting device, room charge setting method, and program
JP2019074988A
Method and apparatus for adjusting fees for accommodation products
KR101706889B1
System and method for management of room pricing and computer program for the same
KR102041977B1
Method and apparatus for providing room reservation service
KR102345125B1