WO2021188046A1 - A search method and system based on personalised value ranking - Google Patents

A search method and system based on personalised value ranking Download PDF

Info

Publication number
WO2021188046A1
WO2021188046A1 PCT/SG2021/050100 SG2021050100W WO2021188046A1 WO 2021188046 A1 WO2021188046 A1 WO 2021188046A1 SG 2021050100 W SG2021050100 W SG 2021050100W WO 2021188046 A1 WO2021188046 A1 WO 2021188046A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
product
data
price
products
Prior art date
Application number
PCT/SG2021/050100
Other languages
French (fr)
Inventor
Sylvain LABATTU
Original Assignee
Koralgo Pte. Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koralgo Pte. Ltd. filed Critical Koralgo Pte. Ltd.
Publication of WO2021188046A1 publication Critical patent/WO2021188046A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0282Rating or review of business operators or products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/12Hotels or restaurants

Definitions

  • the present invention relates to an improved search method and system for products and services, and in particular, a search method and system where the results identified are ranked according to a user-specific score (or personalised value) determined based on one or more characteristics of the product or service, and one or more user-specific preferences corresponding to those characteristics.
  • a user-specific score or personalised value
  • Search platforms may also display products/services that pay for advertisement at the top, which is often visually misleading in terms of the ranking of results and hence the usefulness and reliability of the search results.
  • the information on offerings provided by a product/service supplier on a search platform are often limited to a few standard options - for example, for hotels it may be room only, or room with breakfast.
  • Flight booking platforms do not generate itineraries that take into account the location of airports, flights schedules and quality of airports (e.g. for lay-over), that research and analysis often need to be done by the user or a travel consultant.
  • prices for flights may not be compared on a like-for-like basis (e.g. some include luggage and others not, some do not include tax or credit card booking fees, etc.). Travel itineraries often involve selecting from pre-packaged tour options, without the ability to design customised itineraries in an automated and optimized way.
  • the present invention aims to address one or more of the above problems.
  • representative embodiments of the present invention aim to provide: (i) reliable, relevant and personalised ranking of search results; (ii) trustworthy reviews and meta-reviews of products and/or services; (iii) improved analytic services to suppliers; (iv) more targeted and impactful advertising services to suppliers; and (v) the ability to develop and optimise custom travel itineraries.
  • a computer implemented method of scoring one or more products based on a user-specific score generated specifically for each said product, wherein each said product relates to an item, asset, property, right, offer and/or service the method comprising: receiving one or more search parameters of a user (such as product category, location, dates, etc.
  • the product data for each said product including at least price data representing a price value associated with said product, and primary ratings data representing a rating score for each primary category associated with said product; accessing profile data for said user, said profile data including primary preference data representing said user's rating for each said primary category associated with said products, and price factor data representing an importance of price to said user; and generating a user-specific score for each of said products, said score being specific to said user, and is generated for each said product based on the profile data (e.g. including ratings) for said user and the product data (e.g. including scores and price) for said product.
  • profile data e.g. including ratings
  • the product data e.g. including scores and price
  • the term “category” can be read as a reference to a particular aspect of quality relating to (e.g. specified, predetermined or predefined for) a product or service. Accordingly, the "primary category” can be read as a reference to one or more primary qualities relating to (e.g. specified, predetermined or predefined for) a product or service.
  • a computer implemented method of ranking one or more products based on a user-specific score generated specifically for each said product, wherein each said product relates to an item, asset, property, right, offer and/or service comprising: receiving one or more search parameters of a user; accessing product data for said products based on said search parameters, the product data for each said product including at least price data representing a price value associated with said product, and primary ratings data representing a rating score for each primary category associated with said product; accessing profile data for said user, said profile data including primary preference data representing said user's rating for each said primary category associated with said products, and price factor data representing an importance of price to said user; assigning a user-specific score to each of said products, said score being specific to said user, and is generated for each said product based on the profile data (e.g. including ratings) for said user and the product data (e.g. including scores/price) for said product; and ranking said products according to their respective said user-specific scores.
  • profile data e.g. including ratings
  • a computer- readable medium that stores instructions executable by one or more processors for performing any one of the above methods.
  • a computer system with one or more processors configured to perform any one of the above methods.
  • Figure 1 is a block diagram of a search system according to a representative embodiment of the present invention.
  • Figure 2 is a block diagram illustrating an exemplary internal structure of a computer suitable for implementing the methods and systems of the present invention
  • Figure 3 is a flow chart illustrating an exemplary process for creating or editing product data for a product according to a representative embodiment of the present invention
  • Figure 4 is a flow chart illustrating an exemplary process for creating or editing user account data for a user according to a representative embodiment of the present invention
  • Figure 5 is a flowchart illustrating an exemplary process for ranking search results according to a user-specific score (or PV) according to a representative embodiment of the present invention
  • Figures 6A, 6B and 6C are flow charts illustrating more detailed examples of the processing steps for generating a user-specific score for each product according to different representative embodiments of the present invention
  • Figure 7 is a diagram showing an example of the main high-level interactions between different users of the system
  • Figure 8 is a high-level flow diagram of an exemplary process for adjusting the price data and/or primary ratings data for a product according to a representative embodiment of the invention
  • Figure 9 is a high-level diagram showing the exemplary key steps and features relating to user account setup and profiling according to a representative embodiment of the invention.
  • Figure 10 is a high-level diagram of the exemplary processes for refining user profile data and parameters according to the present invention.
  • Figure 11 is a high-level diagram illustrating the component features provided by the analytics component of the system according to a representative embodiment of the invention.
  • Figure 12 is a high-level flow diagram of the key steps performed by the analytics component of the system according to a representative embodiment of the invention.
  • Figure 13 is a high-level diagram showing the exemplary key steps relating to advertising services provided according to a representative embodiment of the invention.
  • Figure 14 is a high-level flow diagram of an exemplary process for providing advertising services for suppliers according to a representative embodiment of the invention.
  • Figure 15 is a high-level flow diagram of an exemplary process for providing advertising services to users according to a representative embodiment of the invention.
  • Figure 16 is a high-level flow diagram of an exemplary itinerary design process according to a representative embodiment of the invention.
  • FIG. 17 is a high-level flow diagram of an exemplary process for generating aggregate user specific (PV) values according to a representative embodiment of the invention
  • Figure 18 is an exemplary display of a product presentation page generated according to a representative embodiment of the present invention.
  • Figure 19 is an exemplary display of a product meta-review and ratings page generated according to a representative embodiment of the present invention.
  • Figure 20 is an exemplary display of a product offers page generated according to a representative embodiment of the present invention. DETAILED DESCRIPTION OF THE REPRESENTATIVE EMBODIMENTS
  • FIG. 1 is a block diagram of a search system 100 according to a representative embodiment of the present invention.
  • the search system 100 comprises a server 102 that communicates with one or more clients 104 over a communications network 106.
  • the server 102 may be provided as a dedicated computer (e.g. with an exemplary internal structure as shown in Figure 2) that is adapted to handle significant volumes of data processing and exchange between internal components of the computer as well as with other devices or clients 104 over the communications network 106.
  • the server 102 includes suitable operating system software (e.g. MicrosoftTM Windows ServerTM, UbuntuTM, Red HatTM Enterprise LinuxTM, or the like) to handle network communications as well as data communications and coordination between internal components of the server 102.
  • the client 104 can be any personal electronic device that can communicate with the server 102 over a communications network 106.
  • a client 104 may include a convention personal computer (e.g. with an exemplary internal structure as shown in Figure 2), mobile phone, personal digital assistant, table computing device, or a similar or equivalent device.
  • the client 104 includes suitable operating system software (e.g. MicrosoftTM WindowsTM, MacOSTM, iOSTM, AndroidTM, or the like) to handle network communications as well as data communications and coordination between internal components of the client 104.
  • the communications network 106 includes any means of wired or wireless data communications between two or more electronic devices (e.g. between the client 104 and server 102).
  • the communications network 104 may include one or more of a wireless network (e.g. using WiFiTM, BluetoothTM etc.), a local area network (LAN), a wide area network (WAN), public switched telephone network (PSTN), the Internet, a mobile telecommunications network (e.g. a GSMTM, CDMATM, UMTSTM, LTETM, LTE-ATM network), and direct physical connections that enable data communications between different electronic devices.
  • Figure 2 is a block diagram illustrating an exemplary internal structure of a computer 200, which includes a bus 202, a processor 204, a main memory 206, a read-only memory (ROM) 208, a storage device 210, one or more input devices 212, one or more output devices 214, and a communications interface 216.
  • the bus 202 includes one or more conductors for the components of the computer to communicate (e.g. send or exchange data) with each other.
  • the processor 204 may include one or more conventional microprocessors, microcontrollers, or similar or equivalent data/signal processing components (e.g. an Application Specific Integrated Circuit (ASIC) or Field-Programmable Gate Array (FGPA)) configured to interpret and execute instructions (including in the form of code or signals) provided to the processor 204.
  • the main memory 206 may include a conventional random access memory (RAM) device or another type of volatile data storage device that can store information and instructions for execution by the processor 204.
  • the ROM 208 may include a conventional read-only memory device or another type of non-volatile data storage device that can store information and instructions for execution by the processor 204.
  • the storage device 210 includes any persistent electronic data storage device (e.g. a hard drive), which may comprise of a magnetic, optical or circuit-based data recording medium and any related circuitry and physical components for reading and writing data to/from the recording medium.
  • the input device 212 may include one or more conventional mechanisms or sensors for a user to input information to, or control the operation of, the client 104 or server 102 (e.g. a mouse, keyboard, capacitive sensor, camera, microphone, etc.).
  • the output device 214 may include one or more conventional mechanisms or sensors for the client 104 or server 102 to present information to the user (e.g. a display, printer, speaker, etc.).
  • the communications interface 216 may include any means of data communication from the client 104 or server 102 to another device (e.g. a wired or wireless network adaptor card).
  • the server 102 communicates with a user database 120 and a product database 122.
  • the user database 120 contains data on users of the system 100 (such as user profile data).
  • the product database 122 contains data representing certain characteristics of products and services.
  • a database refers to any means of storing and accessing a structured data set, including for example, one or more of the following: a relational database, a distributed database, an object-oriented database, and one or more structured data files (e.g. a Comma Separated Value (CSV) file, Extensible Markup Language (XML) file, JavaScript Object Notation (JSON) format file).
  • CSV Comma Separated Value
  • XML Extensible Markup Language
  • JSON JavaScript Object Notation
  • the database 120/122 may be provided either on the server 102, or on a separate computing device that the server 102 controls according to a known or predetermined Application Programming Interface (API) or communications protocol.
  • the user database 120 may comprise of one or more other databases that capture search data relating to the searches conducted by each user, such as data representing on what keywords or parameters were used in a user's search, what results were returned, what products were viewed, selected, ordered and/or purchased by the user.
  • the server 102 includes components (e.g. 114 and/or 116) that are adapted to conduct statistical analysis on such search data to derive metadata relating to a user's interests or preferences, which can be used to improve the profiling of users (e.g. where such metadata collected in respect of a particular user is used to verify and/or adjust any user profile parameters for that user). Metadata can also be derived across a wider set of users and if relevant, applied to improve the profiling of the user.
  • the server 102 includes various components 108 to 118, each of which are adapted to configure and/or control the processor 204 of the server 102 to execute instructions to implement the methods and processes according to the principles of the present invention.
  • the components 108 to 118 may be implemented on the server 102 as part of a web-based application that interacts with users via a client 104 (e.g. via a web browser or client-based application) to provide a digital marketplace for users to search for, read on and identify relevant products/services based on the user's search criteria and user profile parameters.
  • the server 102 includes a product data management component 108, a user data management component 110, a ranking component 112, an analytics component 114, an advertising component 116, and a search engine component 118.
  • Each of the components 108 to 118 may be implemented either in the form of: (i) one or more software modules corresponding to a set of computer-readable instructions stored in memory 206 for controlling the operation of a processor 204 to implement methods and processes according to the present invention; or (ii) data processing circuitry/components (e.g.
  • microcontroller ASIC or FGPA
  • ASIC application-specific integrated circuit
  • FGPA FGPA
  • the ranking component 112 is adapted to interoperate with the search engine component 118 to provide a digital marketplace (e.g. via a digital or server-based application) where the search engine component 118 identifies one or more results from the product database 122 (i.e. products or services) based on search parameters in a user's search query and the relevant user profile in database 120, and the ranking component 112 ranks the results based on a user-specific score (or personalised value) assigned to each result according to the principles of the present invention.
  • the search engine component 118 may comprise of convention search engine software (e.g. an ApacheTM LuceneTM or SolrTM search engine or the like) that can index and retrieve data records based on the contents of such data records.
  • the server 102 includes at least a ranking component 112 that is adapted to communicate and interoperate with an external search engine (e.g. a search engine that is located on a separate server, or is maintained and/or operated by a different service provider) to provide a digital marketplace where the search engine identifies one or more results from the product database 122 (i.e. products/services) based on search parameters in a user's search query, and the ranking component 112 ranks the results based on a user-specific score (or personalised value) assigned to each result according to the principles of the present invention.
  • an external search engine e.g. a search engine that is located on a separate server, or is maintained and/or operated by a different service provider
  • the ranking component 112 ranks the results based on a user-specific score (or personalised value) assigned to each result according to the principles of the present invention.
  • the product data management component 108, user data management component 110, analytics component 114, and advertising component 116 may each be located on the same server 102 as the ranking component 112, or alternatively, may be located on one or more separate servers that work together.
  • the communications and interoperation between the components 108-116, their respective servers, and the external search engine may be controlled according to known or predetermined APIs or communications protocols.
  • FIG. 7 is a diagram showing an example of the high-level interactions 700 between users of the search system 100 (referred to in Figure 7 as the " Marketplace ") according to a representative embodiment of the present invention.
  • suppliers ofproducts/services and consumer users establish an account on the system 100.
  • the suppliers supply the details of the product/service, including for example: availability and price.
  • Those details will be supplemented (at step 708) by: (i) metareviews provided by a rating company, and (ii) scores for the various product / service categories also provided by a rating company to the system 100.
  • the rating company scoring and review process may entail physical announced or unannounced visits to the suppliers to test the product/service pursuant to the arrangement as agreed between the supplier and rating company (see step 706).
  • the reviewer provides ratings and other metadata (such as review comments) on the product/service and provides this to the system 100.
  • the system 100 can provide services to suppliers including: presentation of products/services; allow consumer users to find details on the range of products/services offered by the supplier (e.g. including price, other terms and conditions, and inventory availability); advertisement services; and analytics services. Consumer users can then access the system 100 through electronic devices such as a desktop computer, tablet or mobile phone.
  • the user may create a user account and set-up various user profiles for search purposes.
  • the user can either log in to use the system 100 together with the user's stored profiles, or obtain one-off access to the system 100 without signing in.
  • the system 100 can provide services to consumer users including: sign-up and profile setting (including marketing preferences); search services; ranked display of product/service offers; detailed information about supplier product/services (including related ratings and metareviews); and the selection, booking and/or purchase of an offered product/service.
  • Product database including: sign-up and profile setting (including marketing preferences); search services; ranked display of product/service offers; detailed information about supplier product/services (including related ratings and metareviews); and the selection, booking and/or purchase of an offered product/service.
  • the product data management component 108 controls the process of creating and editing product data for a product in the product database 122.
  • the term "product” may refer to either a product or a service.
  • a “product” may relate to an item, asset, property, right, offer and/or service.
  • the information in the product database 122 comprises of information provided by the product supplier (e.g. the exact nature of the product, inclusions, terms and conditions, and availability (e.g. based on inventory levels and/or dates)) and information provided by a rating company (e.g. all other types of information described below).
  • the information for a product in the product database 122 may be provided entirely by the product supplier or rating company (different from the product supplier).
  • Each product/service is broken down into one core offering and (potentially) one or more secondary attribute(s). There may not be any secondary attribute if the product/service is straightforward and directly comparable to others in the market. For instance, a hotel stay package could have the night (i.e. sleeping in a bedroom) as the core offering and breakfast, spa vouchers, airport pick-up, etc. would be secondary attributes. A car could come with several options (leather seats, sunroof, anti-lock braking, etc.) and an extended warranty.
  • the core offering is given rating values/scores based on several aspects (e.g. comfort and convenience for a hotel, camera quality and memory size for a handphone, etc.) ⁇ Score range (e.g. from 0 to 10) will be set by the system.
  • the secondary attributes are either: (i) given a monetary value (based on comparables, if price is not directly observable), or (ii) are taken into account through an adjustment of the scores/rating of the core offering.
  • This decision and valuation exercise is carried out by the rating companies based on the existing and potential offerings of the supplier. This enables the product/service to be valued and therefore compared and ranked either on the basis of its PV value as described above.
  • the product data for each product represents characteristics or attributes of a product, which for example, may include one or more of the following:
  • Product type data comprising of data representing a product type (or class) to which each product belongs.
  • the data representing product type is selected from a predetermined set of options defined in the product database 122 (such as hospitality, air travel, transport, consumer goods, cars, real estate).
  • the product type data may further include data representing a more specific sub-category of products within the selected type of product. For example, where "Hospitality" is selected as the product type, there may be one or more additional fields for defining a sub-categories (or even a sub-category within a sub-category) to which a product belongs (e.g. "hotel”, “hostel”, “guesthouse” , "bed & breakfast", " glamping " etc.).
  • the data representing a sub-category of the product is selected from a predetermined set of options defined in the product database 122.
  • Price data including data representing a specific price value for each product in a specific configuration (e.g. a standard hotel room with sea view).
  • Primary ratings data representing a rating value within a predetermined range of values (e.g. a value from 1 to 10, where 10 is best) for each primary category associated with a particular type of product.
  • Primary ratings data is generated in respect of features that are core to the product offering (e.g. features that are comparable across all suppliers, such as for one hotel night). This information may be provided by a rating company (separate and independent from the product supplier).
  • the one or more primary categories associated with a particular type of product can be determined based on a predetermined mapping table in the product database 122, an example of which is shown in Table 1.
  • the primary categories consist of " price dependent” categories and/or "non-price dependent" categories.
  • a “non-price dependent” category refers to features or qualities of the product that will be assessed and valued on moral grounds or principles (e.g. environmental policy and projects of a supplier, carbon footprint of a product, ethical & social practice of a supplier such as diversity and working conditions).
  • a user can define parameters in its user profile data (stored in the user database 120) that determine how the presence or absence of a certain "nonprice dependent” feature may affect (e.g. increase or decrease) the ultimate user specific score (or PV) for the product.
  • a “price dependent” category represents features that would entail a degree of trade-off by the user at the time of his/her selection between absolute score and price (e.g.
  • the degree of trade-off is personalised for each user based on a user-defined price importance parameter that is stored in the user profile data for that user in the user database 120. Table 1
  • Secondary attributes data representing one or more secondary attributes of a particular product. This information may be provided by a rating company (separate and independent from the product supplier). Where a secondary attribute relates to a feature that affects a primary rating score for a product, the secondary attributes data for that feature will include a score adjustment factor representing a predetermined upward or downward adjustment to one or more specific primary categories. Where a secondary attribute relates to a feature that has or can be ascribed a monetary value (e.g. breakfast for two persons included with a one night hotel stay), a rating company could ascribe a monetary value for that feature either based on pricing data provided by the product supplier and/or an estimated price determined based on observable comparables (e.g.
  • a monetary value determined for a secondary attribute will be used to adjust the price of the core offering for purpose of the user specific score (or PV) computation whilst the score uplift factor will be taken into account to adjust the score of one or several primary categories scores for the product.
  • each product and in particular the primary ratings data and secondaiy attributes data
  • the above characteristics of each product are provided by a user that has no connection or affiliation with the provider of the product or service (e.g. an independent third-party reviewer).
  • the provider of the product or service e.g. an independent third-party reviewer.
  • FIG. 3 is a flow chart illustrating an exemplary process 300 for creating or editing product data for a product that corresponds to a record in the product database 122.
  • Process 300 is performed by the processor 204 of the server 102 under the control of computer-readable instructions from the product data management component 108.
  • Process 300 begins at step 302 where the product data management component 108 controls the server 102 to receive user input (e.g. from the product supplier or rating company) indicating either to create product data for a new product record in the product database 122, or edit the product data in a selected existing product record in the product database 122.
  • user input e.g. from the product supplier or rating company
  • specific details of the product being evaluated is required (e.g. a detailed product description including information on availability of the product, terms and conditions, pricing etc).
  • the product supplier provides this information to server 102.
  • the product data management component 108 controls the server 102 to receive user input (e.g. preferably from the product supplier, or alternatively, by a rating company) representing product type data corresponding to a product, and store the product type data in the product database 122.
  • the user input may represent a product type selected from a predetermined set of predetermined product types stored in the product database 122.
  • the product data management component 108 controls the server 102 to receive user input (e.g. preferably from the product supplier, or alternatively, by a rating company) representing price data corresponding to the product, and store the price data in the product database 122.
  • the price data represents a monetary value of the product in a specific configuration.
  • a product can be provided in different configurations (e.g. a car with black metallic paint)
  • separate product records will be created in the product database 122.
  • the product data management component 108 controls the server 102 to receive user input (e.g. preferably from a rating company) representing primary ratings data corresponding to each primary category associated with the product, and store the primary ratings data in the product database 122.
  • the server 102 may determine the primary categories associated with the product (or the product type) by reference to a predetermined mapping table (e.g. as shown in Table 1) stored in the product database 122.
  • the primary ratings data comprises of data representing a rating value (or score) for each primary category, where the rating value is within a predetermined range of values (e.g. a set of discrete and evenly spaced numbers ranging from 1 to 10, at 0.25 or 0.5 increments, where 10 is best).
  • the rating value (or score) for each primary category represents a level or degree (in the opinion of a user/reviewer) to which the product satisfies certain predetermined criteria or requirements that are specific to each primary category.
  • the product data management component 108 controls the server 102 to receive user input (e.g. preferably from a rating company) representing secondary attribute data corresponding to one or more secondary attributes associated with the product, and store the secondary attribute data in the product database 122.
  • the user input provided to the server 102 determines the secondary attributes associated with the product by reference to a predetermined list or table of secondary attributes that are associated with the product (of the product type).
  • the secondary attribute data may indicate the presence (or absence) of additional features to the core offering of the product, such as whether the room rate of a hotel room (the product) includes breakfast (a secondary attribute).
  • the product data management component 108 controls the server 102 to receive user input (e.g. preferably from a rating company) that controls the adjustment of price data and/or primary ratings data for the product based on the secondary attributes data for that product.
  • the adjusted price data and/or adjusted primary ratings data is stored in the product database 122.
  • An example of the steps performed in connection with step 312 is described in greater detail with reference to Figure 8. Process 300 ends after step 312.
  • FIG 8 is a high-level flow diagram of the exemplary steps performed in connection with step 312 of process 300 (as shown in Figure 3).
  • step 802 corresponds to steps 302 and 304 of process 300.
  • Step 804 corresponds to step 306 of process 300.
  • Steps 806 and 808 correspond to step 308 of process 300.
  • Step 810 corresponds to step 310 of process 300.
  • the product data management component 108 controls the server 102 to receive user input (e.g. preferably from a rating company) that defines which secondary attributes of the product (as defined in step 310) are features that affect a primary rating score for a product. For each of those secondary attributes, component 108 controls the server 102 to receive user input (e.g.
  • the score adjustment factor can represent a value that is added to or subtracted from the rating value given to a particular primary category of the product at step 308 (or 806 and 808).
  • the score adjustment factor can represent a percentage value based on which the rating value given to a particular primary category of the product at step 308 (or 806 and 808) is adjusted
  • the score adjustment factors affect the primary rating values for one or more specific primary categories of the product
  • the primary rating values for those specific categories are adjusted based on the score adjustment factors.
  • the score adjustment at step 820 will typically be upward as secondary attributes would provide an uplift in experience or quality versus the core product offering. However, this ultimately depends on what is defined as the core product offering (e.g. generally, but not always, the "market standard" for such a product or service) and there may be cases where the adjustment to the rating is a negative one. For instance, if a hotel is offering rooms in a wing of the building undergoing renovation works with negative impact on the customer experience (e.g.
  • the rating company may make a downward adjustment to one or several primary categories (e.g. the category of "comfort"). In this case, it is likely that the hotel would compensate this lower value by decreasing its price or providing additional benefits.
  • the product data management component 108 controls the server 102 to receive user input (e.g. preferably from a rating company) that defines which secondary attributes of the product (as defined in step 310) are features that have or can be ascribed a monetary value.
  • user input e.g. preferably from a rating company
  • component 108 controls the server 102 to receive user input (e.g. preferably from a rating company) representing an estimate price of the feature.
  • the estimate price may be a monetary value for that feature either based on pricing data provided by the product supplier or an estimated price of that feature determined (e.g. preferably from a rating company) based on observable comparables in the relevant market (e.g. the cost of similar features from a comparable provider).
  • the product contains secondary attributes ascribed with monetary value
  • the estimated monetary value of the secondary attributes is deducted from the price of the product to determine an estimated "net price" based on which the user specific value (or PV value) will be computed.
  • the nonmonetary aspects of the secondary attributes will be taken into account when determining scores for the primary categories for the core product (see step 820).
  • step 818 data representing an adjusted price of the product is generated based on the price of the product (obtained at step 306/804) and the estimated price of the secondary attributes (from step 814).
  • the adjusted price of the product may be determined by subtracting the estimated price of the relevant secondary attributes from the original price of the product.
  • step 822 price data and primary ratings data for the product in the product database 122 is updated with the adjusted price of the product (from step 818) and the adjusted primary ratings (from step 820) respectively.
  • the other user inputs received and data generated in steps 812 to 820 may also be stored in the product database 122.
  • FIG. 9 is a high-level diagram showing an exemplary process 900 for user account setup and profiling performed according to a representative embodiment of the invention.
  • a consumer user interacts with the system 100 (referred to in Figure 9 as the " Marketplace ") via a client 104 such as a desktop computer, tablet or mobile phone.
  • the user accesses the system 100 by providing login details (if the user is registered). If the user is not registered, the user can choose to go through the sign-up process or use the system 100 on a one-off basis.
  • the user provides his/her name, contact details and other details such as date of birth, gender, etc. This account setup operation can be repeated for other persons registered under the same account, such as the user's spouse, children, etc.
  • the system 100 then obtains profile settings of the user. This may include: (a) scoring/selection of main interests; (b) grading of importance of various primary categories (where the primary categories are determined by the platform for different types of product and used as the basis of a scoring template by the rating company); (c) price sensitivity; and (d) marketing preferences (e.g. whether the user wishes to receive emails or message for product/service offers with a minimum PV value of a certain predetermined threshold PV value for a predetermined location (e.g. city, state, province, country or region)).
  • a predetermined threshold PV value e.g. city, state, province, country or region
  • the user profile data provided by a user during account set-up can be refined through optional calibration and/or back-testing of profile settings to fine-tune or perfect the user's profile data (see Figure 10).
  • the user can then conduct searches on the system 100 to look for and read information on specific product/services, and input parameters that will return an optimised ranking of products/services based on user-specific value (or personalised value (PV)).
  • the user data management component 110 controls the process of creating and editing user account data for a user, and is stored in the user database 120.
  • User account data may include the following:
  • User account identifier that uniquely identifies the user's account.
  • User account information which includes basic details of the user (e.g. first and last name, email address, contact number, address, country of residence, gender, date of birth, nationality, passport/travel ID, etc.), payment details (e.g. credit/debit card numbers and/or online payment account information such as PayPal), details of memberships (e.g. account numbers for loyalty programmes that the user participates in - such as for a hotel group or airline), and details of the user's main interests (e.g. a rating representing a level of importance of certain categories of interests - such as culture, architecture, beach/sea, city life, restaurants, drinks, nature/outdoors, etc.).
  • Each user account can be associated with user profile data for one or more user profiles, where each user profile represents the user's preferences, requirements or other attributes relating to a search for a particular type of product.
  • a user can have multiple user profiles for the same product type. For example, a user may setup a first profile under "Hospitality" as a product type with related accommodation preferences set for a solo adventure (e.g. flexible on where to stay, where comfort and service are of little importance, and where convenience is quite important). As a further example, the user may setup a second profile under "Hospitality” as a product type with related accommodation preferences for a romantic couple getaway (e.g.
  • User profile data for each profile may include the following: a. User profile identifier that uniquely identifies the user profile. b. User profile name. A user-defined name for the user profile. c. Product type data representing a user-selected product type associated with the user profile. The user may select a product type that has already been defined in product data stored in the product database 122.
  • the product type data may indicate the type/class of products to search (e.g. "Hospitality"), and may further include data indicating which sub-categories of products to search (e.g. "hotels”).
  • a user profile may be associated with multiple (different) product types. Parameters (iii)(c) to (iii)(g) in this paragraph are provided for each product type associated with the user profile.
  • Price factor data representing a price factor (or pricing parameter) that indicates an importance of price to the user when purchasing a product (of the selected product type) that has both price dependent features/attributes and non-price dependent features/attributes.
  • the price factor represents what the user considers to be an acceptable trade-off between a product's price dependent features/attributes and its price.
  • the price factor is rating value selected by the user (e.g.
  • the price factor may be a percentage value determined based on a rating value selected by the user (e.g. using a mapping table based on Table 2 that is stored in the database 120/122). It will be understood that the values shown in Table 2 are provided merely as an example, and that different rating, weight and price factor values can be used to implement the methods and systems of the present invention.
  • Table 2 e.
  • Price range data representing the user's target/budget price range for the selected product type to which the user profile relates (e.g. for a specific search and booking or purchase). In one embodiment of the invention, it is optional to define price range data in a user profile. If no price range data is defined for a user profile, the user will need to specify the price range when conducting a search of the system 100 using that user profile.
  • Preference data representing the user's grading of the importance of (or “rating”) each primary category (or one or more of such primary categories) associated with the selected product type. For example, the one or more primary categories associated with the selected product type can be determined based on a predetermined mapping table in the product database 122, an example of which is shown in Table 1.
  • the user's rating value (or grade) for each primary category is a value selected by the user that reflects the importance of that category to purchasing decisions for the selected type of product.
  • the user's rating value may be an integer value from 1 to 5, where a value of 5 means the category is very important to the user, and a value of 1 means the category is not important at all to the user. It will be understood that other rating values can be used to implement the methods and systems of the present invention.
  • FIG. 4 is a flow chart illustrating an exemplary process 400 for creating or editing user account data for a particular user, including creating or editing user profile data for one or more product types associated with the user's account.
  • Process 400 is performed by the processor 204 of the server 102 under the control of computer-readable instructions from the user data management component 110.
  • Process 400 begins at step 402 where the user data management component 110 controls the server 102 to receive user input indicating either to create user account data for a new user account record in the user database 120, or edit the user account data in a selected existing user account record in the user database 120.
  • the user data management component 110 controls the server 102 to receive user input representing user account information relating to the user, and stores the user account information in the user database 120.
  • the user data management component 110 controls the server 102 to receive user input, and determine whether the user has selected to create a new user profile record in the user database 120 or edit an existing user profile. If so, the process 400 continues at step 408. Otherwise, the process 400 ends after step 406.
  • the user data management component 110 controls the server 102 to receive user input representing a user profile name, and store it as part of the data for a user profile in the user database 120.
  • the user data management component 110 controls the server 102 to receive user input representing a selected product type, and store it as part of the data for a user profile in the user database 120. The user may select a product type that has already been defined in product data stored in the product database 122.
  • the user data management component 110 controls the server 102 to receive user input representing price factor data (as described above) for the selected product type, and store it as part of the data for a user profile in the user database 120.
  • the user data management component 110 controls the server 102 to receive user input representing price range data, which represents the user's target/budget price range for the selected product type to which the user profile relates.
  • the user data management component 110 controls the server 102 to receive user input representing primary preference data (as described above) for each primary category (or one or more such primary categories) associated with the selected product type, and store this as part of the data for a user profile in the user database 120.
  • the user data management component 110 controls the server 102 to receive user input, and determine whether the user has selected to define user parameters for another product type under the same user profile being setup or edited in preceding steps. If so, the process 400 continues at step 410, where steps 410 to 416 are repeated to define (in the same user profile being setup or edited in preceding steps) additional user profile data relating to another product type. Otherwise, process 400 continues at step 420.
  • the user data management component 110 controls the server 102 to receive user input, and determine whether the user has selected to define another user profile associated with the same user account. If so, the process 400 continues at step 408, where steps
  • process 400 ends after step 420.
  • the exemplary embodiments described above involve a user self-declared profile by ascribing values and preferences for various categories during the profile creation process. This step can be shortened by selecting default profiles suggested by the system and several profiles can be saved depending on who the user is and the context.
  • Figure 10 is a high-level diagram of the exemplary processes 1000 for refining a consumer user's profile data and parameters.
  • a consumer can set-up one or more user profile (step 1002) prior to conducting a search. Parameters from the selected profile will be used to prepopulate relevant search fields prior to conducting a search. The user would have the ability to choose generic profiles that have been pre-defined by the platform (step 1004).
  • a consumer user may set-up a user profile using a declaration-based approach.
  • the user would populate his/her profile including: (i) selection of main interests, (ii) grading of importance of various primary categories for a type of product to which the user profile relates, and (iii) price sensitivity for a type of product to which the user profile relates.
  • User can be provided with the option to further refine/improve its profiling (in order to get more accurate personal valuations and therefore rankings). For example, as described with reference to Figure 10, a user's profile data may be refined by one or more of the following approaches:
  • A/B testing refers to a randomised test consisting of two variants (designated A and B respectively) that differ by a single variable (e.g. a single parameter or a narrow/specific set of circumstances).
  • the user is required to select one of the two variants to determine which of the two variants is more effective or attractive to the user (or users of a similar type). For example, this would consist in the server 102 displaying two identical types of products/services at a certain price (that need not be identical for the 2 options) to the users and select which he/she would prefer or whether they would see them as being of equal value from a personal standpoint, i.e.
  • step 10101 Use of metadata to true-up some of the stated preferences (step 10101 fe.g. using nationalities or genders to adjust for observed skew/bias and cultural referential). This does not require any active user input or interaction, rather, over time, the server 102 will identify or derive some patterns in user profiles and skews in their declared preferences based on specific attributes of the user. For example, a NoSQL database that may be used to record the search platform's 100 search data and derive meta-data (not necessarily specific to the user) that can be applied to the user based on his/her profile. These would be used to adjust the user profile to fit the algorithm intended rating scale (in terms of declared preferences). For instance, a 3 out of 5 importance of comfort for a 20-year old traveller is unlikely to carry the same expectation as it would for a 60-year old traveller.
  • User search and selection patterns will also, over time, provide a certain amount of data or search and selection "track-record' that can be used to refine profiling (step 1012). For instance, a user may declare performance and price as very important factors when looking to purchase electronics goods such as a laptop but his track record of previous searches and purchases indicate that brand and look/design are actually significant factors as well so that the profile may be adjusted accordingly through machine learning.
  • the ranking component 112 controls the search engine component 118 to retrieve search results (i.e. product records in the product database 122) based on a user's search parameters and also the user profile data from the selected user profile.
  • the ranking component 112 also controls the ranking of the search results received by the search engine component 118 according to a user-specific score, which can also be referred to as a single non-monetary "personalised value" (PV) based on which product comparison and ranking between products and services of the same nature can be performed.
  • PV non-monetary "personalised value”
  • FIG. 5 is a flowchart illustrating an exemplary process 500 for ranking search results according to a user-specific score (or PV) according to a representative embodiment of the present invention.
  • Process 500 is performed by the processor 204 of the server 102 under the control of computer-readable instructions from the ranking component 112 and search engine component 118.
  • Process 500 begins at step 502 where the ranking component 112 controls the server 102 to receive user input identifying a specific user conducting the search. This enables the server 102 to access a stored user profile (at step 506) in order to conduct searches and rank the search results according to the user's personal preferences stored in the user profile, and facilitate a transaction resulting from the search (e.g. a booking utilising the name, credit card number, age stored in the user profile).
  • a transaction resulting from the search e.g. a booking utilising the name, credit card number, age stored in the user profile.
  • the user may log-in to the system before conducting a search.
  • the user may provide details for identifying the user (e.g. a user account identifier) as part of the search parameters to enable the system to identify the user conducting a particular search.
  • the search can also be done without providing personal information but then no stored user profile can be retrieved and applied, in which case, at the time of the search the user will need to provide profile information or select a default stored user profile (step 1004).
  • the ranking component 112 controls the server 102 to receive user input representing search parameters for a search.
  • the search parameters should include at least: (i) data identifying a user profile of the user (e.g. a user profile name or identifier) noting that if the user is not logged in then this information will not be retrieved from the user database 120 but can be provided by the user at that point in time, including through the selection of a default profile; and/or (ii) product type data identifying a specific type of product to search.
  • the search parameters may include one or more other user profile data parameters (e.g. price factor data, price range data, and preference data).
  • the ranking component 112 controls the server 102 to access (based on the user profile name/identifier or the product type data received in step 504) user profile data corresponding to one of the user's user profiles stored in the user database 120.
  • the ranking component 112 controls the search engine component 118 to conduct searches of the product database 122 based on a search criteria based on the search parameters received from the user (and/or based on at least part of the user's user profile data).
  • the search may identify one or more product records in the product database 122 that are relevant to the search criteria used, and the search engine component 118 retrieves one or more data fields from the product data of the product records identified as relevant in the search.
  • the ranking component 112 controls the server 102 to generate a user-specific score (or PV) for each product identified as relevant in the search.
  • the user-specific score is generated based on the user profile data of the user conducting the search, and the product data for each product record identified as relevant in the search.
  • the ranking process is described in more detail below with reference to Figures 6 A, 6B and 6C.
  • the ranking component 112 controls the server 102 to rank the product records in the search results based on the PV value generated for each product record in step 510.
  • a product record with a higher PV value will be ranked higher than that a product record with a lower PV value.
  • the ranking component 112 may only perform ranking of product records with a PV value above a predetermined threshold PV value (set by the user).
  • the ranking component 112 controls the server 102 to generate results data representing a set of product records that are ranked according to step 512.
  • the results data may include one or more of the following in respect of one or more of the product records contained in the results data: (i) the rank of the product within the results, (ii) the price of the product, (iii) the adjusted price of the product (see step 312 in process 300), and (iv) the PV value that the system 100 has generated for the user conducting the search.
  • the results data may be provided in different formats - for example, as structured data (e.g. as a data table, or data in XML or JSON format), as data that can be used to generate a graphical display (e.g. a webpage in HTML format).
  • the results data is transmitted to a client 104, which the client 104 uses to generate a suitable display interface of the results data for the consumer user to review.
  • Process 500 ends after step 516.
  • the user can select one or more of the products identified in the results to review more specific detailed information about the product.
  • the server 102 may generate a product presentation page (Figure 18), product metareview and ratings page (Figure 19), or a product offers page ( Figure 20) to provide further information on the product to the user.
  • the user can interact with the server 102 to select, book, order, reserve or purchase a selected product/service, and in that event, the server 102 will coordinate the relevant acquisition, payment and receipt issuing process.
  • Figure 18 is an exemplary display of a product presentation page generated by the server 102 (for display on the client 104) to present further detailed information on a product selected from the search results.
  • the further detailed information is obtained from information stored in the product database 122, and may include for example: a brief description of the product, summary of key facilities, contact information, address, type of products available by the same service provider (such as other rooms available in the same hotel), and one or more photographs of the product's features or facilities.
  • Figure 19 is an exemplary display of a product metareview and ratings page generated by the server 102 (for display on the client 104) to present detailed information on the product's primary ratings and metareviews provided by a reviewer.
  • information is obtained from information stored in the product database 122, and may include for example: overall opinion and comments by a reviewer, ratings/scores and comments for each primary category, metareview and comments (e.g. on key positive and negative points regarding the product, and suitability of the product for which kind of consumers/users).
  • Figure 20 is an exemplary display of a product offers page generated by the server 102 (for display on the client 104) to present currently available offers relating to a selected product, such as details of different packages available for rooms of the same type at a particular hotel.
  • Figures 6A, 6B and 6C are flow charts illustrating more detailed examples of the processing steps performed in step 510 of process 500 according to different representative embodiments of the present invention. The steps in Figures 6A, 6B and 6C will be described with reference to an example as shown in Tables 1 to 5. As shown in Figure 6A, after step 508, process 500 continues to step 510a to obtain the primary categories associated with a particular product (e.g. using Table 1) identified as relevant in the search results (see Table 3 column 1).
  • the ranking component 112 controls the server 102 to obtain the primary ratings / scores data for the product (see Table 3 column 5), monetary value of the secondary attributes of the product (see Table 5 column 4), and price data for the product (see Table 5 column 3).
  • the ranking component 112 controls the server 102 to access the user's primary preference data from the user's profile data (see Table 3 column 2).
  • the ranking component 112 controls the server 102 to generate weight coefficient data for each primary category associated with the product (see Table 3 column 4).
  • the weight coefficient data may be generated by first converting the user's primary preference data values for each primary category (see Table 3 column 2) into a corresponding weight equivalent value (e.g. using the mapping between "Rating" and " Weight " in Table 2). A weight coefficient value is then generated for each primary category based on the weight equivalent value for each primary category as a percentage of the total of all weight equivalent values for all primary categories associated with the product.
  • the ranking component 112 controls the server 102 to generate weighted primary ratings data for each primary category associated with the product. For example, this may be generated based on the product (multiplication) of the primary rating value for each primary category (Table 3 column 5) with the weight coefficient for that primary category (Table 3 column 4), The product may again be multiplied by a Unear adjustment factor (e.g. 10).
  • the weight primary ratings data for one or more primary categories associated with the product may be adjusted based on the secondary attributes data of the product.
  • the ranking component 112 controls the server 102 to access from the product database 122 the estimated price data for each secondary attribute of the product that is ascribed with (or defined to have) monetary value.
  • Whether a secondary attribute is ascribed with (or defined to have) monetary value is determined (e.g. by a rating company) by reference to predefined criteria, including for example whether the product supplier (or a similar or comparable product supplier in the market) would charge a monetary amount for providing the secondary attribute separately from the product in question.
  • the secondary attribute ascribed with monetary value is the inclusion of breakfast for two persons in the daily room rate (see Table 5 column 3).
  • the monetary value of such secondary attribute(s) ascribed with monetary value will be provided by the rating company, as part of its rating and review of the product and services provided by a supplier, based on pricing for comparable offerings in terms of location (if applicable), quantity, quality, etc. (e.g. breakfast in a similar type of hotel in the same city or area) (see Table 5 column 4).
  • the estimate price of the secondary attributes is used to generate an adjusted price for the product (see Table 5 column 5), e.g. by deducting the estimate price of all secondary attributes from the original price of the product represented by the price data.
  • the ranking component 112 controls the server 102 to generate an average price based on the price range data provided by the user (or defined in the user's user profile) (see Table 4).
  • the average price generated at step 5101 may be used at step 510m.
  • the ranking component 112 controls the server 102 to generate price adjustment data representing a price score determined based on a particular price (or adjusted price) of the product, and the user's sensitivity to price.
  • the price adjustment data is generated based on a price function f(x) (which is based on a Sigmoid function or "S-curve” because of its shape) as shown in Equation 1, with boundaries set between 0 and 1 (or 0% and 100%), where x represents the price (or adjusted price) of the product, and S represents a steepness (or slope) of the price function. Equation 1
  • the price adjustment data is generated based on a price function f(x) as shown in Equation 2.
  • Equation 2 is the same as Equation 1, except that the parameter x in Equation 1 is replaced with (x / M-1), where M represents a mid-point (or average) of the target/budget price range provided by the user.
  • the parameter (x /M-1) in Equation 2 allows the price scores generated by the price function f(x) to be based on (or centred around) a mid-point (or average) of the target/budget price range provided by the user (M), noting that price (or adjusted price) x is a value without upper boundary that can change dramatically across currencies and geographies.
  • the price function /(x) should be based on an "inverted S-curve" which means S would have a negative value (i.e. a negative slope as x increases in value).
  • the "steepness" of the price function For instance, where the price (or adjusted price) x is 20% lower or higher than the mid-point M, a slope with a value of "-1" would translate into a score of 55% and 45% respectively. A slope of "-3" would return scores of 65% and 35% respectively. A slope of "-5" would return 73% and 27% respectively.
  • the parameter S can have any value from -1 to -10 (or in theory, even lower), or a specific value of either: -1, -3, -5 or -10.
  • the value of parameter S is -5.
  • M 150
  • the adjusted product price x is 170
  • the slope S of the price function f(x) is -5
  • Equation 2 would generate a price score of 0.34.
  • the ranking component 112 controls the server 102 to access the user's price factor data representing a price factor (e.g. see Table 5 column 2) associated with the type of the product.
  • a price factor e.g. see Table 5 column 2
  • the ranking component 112 controls the server 102 to generate a user-specific score (or personalised value (PV) score) for the product.
  • the user-specific score (or PV score or PV value) represents a single, non-monetary value ascribed to any produce/service.
  • a user-specific score may be generated based on Equation 3, where:
  • index i represents non-price dependent primary categories associated with the product
  • index k represents price dependent primary categories associated with the product
  • s represents a rating value for the primary category corresponding to index i or k (e.g. obtained from primary ratings data for the product)
  • w represents a weight coefficient value corresponding to each rating value s ;
  • P represents a price factor based on price factor data defined in a user profile
  • f(x) represents a price function determined using either Equation 1 or 2
  • scaling factor represents a value used to convert the weight coefficient values (when expressed as a percentage, e.g. 12.3%) into a corresponding numeric value (e.g. 12.3).
  • the scaling factor can be determined as a single predefined value, or based on a lookup table that associates different weight coefficient values to a corresponding numeric values.
  • Equation 3 generates a user-specific score based on a sum of three parameter values.
  • a first parameter value is generated based on the expression which represents the sum of the weighted scores for each non-price dependent primary category associated with the product (e.g. Table 3 column 6), where such weighted scores are generated by the rating values for each non-price dependent primary category associated with the product (e.g. Table 3 column 5) multiplied by their respective weight coefficients (e.g. Table 3 column 4).
  • the first parameter value corresponds to the sum in Table 3 column 7.
  • a second parameter value is generated based on the expression (1 — P) x where the factor (1-P) representing a factor determined based on the user's price factor data (e.g.
  • Table 4 column 2 is multiplied by the weighted scores for each price dependent primary category associated with the product (e.g. Table 3 column 6). Such weight scores are generated based on the ratings value for each price dependent primary category associated with the product (e.g. Table 3 column 5) multiplied by their respective weight coefficients (e.g. Table 3 column 4).
  • Table 3 column 4 the second parameter value corresponds to the sum in Table 3 column 8.
  • a third parameter value is generated based on the expression P x f(x) x where the factor P representing a factor determined based on the user's price factor data (e.g. Table 5 column 2) is multiplied by a price adjustment factor (or price score) generated based on Equation 1 or Equation 2 for a particular price (or adjusted price) of the product, which is then multiplied by the sum of weight coefficients for each price dependent primary category associated with the product (e.g. Table 3 column 4). Since the weight coefficients in Table 3 are expressed as a percentage, the scaling factor is used to convert the percentage value (e.g. 12.3%) into a corresponding numeric value (e.g. 12.3).
  • the third parameter value corresponds to the sum in Table 3 column 9, where the price adjustment factor is 0.34 (generated using Equation 2 based on the adjusted price of the product), and the scaling factor is 100.
  • the user-specific value generated for the product is 52.79.
  • the ranking component 112 determines whether there is a need to generate a user-specific value for another product. For example, if a user-specific value has been generated for all products identified in the search results, process 500 proceeds to step 512. Alternatively, if a user-specific value has not been generated for all products identified in the results, process 500 proceeds to step 510a where steps 510a to 51 Oi are repeated to generate user-specific values for those products.
  • Equation 3 can be modified and be improved over time by using input from behavioural economics experts and machine learning. Experts would be able to devise new or improve existing formulas based on their own knowledge and research of customer biases, decision making process, etc. For example, Equation 3 can be improved upon through additional variables and other non-linear formulas (e.g. for determining a scaling factor) for instance although the underlying principle of computing a single value (the PV) based on product/services rating values, product price (or adjusted price), and user-specific parameters (e.g. from user profile data) is intended to remain unchanged.
  • Machine learning can also be used to devise new algorithms that better match user selections, for instance through backtesting historical data and looking for algorithm with a closer match rate / lower standard deviation between projected and actual selection by users.
  • Figure 6B is a variation of the process described with reference to Figure 6 A.
  • the process in Figure 6B contains all of the steps in Figure 6A, except that step 5101 is omitted, and step 510m generates price adjustment data based on the adjusted price of the product (e.g. based on Equation 1) without the price function f(x) taking into account an average price of the product.
  • Figure 6C is a variation of the process described with reference to Figure 6 A.
  • the process in Figure 6C contains all of the steps in Figure 6A, except that steps 510c, 510j, 510h, 510k and 5101 are omitted.
  • Step 510m generates price adjustment data based on the price of the product (e.g. based on Equation 1) without the price function f(x) taking into account an average price of the product or an adjusted price of the product.
  • Ranking would not be based on monetary value or other binary (on/off) filters but on one single non-monetary value, the user-specific (PV) value.
  • a supplier uploads details (including price) of each product/service offered into the product database 122.
  • the product database 122 can be hosted directly on a server 102 (the supplier would access it through their dedicated account) or on a totally separate platform (e.g. on their own system or hosted by a third party) in which case the platform database would be populated and refreshed regularly (including at the time of the user search) through API calls.
  • Rating companies provide a set of scores and monetary values for various categories/aspects of the service/product that have been identified. These categories would be common for comparable products/services across all suppliers. This data would be provided by the Rating company through their account on the system 100 and would be hosted in a database on the system 100 (e.g. the product database 122 or a separate rating database which is not shown in Figure 1), alongside the product/services to which they relate.
  • a User would create a profile at the time of signing up to the system 100, such profile can be refined over time and includes personal information such as age or gender but also preferences in relation with services/products (i.e. what aspect of those, and to what degree, are important to the user).
  • a profile can be created just prior to a search without the User having signed up to the platform, in which case the profile information is only stored temporarily for the purpose of the search. Completion of a transaction would however require the User to sign up towards the end of the process.
  • a User would access the system 100 via a website through a client 104 (e.g. a personal computer or mobile app), sign-in if the user is a registered user with an existing account and stored profile, and the user would enter the relevant search parameters.
  • client 104 e.g. a personal computer or mobile app
  • sign-in if the user is a registered user with an existing account and stored profile
  • the user would enter the relevant search parameters.
  • a hotel night that would be information such as location, number of nights, number of guests, which user profile is to be applied (several profiles can be stored by a User on his/her account), target price range and apply optional filter such as whether breakfast needs to be available, if onsite parking is required, etc. (the list is not exhaustive). Applying search parameters and binary filters reduces the number of services/products offering taken into consideration by the platform for any given search.
  • the server 102 would then retrieve the relevant scores, monetary values and profile parameters from the relevant database on the system 100, and then compute the PV for the appropriate offering subset as per the formula applicable for this type of product / service.
  • the server 102 will then display a list of the search results ranked by PV, with the highest value being the best match from a user personal perspective.
  • the User can click on each offering to see details and proceed with his/her desired selection to complete a purchase or booking.
  • the analytics component 114 of the system 100 is adapted to provide analytics services to suppliers based on the user-specific (PV) value generated by different users for products offered by a supplier, as well as PV-value based ranking (or PVR), to enable suppliers to have a more accurate view of how well their products are performing as compared with their competitors based on their selected target user profiles.
  • PV user-specific
  • PVR PV-value based ranking
  • the platform will show that by decreasing price for a product by X%, the PVR will improve by Y or that an X% decrease in price is required to rank in top ranking (e.g. 3) by PVR.
  • the analytics component 114 is a powerful tool as it enables a supplier to:
  • optimise pricing and/or product offering for the customer base it seeks to target (those would have profile settings that may yield a more favourable PV and/or PVR for that specific supplier's product/services);
  • the analytics service is preferably made available through the supplier account on the system 100, in the form of a dashboard with a customisable display.
  • a supplier master account display interface (1104) that allows the supplier to access an analytics dashboard (1116), an inventory and price calendar (which allows the supplier to configure the dates on which certain products the supplier provides are available and their corresponding price at different dates), and various product/property administration features.
  • the analytics dashboard (1116) can be adapted to provide a summary of analysis based on one or more of the following: (i) occupation and revenue metrics; (ii) live and historical personal value (PV) ranking per profile; (iii) live and historical price difference to be in the top 1 , 3 , 10 or median for destination and profile; (iv) historical ranking per destination and product category for all user searches; (v) show a number of product hits or notifications (e.g. gross and per target profile) over a predetermined period of time (e.g. last 3 months, last 1 month, last 1 week, etc.); and (vi) show a number of user searches of the relevant destination over a predetermined period of time (e.g. last 3 months, last 1 month, last 1 week, etc.).
  • a predetermined period of time e.g. last 3 months, last 1 month, last 1 week, etc.
  • the product/property administration features may include: (i) a product/service/property editing module 1106 for the supplier to edit the presentation (e.g. layout and/or contents) of information on a product to users of the system 100; (ii) an offers editing module 1108 for the supplier to add or edit the details relating to any specific offer of the supplier on the system 100; (iii) an accounts management module for the supplier to access statements, invoices, and evidence of payment (or related payment reference details) relating to any transactions in respect of a supplier's product on the system 100; (iv) a marketing space module 1112 for the supplier to access and/or adjust marketing options and services on the system 100; and (v) a dashboard settings module 1114 for the supplier to define the product items to be monitored in the analytics dashboard, configure the views or presentation of information on the analytics dashboard, and define the types of user profiles to be monitored (e.g. based on Personal Value ranking).
  • a product/service/property editing module 1106 for the supplier to edit the
  • FIG 12 is a high-level flow diagram of the key steps performed by the analytics component of the system according to a representative embodiment of the invention.
  • the process 1200 shown in Figure 12 begins at step 1202 with the supplier logging into the system 100 and then selecting (at step 1204) the product/services offering that the supplier is interested to monitor.
  • the supplier selects (at step 1206) which predetermined user profiles it wants to run analysis on (e.g. to check PV and PVR generated based on those user profiles for the selected products offered by the supplier).
  • These user profiles can be set and stored in association with the supplier’s account on the system 100, although some default profiles will also be made available by the system 100.
  • the server 102 uses the relevant algorithm (e.g. as described with reference to Figures 6A, 6B and 6C) to compute the PV and PVR for each product based on the selected user profiles and offerings.
  • the results are displayed on the platform account of the supplier.
  • the system 100 may generate the PV and/or PVR values for selected products offered by the supplier on the system 100 based on the selected user profile(s) (step 1208).
  • the system 100 may also generate PV and/or PVR values for selected products offered by the supplier on the system 100 to test a scenario where the price of such products changes by a value (e.g. x%) determined by the supplier (step 1210).
  • the supplier is able to check the impact on pro-forma PV and PVR values (generated for each selected product using the selected user profiles as described above) if it adjusts the price of its product offering (either upwards or downwards). For instance, if the price is hypothetically lowered by US$30 (which can also be expressed as a percentage), the server 102 regenerates (based on the same algorithm and selected profiles) pro-forma PV and PVR values of the same selected products offerings.
  • the changes in pro-forma PV and PVR values can be compared, such that based on such a comparison (or one or more trends identified from such a comparison) an optimal price point can be determined that will achieve a proforma PV and/or PVR value that falls within, above or below a target PV or PVR value range set by the supplier.
  • the system 100 may also determine (in respect of selected products offered by the supplier on the system 100) a value of change in price of those products required in order for those products to achieve at least a target PVR value and/or target PV rank for searches conducted by selected user profile(s) (step 1212). This may involve computing a required PV to reach the target ranking and a reverse computation of pro-forma price the product should have.
  • the supplier can also set or define one or more persistent indicators showing, for example, the required price adjustment as a percentage to be with a user-defined threshold of top PV values or PV ranking (e.g. in the top 3 and/or top 1 PVR). This would essentially work the same way as described above, except that the computation could be done immediately when the supplier logs into his/her analytics dashboard on the platform (rather than prompting the platform to run a PV/PVR simulation for a specific price adjustment).
  • the user-specific value (or PV value) generated for products in accordance with the present invention (either as an absolute value or as the driver of ranking for a product/service) is central to the advertising services offered by the advertising component 116 of the system 100 because it can be used to compare against the PV of other offerings in the same category of product/services.
  • a supplier will be able to select its advertising target user base on the basis of users’ profile, relevant previous user searches, pro-forma absolute PV and/or PVR for its offering. This is particularly advantageous because it enables: (i) advertising on the basis of a nonmonetary value that is comparable across other offerings; and (ii) the ability to target only those users for which the PV value and/or PV ranking is high enough so as to maximise the probability of triggering a purchase.
  • suppliers can upload different versions of their presentation page on the marketplace based on different user profiles.
  • the advertising services provided to suppliers will also enable them to automate how they offer promotions on the back of such requests so that it can be done at scale.
  • the advertising component 116 allows users or suppliers (as applicable) to define criteria and number of recipients of a promotion or marketing communication (e.g. whether an advertising message is sent to a user's personal email address or to a user account inbox on the system 100). For instance, an airline may send a marketing email/message with a promotional price to: (i) all the Users that have expressed an interest for this location and for which the pro- forma PV ranks at the top of all comparable offers from other airlines; or (ii) a predefined number (e.g. 5,000) of top users by pro-forma PV provided that their offer also ranks above that of other airlines by pro-forma PV.
  • a predefined number e.g. 5,000
  • the advertising component 116 can configure the server 102 to perform: i) An airline supplier has a low load factor on a certain route, and decides to decrease the price to attract more customers. It changes its price for that route and relevant date range in the system 100 (e.g. either directly or indirectly through a regular/prompted API call from product database 122 to the supplier's database). ii) An employee of the airline logs into the supplier's account on the system 100 and requests the system 100 to run a PV computation for the Users having expressed an interest for this route. The platform will run the relevant algorithm to compute both PV values and PV ranks. iii) The airline employee then filters out Users (e.g.
  • the airline employee controls the system 100 to select a user-defined number of top entries (e.g. the top 5,000 users) in terms of having PV value (absolute level) that satisfies the condition in step (iii) above, and then generate advertisements and/or marketing message to inform those users of promotions, changes in price etc. through an appropriate means of communication.
  • a user-defined number of top entries e.g. the top 5,000 users
  • Users will also be provided with the ability to set their "marketing profile" so that they specify what type of product services they are interested in receiving promotions for and what the PV and/or PVR thresholds which acts as a filter. Users can also specifically notify certain suppliers that they are interested in promotions subject to PV and PVR threshold they specify being met. For instance, using the airline route example, a user could request for flights from a London airport to Bali, Indonesia within a certain date range and budget and have a PV higher than a user-defined PV value (e.g. 75) (determined based on the user's profile) to be advertised to that user.
  • a user-defined PV value e.g. 75
  • Figure 13 is a high-level diagram showing the exemplary key steps 1300 relating to advertising services provided according to a representative embodiment of the invention.
  • the advertising component 116 controls the server 102 to perform steps including:
  • Select parameters e.g. based on location, specific characteristics, or threshold for PV value or ranking
  • Select parameters for receiving offers/advertisements to be received by mail and/or in the user's account inbox on the system 100.
  • Parameters and profiles are disclosed (on an anonymous basis) to suppliers to suggested price adjustment to achieve such parameters.
  • the suggested price adjustments may be generated based on a process performed by the analytics component 114 as described above.
  • the advertising component 116 controls the server 102 to enable the supplier to carry out the following steps on the system 100 or server 102 to determine a set of consumer users who may be interested in receiving the supplier's marketing campaign for a product offered by the supplier on the system 100: (i) define parameters and requirements for tailored marketing campaigns/offers for specific user profiles, including indicating preferences and thresholds such as pro-forma PV value and/or PV ranking; (ii) obtain analytics to better understand trends, competitive positioning, and whether a marketing campaign has been successful; and (iii) automated pricing scale for marketing campaigns, where for example, automated pricing for marketing campaigns for a particular product may be determined based on a process performed by the analytics component 114 as described above.
  • FIG 14 is a high-level flow diagram of an exemplary process 1400 performed by the advertising component 116 for providing advertising services for suppliers according to a representative embodiment of the invention.
  • the process 1400 in Figure 14 begins at step 1402 with the supplier logging into the system 100.
  • the supplier selects one or more products/services it wishes to initiate a marketing campaign on.
  • the supplier may then select specific user profiles to determine characteristics of user profiles of users who may be potentially interested in the supplier's product/services.
  • this may involve identifying: (i) users who have expressed an interest for the product/service selected by the supplier or the location at which the selected product/service is provided; (ii) users who have previously purchased or searched for product/services related to the selected products/services, or are provided in an adjacent location; or (iii) user profiles that match one or more supplier- specified characteristics.
  • the advertising component 116 based on products/services selected by the supplier, and characteristics of user profiles provided by the supplier (if any), the advertising component 116 then generates a short list of users for sending advertising messages based on certain selection criteria (e.g.
  • the advertising component 116 identifies or selects specific users that match the criteria (e.g. all users that meet the criteria, or a predefined top X number of users by PV that meet the criteria) and generates advertising messages to those users.
  • FIG. 15 is a high-level flow diagram of an exemplary process 1500 performed by the advertising component 116 for providing advertising services to users according to a representative embodiment of the invention.
  • the process 1500 in Figure 15 begins at step 1502 with the user logging into the system 100.
  • the user selects one or more products/services for which it wishes to receive promotions (e.g. advertising messages).
  • the selection of products at step 1504 may be refined based on features of the product, the location of the product/service and/or the supplier.
  • the user then defines qualification criteria for receiving promotions (e.g.
  • the advertising component 116 then identifies the specific products/services that meet the criteria set by the user, and signals the user's interest to the relevant suppliers of those products/services.
  • the user specific (PV) value computation described above can be performed for a single product or service. However, a user specific (PV) value can also be generated for a combination of different products or services.
  • the objective of this "Aggregate PV" (APV) would be to maximise the value to the user based on his or her search criteria that may or may not include a set budget.
  • An example of this application would include the creation of an itinerary in the travel space.
  • An itinerary comprises of different parts of a journey, where each part corresponds to an offer from a supplier to be purchased or booked in relation to a different aspect of a journey.
  • an itinerary may comprise of a first part being a transport leg from a point of departure to a destination. This may be followed by subsequent parts corresponding to one or several nights' accommodation in possibly different locations. This again may be followed by subsequent parts corresponding to further transport legs between the different accommodations and activities during the day.
  • the itinerary may typically conclude with a final part being a transport leg to return to the initial departure point.
  • the system 100 generates a user specific (PV) value for the product offers for each part of the itinerary (e.g.
  • the system 100 Based on the PV values generated for each part of the itinerary, the system 100 generates a single user specific (PV) value for different combinations, selections or groupings of product offers available for that itinerary. Depending on user preference, each combination, selection or grouping may contain a different selection of product offers, and each may contain a different number of product offers. Each combination, selection or grouping of offers would correspond to a different proposed itinerary, which are ranked based on a combined user specific (PV) value generated based on the combination of offers for each itinerary (or APV). The system 100 ranks the itineraries according to their respective APVs and generates results data for presenting these results to the user.
  • PV user specific
  • Such capabilities or services currently do not exist with itineraries currently set and selected in the following ways: (i) pre-determined set of itineraries arranged "by hand" and offered by travel agencies (online or offline) on the basis of their own experience, suppliers network and the customer's stated preferences; or (ii) itineraries generated based on artificial intelligence (AI) that focus on optimising the journey part of the itinerary but not the quality and/or value of the itinerary to the user (e.g. in terms of which hotels to stay at, the type of activities to do at different locations, etc.).
  • AI artificial intelligence
  • a consumer user might be looking for a 10-day trip in Italy for a couple, flying in from Hong Kong at specific dates in the month of May.
  • the user would specify his/her budget and type of interest (e.g. cultural, food) and set or select a relevant user profile for this trip.
  • the system 100 would then generate PV s for various alternative itineraries in terms of location, mode of transport (e.g. including transport for different schedules/timing both for land, sea and air transport) and transport providers, accommodation, activities and sights.
  • itinerary recommendations can be generated automatically and dynamically by the system 100.
  • the system 100 generates a combined user specific (PV) value for each itinerary (i.e. the APV or also referred to as the itinerary PV (IPV)) based on Equation 4, where:
  • PV i represents the PV of one of the itinerary constituents (such as air travel, or the first of second accommodation);
  • Wi represents the weight of PV i and will itself be the output of a non-linear equation so as to take into account the biases of human emotions and memory. For instance, the first and last impressions matter more in terms of how memorable a journey is, and our memory is also disproportionally affected by experiences of higher intensities (e.g. emotional and/or physical).
  • the non-linear equation mentioned above will also take into account aspects such as fatigue (e.g. when a journey involves travelling over several days).
  • Equation 4 can be adapted so as to be bounded (e.g. capped at 100% or 100 depending on a scaling factor) where the key parameters such as number of days are set.
  • Equation 4 can be adapted so as to be unbounded where typically the longer the itinerary is the higher the IPV will be. In the former scenario, the following condition would apply:
  • Another context for the use of the Aggregate PV would for instance be grocery shopping with a limited budget.
  • the system 100 would calculate an IPV for a shopping list of products in a similar way that would allow for the optimisation of value to a specific individual based on his/her profile and search parameters.
  • the APV relies on two levels of computation: (i) a first process for generating a PV of each of the items that can potentially be selected; and (ii) an aggregation process for generating an APV based on the previously generated PVs of the potential items to be included.
  • FIG. 16 is a high-level flow diagram of an exemplary itinerary design process 1600 according to a representative embodiment of the invention.
  • Process 1600 begins at step 1602 where a system 100 is configured to receive input from a consumer user representing a selected or relevant profile for conducting a search.
  • the selected profile should contain information on the importance of each primary category, and data representing the importance of price to the user.
  • the system 100 is configured to receive user input representing further search criteria from the user, including (for example) one or more of the following: (i) location of departure and return, (ii) date ranges and/or duration of travel; (iii) budget range; (iv) destination; and (v) specific activities and/or signs to be included in the travel itinerary. These inputs define the constitute parts of the travel itinerary.
  • the system 100 conducts searches of the product database 122 to identity a set of potentially relevant products for each constituent part of the travel itinerary based on the search parameters provided by the user and the selected user profile.
  • the system 100 generates user-specific (PV) values for each set of products for each constituent part of the travel itinerary (e.g. based on the approach described above with reference to Figures 5, 6A, 6B, 6C and/or 8), and then computes an aggregate PV for the entire itinerary (e.g. based on the approach described above with reference to Equations 4 and/or 5).
  • PV user-specific
  • step 1610 the various itinerary combinations or each of the constituent parts of the travel itinerary are ranked according to their user-specific values (or scores) and results data is generated for the ranked results for the user.
  • Process 1600 ends after step 1610.
  • FIG. 17 is a high-level flow diagram of an exemplary process 1700 for generating aggregate user specific (PV) values according to a representative embodiment of the invention.
  • the process 1700 begins at step 1702, where the system 100 is configured to receive user input from a consumer user representing search parameters on the type of products/services they wish to find.
  • the user would define budget parameters as part of their search parameters, although this is optional.
  • the system 100 determines whether budget parameters were provided by the user. If so, process 1700 proceeds to step 1706. Otherwise, process 1700 proceeds to step 1716.
  • the system 100 conducts searches of the product database 122 to identify a set of potentially relevant products based on the budget and other search parameters provided by the user.
  • the system 100 generates user-specific (PV) values for the products identified in the search.
  • the system 100 generates an aggregate PV value based on Equation 4 above for the products identified in the search.
  • the system 100 applies the budget parameters to the search results such that the search results only include products that satisfy the budget parameters provided by the user.
  • the system 100 ranks the search results according to their respective aggregate PV values and results data is generated for the ranked results for the user.
  • steps 1716, 1718 and 1720 are performed, which are similar to steps 1706, 1708 and 1710 except that there is no consideration ofbudget parameters in steps 1716, 1718 and 1720.
  • the system 100 (at step 1714) ranks the search results according to their respective aggregate PV values and results data is generated for the ranked results for the user.

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Marketing (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Primary Health Care (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

A computer implemented method of scoring one or more products based on a user-specific score generated specifically for each said product, wherein each said product relates to an item, asset, property, right, offer and/or service, the method comprising: receiving one or more search parameters of a user; accessing product data for said products based on said search parameters, the product data for each said product including at least price data representing a price value associated with said product, and primary ratings data representing a rating score for each primary category associated with said product; accessing profile data for said user, said profile data including preference data representing said user's rating for each said primary category associated with said products, and price factor data representing an importance of price to said user; and generating a user-specific score for each of said products, said score being specific to said user, and is generated for each said product based on the profile data for said user and the product data for said product.

Description

A SEARCH METHOD AND SYSTEM BASED ON PERSONALISED VALUE RANKING
FIELD
The present invention relates to an improved search method and system for products and services, and in particular, a search method and system where the results identified are ranked according to a user-specific score (or personalised value) determined based on one or more characteristics of the product or service, and one or more user-specific preferences corresponding to those characteristics. In this specification, the "products" that are offered or sold by suppliers encompasses both services and products.
BACKGROUND Up to the advent of digital platforms, the main way to rate or score products and services in the hospitality industry was the concept of " stars ", being generally a value from zero to 3, 4 or 5. The parameters are fixed so that the number of stars or absolute score is the same for every user (i.e. not personalised). In addition, there is no mechanism for calculating a "star" rating based on concepts of "value for money " or "price to quality ratio". Furthermore, the "stars" rating system is fragmented in terms of geography, with one rating organisation generally having its methodology and scale only active in one country or region, and the methodology and scale may vary between different countries and regions.
For consumer goods or electronics, there are magazines or websites that specialise in reviews and provide some scores for related products and services (generally using a scale ranging from 0 to 10). The majority ratings would be based on different features, including sometimes "value for money" and provide an overall "blended" score. However, the "value for money" or overall/blended score would be the same for any user, and does not take into account any specific preferences or parameters (e.g. monetary budget) of the user/consumer.
In the hospitality or real estate space, most major platforms do provide filtering (i.e. a binary "yes/no" filter) and sorting (ascending or descending) options so that a user can narrow down a set of available options, and then rank the options according to selected parameters that are relevant or important to the user/consumer. However, although this introduces some degree of customisation, the search and rank functionality is not performed based on a single score or value that takes into account a user's specific preferences or profile settings.
Current alternatives in the form of booking platforms and/or review providers have the following flaws. Reviews from users may not be reliable, and may be skewed and/or unfair. Users may spend lots of time reading through a large number of reviews (many of which are irrelevant) before the significant reward or impact of finding information that is relevant (even if it is a negative review, or if it is fake or exaggerated). The presentation of suppliers is often standardised and does not change based on a user's preferences or profile settings. Searches typically have limited personalisation, except through some yes/no filters or potentially by ticking option boxes (such as 'f ' amily " or "couple"), and in particular, if the underlying data is poor in quality (e.g. in terms of granularity, accuracy and currency) the search results provided will have little added value to users. Search platforms may also display products/services that pay for advertisement at the top, which is often visually misleading in terms of the ranking of results and hence the usefulness and reliability of the search results. The information on offerings provided by a product/service supplier on a search platform are often limited to a few standard options - for example, for hotels it may be room only, or room with breakfast. Flight booking platforms do not generate itineraries that take into account the location of airports, flights schedules and quality of airports (e.g. for lay-over), that research and analysis often need to be done by the user or a travel consultant. Also, prices for flights may not be compared on a like-for-like basis (e.g. some include luggage and others not, some do not include tax or credit card booking fees, etc.). Travel itineraries often involve selecting from pre-packaged tour options, without the ability to design customised itineraries in an automated and optimized way.
The present invention aims to address one or more of the above problems. In particular, representative embodiments of the present invention aim to provide: (i) reliable, relevant and personalised ranking of search results; (ii) trustworthy reviews and meta-reviews of products and/or services; (iii) improved analytic services to suppliers; (iv) more targeted and impactful advertising services to suppliers; and (v) the ability to develop and optimise custom travel itineraries. SUMMARY OF THE INVENTION
According to one aspect of the present invention, there is provided a computer implemented method of scoring one or more products based on a user-specific score generated specifically for each said product, wherein each said product relates to an item, asset, property, right, offer and/or service, the method comprising: receiving one or more search parameters of a user (such as product category, location, dates, etc. as applicable for that product); accessing product data for said products based on said search parameters, the product data for each said product including at least price data representing a price value associated with said product, and primary ratings data representing a rating score for each primary category associated with said product; accessing profile data for said user, said profile data including primary preference data representing said user's rating for each said primary category associated with said products, and price factor data representing an importance of price to said user; and generating a user-specific score for each of said products, said score being specific to said user, and is generated for each said product based on the profile data (e.g. including ratings) for said user and the product data (e.g. including scores and price) for said product.
In the context of the invention described in this specification, the term "category" can be read as a reference to a particular aspect of quality relating to (e.g. specified, predetermined or predefined for) a product or service. Accordingly, the "primary category" can be read as a reference to one or more primary qualities relating to (e.g. specified, predetermined or predefined for) a product or service.
According to another aspect of the present invention, there is provided a computer implemented method of ranking one or more products based on a user-specific score generated specifically for each said product, wherein each said product relates to an item, asset, property, right, offer and/or service, the method comprising: receiving one or more search parameters of a user; accessing product data for said products based on said search parameters, the product data for each said product including at least price data representing a price value associated with said product, and primary ratings data representing a rating score for each primary category associated with said product; accessing profile data for said user, said profile data including primary preference data representing said user's rating for each said primary category associated with said products, and price factor data representing an importance of price to said user; assigning a user-specific score to each of said products, said score being specific to said user, and is generated for each said product based on the profile data (e.g. including ratings) for said user and the product data (e.g. including scores/price) for said product; and ranking said products according to their respective said user-specific scores.
According to another aspect of the present invention, there is provided a computer- readable medium that stores instructions executable by one or more processors for performing any one of the above methods.
According to another aspect of the present invention, there is provided a computer system with one or more processors configured to perform any one of the above methods.
BRIEF DESCRIPTION OF THE DRAWINGS
Representative embodiments of the present invention are herein described, by way of example only, with reference to the accompanying drawings, where like numbers refer to the like features, wherein:
Figure 1 is a block diagram of a search system according to a representative embodiment of the present invention;
Figure 2 is a block diagram illustrating an exemplary internal structure of a computer suitable for implementing the methods and systems of the present invention;
Figure 3 is a flow chart illustrating an exemplary process for creating or editing product data for a product according to a representative embodiment of the present invention;
Figure 4 is a flow chart illustrating an exemplary process for creating or editing user account data for a user according to a representative embodiment of the present invention;
Figure 5 is a flowchart illustrating an exemplary process for ranking search results according to a user-specific score (or PV) according to a representative embodiment of the present invention;
Figures 6A, 6B and 6C are flow charts illustrating more detailed examples of the processing steps for generating a user-specific score for each product according to different representative embodiments of the present invention; Figure 7 is a diagram showing an example of the main high-level interactions between different users of the system;
Figure 8 is a high-level flow diagram of an exemplary process for adjusting the price data and/or primary ratings data for a product according to a representative embodiment of the invention;
Figure 9 is a high-level diagram showing the exemplary key steps and features relating to user account setup and profiling according to a representative embodiment of the invention;
Figure 10 is a high-level diagram of the exemplary processes for refining user profile data and parameters according to the present invention;
Figure 11 is a high-level diagram illustrating the component features provided by the analytics component of the system according to a representative embodiment of the invention;
Figure 12 is a high-level flow diagram of the key steps performed by the analytics component of the system according to a representative embodiment of the invention;
Figure 13 is a high-level diagram showing the exemplary key steps relating to advertising services provided according to a representative embodiment of the invention;
Figure 14 is a high-level flow diagram of an exemplary process for providing advertising services for suppliers according to a representative embodiment of the invention;
Figure 15 is a high-level flow diagram of an exemplary process for providing advertising services to users according to a representative embodiment of the invention;
Figure 16 is a high-level flow diagram of an exemplary itinerary design process according to a representative embodiment of the invention;
Figure 17 is a high-level flow diagram of an exemplary process for generating aggregate user specific (PV) values according to a representative embodiment of the invention;
Figure 18 is an exemplary display of a product presentation page generated according to a representative embodiment of the present invention;
Figure 19 is an exemplary display of a product meta-review and ratings page generated according to a representative embodiment of the present invention; and
Figure 20 is an exemplary display of a product offers page generated according to a representative embodiment of the present invention. DETAILED DESCRIPTION OF THE REPRESENTATIVE EMBODIMENTS
Figure 1 is a block diagram of a search system 100 according to a representative embodiment of the present invention. The search system 100 comprises a server 102 that communicates with one or more clients 104 over a communications network 106.
The server 102 may be provided as a dedicated computer (e.g. with an exemplary internal structure as shown in Figure 2) that is adapted to handle significant volumes of data processing and exchange between internal components of the computer as well as with other devices or clients 104 over the communications network 106. The server 102 includes suitable operating system software (e.g. Microsoft™ Windows Server™, Ubuntu™, Red Hat™ Enterprise Linux™, or the like) to handle network communications as well as data communications and coordination between internal components of the server 102.
The client 104 can be any personal electronic device that can communicate with the server 102 over a communications network 106. For example, a client 104 may include a convention personal computer (e.g. with an exemplary internal structure as shown in Figure 2), mobile phone, personal digital assistant, table computing device, or a similar or equivalent device. The client 104 includes suitable operating system software (e.g. Microsoft™ Windows™, MacOS™, iOS™, Android™, or the like) to handle network communications as well as data communications and coordination between internal components of the client 104.
The communications network 106 includes any means of wired or wireless data communications between two or more electronic devices (e.g. between the client 104 and server 102). For example, the communications network 104 may include one or more of a wireless network (e.g. using WiFi™, Bluetooth™ etc.), a local area network (LAN), a wide area network (WAN), public switched telephone network (PSTN), the Internet, a mobile telecommunications network (e.g. a GSM™, CDMA™, UMTS™, LTE™, LTE-A™ network), and direct physical connections that enable data communications between different electronic devices.
Figure 2 is a block diagram illustrating an exemplary internal structure of a computer 200, which includes a bus 202, a processor 204, a main memory 206, a read-only memory (ROM) 208, a storage device 210, one or more input devices 212, one or more output devices 214, and a communications interface 216. The bus 202 includes one or more conductors for the components of the computer to communicate (e.g. send or exchange data) with each other.
The processor 204 may include one or more conventional microprocessors, microcontrollers, or similar or equivalent data/signal processing components (e.g. an Application Specific Integrated Circuit (ASIC) or Field-Programmable Gate Array (FGPA)) configured to interpret and execute instructions (including in the form of code or signals) provided to the processor 204. The main memory 206 may include a conventional random access memory (RAM) device or another type of volatile data storage device that can store information and instructions for execution by the processor 204. The ROM 208 may include a conventional read-only memory device or another type of non-volatile data storage device that can store information and instructions for execution by the processor 204. The storage device 210 includes any persistent electronic data storage device (e.g. a hard drive), which may comprise of a magnetic, optical or circuit-based data recording medium and any related circuitry and physical components for reading and writing data to/from the recording medium.
The input device 212 may include one or more conventional mechanisms or sensors for a user to input information to, or control the operation of, the client 104 or server 102 (e.g. a mouse, keyboard, capacitive sensor, camera, microphone, etc.). The output device 214 may include one or more conventional mechanisms or sensors for the client 104 or server 102 to present information to the user (e.g. a display, printer, speaker, etc.). The communications interface 216 may include any means of data communication from the client 104 or server 102 to another device (e.g. a wired or wireless network adaptor card).
As shown in Figure 1, the server 102 communicates with a user database 120 and a product database 122. The user database 120 contains data on users of the system 100 (such as user profile data). The product database 122 contains data representing certain characteristics of products and services. A database refers to any means of storing and accessing a structured data set, including for example, one or more of the following: a relational database, a distributed database, an object-oriented database, and one or more structured data files (e.g. a Comma Separated Value (CSV) file, Extensible Markup Language (XML) file, JavaScript Object Notation (JSON) format file). The database 120/122 may be provided either on the server 102, or on a separate computing device that the server 102 controls according to a known or predetermined Application Programming Interface (API) or communications protocol. The user database 120 may comprise of one or more other databases that capture search data relating to the searches conducted by each user, such as data representing on what keywords or parameters were used in a user's search, what results were returned, what products were viewed, selected, ordered and/or purchased by the user. In a representative embodiment of the invention, the server 102 includes components (e.g. 114 and/or 116) that are adapted to conduct statistical analysis on such search data to derive metadata relating to a user's interests or preferences, which can be used to improve the profiling of users (e.g. where such metadata collected in respect of a particular user is used to verify and/or adjust any user profile parameters for that user). Metadata can also be derived across a wider set of users and if relevant, applied to improve the profiling of the user.
The server 102 includes various components 108 to 118, each of which are adapted to configure and/or control the processor 204 of the server 102 to execute instructions to implement the methods and processes according to the principles of the present invention. The components 108 to 118 may be implemented on the server 102 as part of a web-based application that interacts with users via a client 104 (e.g. via a web browser or client-based application) to provide a digital marketplace for users to search for, read on and identify relevant products/services based on the user's search criteria and user profile parameters.
In the exemplary embodiment shown in Figure 1, the server 102 includes a product data management component 108, a user data management component 110, a ranking component 112, an analytics component 114, an advertising component 116, and a search engine component 118. Each of the components 108 to 118 may be implemented either in the form of: (i) one or more software modules corresponding to a set of computer-readable instructions stored in memory 206 for controlling the operation of a processor 204 to implement methods and processes according to the present invention; or (ii) data processing circuitry/components (e.g. a microcontroller, ASIC or FGPA) adapted to implement methods and processes according to the present invention; or (iii) a combination of software modules and data processing circuitry/components as described above that work in cooperation with each other to implement the methods and processes according to the present invention.
In a representative embodiment of the invention (as shown in Figure 1), the ranking component 112 is adapted to interoperate with the search engine component 118 to provide a digital marketplace (e.g. via a digital or server-based application) where the search engine component 118 identifies one or more results from the product database 122 (i.e. products or services) based on search parameters in a user's search query and the relevant user profile in database 120, and the ranking component 112 ranks the results based on a user-specific score (or personalised value) assigned to each result according to the principles of the present invention. The search engine component 118 may comprise of convention search engine software (e.g. an Apache™ Lucene™ or Solr™ search engine or the like) that can index and retrieve data records based on the contents of such data records.
In another representative embodiment of the invention, the server 102 includes at least a ranking component 112 that is adapted to communicate and interoperate with an external search engine (e.g. a search engine that is located on a separate server, or is maintained and/or operated by a different service provider) to provide a digital marketplace where the search engine identifies one or more results from the product database 122 (i.e. products/services) based on search parameters in a user's search query, and the ranking component 112 ranks the results based on a user-specific score (or personalised value) assigned to each result according to the principles of the present invention. In this exemplary scenario, the product data management component 108, user data management component 110, analytics component 114, and advertising component 116 may each be located on the same server 102 as the ranking component 112, or alternatively, may be located on one or more separate servers that work together. The communications and interoperation between the components 108-116, their respective servers, and the external search engine may be controlled according to known or predetermined APIs or communications protocols.
Figure 7 is a diagram showing an example of the high-level interactions 700 between users of the search system 100 (referred to in Figure 7 as the " Marketplace ") according to a representative embodiment of the present invention. At step 702, suppliers ofproducts/services and consumer users establish an account on the system 100. At step 704, the suppliers supply the details of the product/service, including for example: availability and price. Those details will be supplemented (at step 708) by: (i) metareviews provided by a rating company, and (ii) scores for the various product / service categories also provided by a rating company to the system 100. The rating company scoring and review process may entail physical announced or unannounced visits to the suppliers to test the product/service pursuant to the arrangement as agreed between the supplier and rating company (see step 706). The reviewer provides ratings and other metadata (such as review comments) on the product/service and provides this to the system 100. The system 100 can provide services to suppliers including: presentation of products/services; allow consumer users to find details on the range of products/services offered by the supplier (e.g. including price, other terms and conditions, and inventory availability); advertisement services; and analytics services. Consumer users can then access the system 100 through electronic devices such as a desktop computer, tablet or mobile phone. At step 710, prior to using the system 100, the user may create a user account and set-up various user profiles for search purposes. At step 712, the user can either log in to use the system 100 together with the user's stored profiles, or obtain one-off access to the system 100 without signing in. The system 100 can provide services to consumer users including: sign-up and profile setting (including marketing preferences); search services; ranked display of product/service offers; detailed information about supplier product/services (including related ratings and metareviews); and the selection, booking and/or purchase of an offered product/service. Product database
The product data management component 108 controls the process of creating and editing product data for a product in the product database 122. In this specification, and in the context of the present invention, the term "product" may refer to either a product or a service. In particular, a "product" may relate to an item, asset, property, right, offer and/or service. According to a representative embodiment of the invention, the information in the product database 122 comprises of information provided by the product supplier (e.g. the exact nature of the product, inclusions, terms and conditions, and availability (e.g. based on inventory levels and/or dates)) and information provided by a rating company (e.g. all other types of information described below). However, in alternative embodiments of the invention, the information for a product in the product database 122 may be provided entirely by the product supplier or rating company (different from the product supplier).
Each product/service is broken down into one core offering and (potentially) one or more secondary attribute(s). There may not be any secondary attribute if the product/service is straightforward and directly comparable to others in the market. For instance, a hotel stay package could have the night (i.e. sleeping in a bedroom) as the core offering and breakfast, spa vouchers, airport pick-up, etc. would be secondary attributes. A car could come with several options (leather seats, sunroof, anti-lock braking, etc.) and an extended warranty. The core offering is given rating values/scores based on several aspects (e.g. comfort and convenience for a hotel, camera quality and memory size for a handphone, etc.)· Score range (e.g. from 0 to 10) will be set by the system.
The secondary attributes are either: (i) given a monetary value (based on comparables, if price is not directly observable), or (ii) are taken into account through an adjustment of the scores/rating of the core offering. This decision and valuation exercise is carried out by the rating companies based on the existing and potential offerings of the supplier. This enables the product/service to be valued and therefore compared and ranked either on the basis of its PV value as described above.
The product data for each product represents characteristics or attributes of a product, which for example, may include one or more of the following:
(i) Product identifier data that uniquely identifies each product.
(ii) Product type data comprising of data representing a product type (or class) to which each product belongs. Preferably, the data representing product type is selected from a predetermined set of options defined in the product database 122 (such as hospitality, air travel, transport, consumer goods, cars, real estate). The product type data may further include data representing a more specific sub-category of products within the selected type of product. For example, where "Hospitality" is selected as the product type, there may be one or more additional fields for defining a sub-categories (or even a sub-category within a sub-category) to which a product belongs (e.g. "hotel", "hostel", "guesthouse" , "bed & breakfast", " glamping " etc.). Preferably, the data representing a sub-category of the product is selected from a predetermined set of options defined in the product database 122.
(iii) Price data including data representing a specific price value for each product in a specific configuration (e.g. a standard hotel room with sea view).
(iv) Primary ratings data representing a rating value within a predetermined range of values (e.g. a value from 1 to 10, where 10 is best) for each primary category associated with a particular type of product. Primary ratings data is generated in respect of features that are core to the product offering (e.g. features that are comparable across all suppliers, such as for one hotel night). This information may be provided by a rating company (separate and independent from the product supplier). For example, the one or more primary categories associated with a particular type of product can be determined based on a predetermined mapping table in the product database 122, an example of which is shown in Table 1. The primary categories consist of " price dependent” categories and/or "non-price dependent" categories. A "non-price dependent" category refers to features or qualities of the product that will be assessed and valued on moral grounds or principles (e.g. environmental policy and projects of a supplier, carbon footprint of a product, ethical & social practice of a supplier such as diversity and working conditions). A user can define parameters in its user profile data (stored in the user database 120) that determine how the presence or absence of a certain "nonprice dependent” feature may affect (e.g. increase or decrease) the ultimate user specific score (or PV) for the product. A "price dependent" category represents features that would entail a degree of trade-off by the user at the time of his/her selection between absolute score and price (e.g. the level of comfort of a hotel room or the convenience of a flight route as compared to another one). The degree of trade-off is personalised for each user based on a user-defined price importance parameter that is stored in the user profile data for that user in the user database 120.
Figure imgf000013_0001
Table 1
(v) Secondary attributes data representing one or more secondary attributes of a particular product. This information may be provided by a rating company (separate and independent from the product supplier). Where a secondary attribute relates to a feature that affects a primary rating score for a product, the secondary attributes data for that feature will include a score adjustment factor representing a predetermined upward or downward adjustment to one or more specific primary categories. Where a secondary attribute relates to a feature that has or can be ascribed a monetary value (e.g. breakfast for two persons included with a one night hotel stay), a rating company could ascribe a monetary value for that feature either based on pricing data provided by the product supplier and/or an estimated price determined based on observable comparables (e.g. the cost of breakfast for two from the same or similar hotels). A monetary value determined for a secondary attribute will be used to adjust the price of the core offering for purpose of the user specific score (or PV) computation whilst the score uplift factor will be taken into account to adjust the score of one or several primary categories scores for the product.
(vi) Other information associated with the product, which includes any kind of data or information relating to the product, including metadata such as review comments, hyperlinks, photographs, drawings, images, etc.
Preferably, the above characteristics of each product (and in particular the primary ratings data and secondaiy attributes data) are provided by a user that has no connection or affiliation with the provider of the product or service (e.g. an independent third-party reviewer). This helps ensure that information provided by the user (in particular the primary ratings and secondary attributes) are accurate, impartial and unbiased.
Figure 3 is a flow chart illustrating an exemplary process 300 for creating or editing product data for a product that corresponds to a record in the product database 122. Process 300 is performed by the processor 204 of the server 102 under the control of computer-readable instructions from the product data management component 108. Process 300 begins at step 302 where the product data management component 108 controls the server 102 to receive user input (e.g. from the product supplier or rating company) indicating either to create product data for a new product record in the product database 122, or edit the product data in a selected existing product record in the product database 122. When a new product record is being created, specific details of the product being evaluated is required (e.g. a detailed product description including information on availability of the product, terms and conditions, pricing etc). Preferably, the product supplier provides this information to server 102. However, in alternative embodiments, it is possible for a rating company to provide such information to the server 102 either based on the rating company's independent research or based on information it receives from the product supplier.
At step 304, the product data management component 108 controls the server 102 to receive user input (e.g. preferably from the product supplier, or alternatively, by a rating company) representing product type data corresponding to a product, and store the product type data in the product database 122. The user input may represent a product type selected from a predetermined set of predetermined product types stored in the product database 122.
At step 306, the product data management component 108 controls the server 102 to receive user input (e.g. preferably from the product supplier, or alternatively, by a rating company) representing price data corresponding to the product, and store the price data in the product database 122. The price data represents a monetary value of the product in a specific configuration. Preferably, where a product can be provided in different configurations (e.g. a car with black metallic paint), separate product records will be created in the product database 122.
At step 308, the product data management component 108 controls the server 102 to receive user input (e.g. preferably from a rating company) representing primary ratings data corresponding to each primary category associated with the product, and store the primary ratings data in the product database 122. The server 102 may determine the primary categories associated with the product (or the product type) by reference to a predetermined mapping table (e.g. as shown in Table 1) stored in the product database 122. The primary ratings data comprises of data representing a rating value (or score) for each primary category, where the rating value is within a predetermined range of values (e.g. a set of discrete and evenly spaced numbers ranging from 1 to 10, at 0.25 or 0.5 increments, where 10 is best). The rating value (or score) for each primary category represents a level or degree (in the opinion of a user/reviewer) to which the product satisfies certain predetermined criteria or requirements that are specific to each primary category.
At step 310, the product data management component 108 controls the server 102 to receive user input (e.g. preferably from a rating company) representing secondary attribute data corresponding to one or more secondary attributes associated with the product, and store the secondary attribute data in the product database 122. The user input provided to the server 102 determines the secondary attributes associated with the product by reference to a predetermined list or table of secondary attributes that are associated with the product (of the product type). The secondary attribute data may indicate the presence (or absence) of additional features to the core offering of the product, such as whether the room rate of a hotel room (the product) includes breakfast (a secondary attribute).
At step 312, the product data management component 108 controls the server 102 to receive user input (e.g. preferably from a rating company) that controls the adjustment of price data and/or primary ratings data for the product based on the secondary attributes data for that product. The adjusted price data and/or adjusted primary ratings data is stored in the product database 122. An example of the steps performed in connection with step 312 is described in greater detail with reference to Figure 8. Process 300 ends after step 312.
Figure 8 is a high-level flow diagram of the exemplary steps performed in connection with step 312 of process 300 (as shown in Figure 3). In process 800, step 802 corresponds to steps 302 and 304 of process 300. Step 804 corresponds to step 306 of process 300. Steps 806 and 808 correspond to step 308 of process 300. Step 810 corresponds to step 310 of process 300. At step 812, the product data management component 108 controls the server 102 to receive user input (e.g. preferably from a rating company) that defines which secondary attributes of the product (as defined in step 310) are features that affect a primary rating score for a product. For each of those secondary attributes, component 108 controls the server 102 to receive user input (e.g. preferably from a rating company) representing a score adjustment factor representing a predetermined upward or downward adjustment to each of one or more specific primary categories of the product. The score adjustment factor can represent a value that is added to or subtracted from the rating value given to a particular primary category of the product at step 308 (or 806 and 808). Alternatively, the score adjustment factor can represent a percentage value based on which the rating value given to a particular primary category of the product at step 308 (or 806 and 808) is adjusted
At step 820, where the score adjustment factors (from step 812) affect the primary rating values for one or more specific primary categories of the product, the primary rating values for those specific categories are adjusted based on the score adjustment factors. The score adjustment at step 820 will typically be upward as secondary attributes would provide an uplift in experience or quality versus the core product offering. However, this ultimately depends on what is defined as the core product offering (e.g. generally, but not always, the "market standard" for such a product or service) and there may be cases where the adjustment to the rating is a negative one. For instance, if a hotel is offering rooms in a wing of the building undergoing renovation works with negative impact on the customer experience (e.g. WiFi not working, or there is noise and/or dust), the rating company may make a downward adjustment to one or several primary categories (e.g. the category of "comfort"). In this case, it is likely that the hotel would compensate this lower value by decreasing its price or providing additional benefits.
At step 814, the product data management component 108 controls the server 102 to receive user input (e.g. preferably from a rating company) that defines which secondary attributes of the product (as defined in step 310) are features that have or can be ascribed a monetary value.
At step 816, for each of those secondary attributes, component 108 controls the server 102 to receive user input (e.g. preferably from a rating company) representing an estimate price of the feature. The estimate price may be a monetary value for that feature either based on pricing data provided by the product supplier or an estimated price of that feature determined (e.g. preferably from a rating company) based on observable comparables in the relevant market (e.g. the cost of similar features from a comparable provider). Where the product contains secondary attributes ascribed with monetary value, the estimated monetary value of the secondary attributes is deducted from the price of the product to determine an estimated "net price" based on which the user specific value (or PV value) will be computed. The nonmonetary aspects of the secondary attributes will be taken into account when determining scores for the primary categories for the core product (see step 820).
At step 818, data representing an adjusted price of the product is generated based on the price of the product (obtained at step 306/804) and the estimated price of the secondary attributes (from step 814). For example, the adjusted price of the product may be determined by subtracting the estimated price of the relevant secondary attributes from the original price of the product. At step 822, price data and primary ratings data for the product in the product database 122 is updated with the adjusted price of the product (from step 818) and the adjusted primary ratings (from step 820) respectively. The other user inputs received and data generated in steps 812 to 820 may also be stored in the product database 122.
User accounts and user profiles
Figure 9 is a high-level diagram showing an exemplary process 900 for user account setup and profiling performed according to a representative embodiment of the invention. A consumer user interacts with the system 100 (referred to in Figure 9 as the " Marketplace ") via a client 104 such as a desktop computer, tablet or mobile phone. At step 902, the user accesses the system 100 by providing login details (if the user is registered). If the user is not registered, the user can choose to go through the sign-up process or use the system 100 on a one-off basis. To setup an account for a consumer user, the user provides his/her name, contact details and other details such as date of birth, gender, etc. This account setup operation can be repeated for other persons registered under the same account, such as the user's spouse, children, etc. At step 904, the system 100 then obtains profile settings of the user. This may include: (a) scoring/selection of main interests; (b) grading of importance of various primary categories (where the primary categories are determined by the platform for different types of product and used as the basis of a scoring template by the rating company); (c) price sensitivity; and (d) marketing preferences (e.g. whether the user wishes to receive emails or message for product/service offers with a minimum PV value of a certain predetermined threshold PV value for a predetermined location (e.g. city, state, province, country or region)). At step 906, the user profile data provided by a user during account set-up can be refined through optional calibration and/or back-testing of profile settings to fine-tune or perfect the user's profile data (see Figure 10). At step 908, the user can then conduct searches on the system 100 to look for and read information on specific product/services, and input parameters that will return an optimised ranking of products/services based on user-specific value (or personalised value (PV)).
The user data management component 110 controls the process of creating and editing user account data for a user, and is stored in the user database 120. User account data may include the following:
(i) User account identifier that uniquely identifies the user's account. (ii) User account information, which includes basic details of the user (e.g. first and last name, email address, contact number, address, country of residence, gender, date of birth, nationality, passport/travel ID, etc.), payment details (e.g. credit/debit card numbers and/or online payment account information such as PayPal), details of memberships (e.g. account numbers for loyalty programmes that the user participates in - such as for a hotel group or airline), and details of the user's main interests (e.g. a rating representing a level of importance of certain categories of interests - such as culture, architecture, beach/sea, city life, restaurants, drinks, nature/outdoors, etc.).
(iii) User profile data. Each user account can be associated with user profile data for one or more user profiles, where each user profile represents the user's preferences, requirements or other attributes relating to a search for a particular type of product. A user can have multiple user profiles for the same product type. For example, a user may setup a first profile under "Hospitality" as a product type with related accommodation preferences set for a solo adventure (e.g. flexible on where to stay, where comfort and service are of little importance, and where convenience is quite important). As a further example, the user may setup a second profile under "Hospitality” as a product type with related accommodation preferences for a romantic couple getaway (e.g. would only like to stay in a hotel, bed & breakfast or glamping, where atmosphere is very important, comfort and convenience are also quite important and price is of moderate importance). User profile data for each profile may include the following: a. User profile identifier that uniquely identifies the user profile. b. User profile name. A user-defined name for the user profile. c. Product type data representing a user-selected product type associated with the user profile. The user may select a product type that has already been defined in product data stored in the product database 122. For example, the product type data may indicate the type/class of products to search (e.g. "Hospitality"), and may further include data indicating which sub-categories of products to search (e.g. "hotels”). A user profile may be associated with multiple (different) product types. Parameters (iii)(c) to (iii)(g) in this paragraph are provided for each product type associated with the user profile. d. Price factor data representing a price factor (or pricing parameter) that indicates an importance of price to the user when purchasing a product (of the selected product type) that has both price dependent features/attributes and non-price dependent features/attributes. In other words, the price factor represents what the user considers to be an acceptable trade-off between a product's price dependent features/attributes and its price. In a representative embodiment of the invention, the price factor is rating value selected by the user (e.g. an integer value from 1 to 5, where a rating of 5 means price is very important, and a rating of 1 means price is not at all important). In another representative embodiment of the invention, the price factor may be a percentage value determined based on a rating value selected by the user (e.g. using a mapping table based on Table 2 that is stored in the database 120/122). It will be understood that the values shown in Table 2 are provided merely as an example, and that different rating, weight and price factor values can be used to implement the methods and systems of the present invention.
Figure imgf000020_0001
Table 2 e. Price range data representing the user's target/budget price range for the selected product type to which the user profile relates (e.g. for a specific search and booking or purchase). In one embodiment of the invention, it is optional to define price range data in a user profile. If no price range data is defined for a user profile, the user will need to specify the price range when conducting a search of the system 100 using that user profile. f. Preference data representing the user's grading of the importance of (or “rating”) each primary category (or one or more of such primary categories) associated with the selected product type. For example, the one or more primary categories associated with the selected product type can be determined based on a predetermined mapping table in the product database 122, an example of which is shown in Table 1. In a representative embodiment of the invention, the user's rating value (or grade) for each primary category is a value selected by the user that reflects the importance of that category to purchasing decisions for the selected type of product. For example, the user's rating value may be an integer value from 1 to 5, where a value of 5 means the category is very important to the user, and a value of 1 means the category is not important at all to the user. It will be understood that other rating values can be used to implement the methods and systems of the present invention.
Figure 4 is a flow chart illustrating an exemplary process 400 for creating or editing user account data for a particular user, including creating or editing user profile data for one or more product types associated with the user's account. Process 400 is performed by the processor 204 of the server 102 under the control of computer-readable instructions from the user data management component 110. Process 400 begins at step 402 where the user data management component 110 controls the server 102 to receive user input indicating either to create user account data for a new user account record in the user database 120, or edit the user account data in a selected existing user account record in the user database 120. At step 404, the user data management component 110 controls the server 102 to receive user input representing user account information relating to the user, and stores the user account information in the user database 120.
At step 406, the user data management component 110 controls the server 102 to receive user input, and determine whether the user has selected to create a new user profile record in the user database 120 or edit an existing user profile. If so, the process 400 continues at step 408. Otherwise, the process 400 ends after step 406.
The following steps are performed to define (for a particular user profile associated with the user account being set-up or edited in preceding steps) user profile data for a particular type of product. At step 408, the user data management component 110 controls the server 102 to receive user input representing a user profile name, and store it as part of the data for a user profile in the user database 120. At step 410, the user data management component 110 controls the server 102 to receive user input representing a selected product type, and store it as part of the data for a user profile in the user database 120. The user may select a product type that has already been defined in product data stored in the product database 122. At step 412, the user data management component 110 controls the server 102 to receive user input representing price factor data (as described above) for the selected product type, and store it as part of the data for a user profile in the user database 120. At step 414, the user data management component 110 controls the server 102 to receive user input representing price range data, which represents the user's target/budget price range for the selected product type to which the user profile relates. At step 416, the user data management component 110 controls the server 102 to receive user input representing primary preference data (as described above) for each primary category (or one or more such primary categories) associated with the selected product type, and store this as part of the data for a user profile in the user database 120. At step 418, the user data management component 110 controls the server 102 to receive user input, and determine whether the user has selected to define user parameters for another product type under the same user profile being setup or edited in preceding steps. If so, the process 400 continues at step 410, where steps 410 to 416 are repeated to define (in the same user profile being setup or edited in preceding steps) additional user profile data relating to another product type. Otherwise, process 400 continues at step 420.
At step 420, the user data management component 110 controls the server 102 to receive user input, and determine whether the user has selected to define another user profile associated with the same user account. If so, the process 400 continues at step 408, where steps
408 to 418 are repeated to define (in the same user account being setup or edited in preceding steps) user profile data for a new user profile associated with the user account setup or edited in preceding steps. Otherwise, process 400 ends after step 420. Advanced contextual user profiling
The exemplary embodiments described above involve a user self-declared profile by ascribing values and preferences for various categories during the profile creation process. This step can be shortened by selecting default profiles suggested by the system and several profiles can be saved depending on who the user is and the context.
Figure 10 is a high-level diagram of the exemplary processes 1000 for refining a consumer user's profile data and parameters. A consumer can set-up one or more user profile (step 1002) prior to conducting a search. Parameters from the selected profile will be used to prepopulate relevant search fields prior to conducting a search. The user would have the ability to choose generic profiles that have been pre-defined by the platform (step 1004).
Alternatively, at step 1006, a consumer user may set-up a user profile using a declaration-based approach. The user would populate his/her profile including: (i) selection of main interests, (ii) grading of importance of various primary categories for a type of product to which the user profile relates, and (iii) price sensitivity for a type of product to which the user profile relates. User can be provided with the option to further refine/improve its profiling (in order to get more accurate personal valuations and therefore rankings). For example, as described with reference to Figure 10, a user's profile data may be refined by one or more of the following approaches:
(i) A/B testing through examples (step 10081. For avoidance of doubt, "A/B testing " refers to a randomised test consisting of two variants (designated A and B respectively) that differ by a single variable (e.g. a single parameter or a narrow/specific set of circumstances). The user is required to select one of the two variants to determine which of the two variants is more effective or attractive to the user (or users of a similar type). For example, this would consist in the server 102 displaying two identical types of products/services at a certain price (that need not be identical for the 2 options) to the users and select which he/she would prefer or whether they would see them as being of equal value from a personal standpoint, i.e. they are as likely to purchase one as the other. This operation would be repeated several times in order to both check the validity of the user current profile (i.e. are the user’s A/B choices consistent with the PV values computed through the PV algorithm) and refine the profiling by amending or calibrating some of the user-declared preferences.
(h) Use of metadata to true-up some of the stated preferences ( step 10101 fe.g. using nationalities or genders to adjust for observed skew/bias and cultural referential). This does not require any active user input or interaction, rather, over time, the server 102 will identify or derive some patterns in user profiles and skews in their declared preferences based on specific attributes of the user. For example, a NoSQL database that may be used to record the search platform's 100 search data and derive meta-data (not necessarily specific to the user) that can be applied to the user based on his/her profile. These would be used to adjust the user profile to fit the algorithm intended rating scale (in terms of declared preferences). For instance, a 3 out of 5 importance of comfort for a 20-year old traveller is unlikely to carry the same expectation as it would for a 60-year old traveller.
(hi) User search and selection patterns will also, over time, provide a certain amount of data or search and selection "track-record' that can be used to refine profiling (step 1012). For instance, a user may declare performance and price as very important factors when looking to purchase electronics goods such as a laptop but his track record of previous searches and purchases indicate that brand and look/design are actually significant factors as well so that the profile may be adjusted accordingly through machine learning.
Ranking search results based on a PV value The ranking component 112 controls the search engine component 118 to retrieve search results (i.e. product records in the product database 122) based on a user's search parameters and also the user profile data from the selected user profile. The ranking component 112 also controls the ranking of the search results received by the search engine component 118 according to a user-specific score, which can also be referred to as a single non-monetary "personalised value" (PV) based on which product comparison and ranking between products and services of the same nature can be performed.
Figure 5 is a flowchart illustrating an exemplary process 500 for ranking search results according to a user-specific score (or PV) according to a representative embodiment of the present invention. Process 500 is performed by the processor 204 of the server 102 under the control of computer-readable instructions from the ranking component 112 and search engine component 118. Process 500 begins at step 502 where the ranking component 112 controls the server 102 to receive user input identifying a specific user conducting the search. This enables the server 102 to access a stored user profile (at step 506) in order to conduct searches and rank the search results according to the user's personal preferences stored in the user profile, and facilitate a transaction resulting from the search (e.g. a booking utilising the name, credit card number, age stored in the user profile). In a representative embodiment of the invention, the user may log-in to the system before conducting a search. Alternatively, the user may provide details for identifying the user (e.g. a user account identifier) as part of the search parameters to enable the system to identify the user conducting a particular search. The search can also be done without providing personal information but then no stored user profile can be retrieved and applied, in which case, at the time of the search the user will need to provide profile information or select a default stored user profile (step 1004).
At step 504, the ranking component 112 controls the server 102 to receive user input representing search parameters for a search. The search parameters should include at least: (i) data identifying a user profile of the user (e.g. a user profile name or identifier) noting that if the user is not logged in then this information will not be retrieved from the user database 120 but can be provided by the user at that point in time, including through the selection of a default profile; and/or (ii) product type data identifying a specific type of product to search. In addition to product type data, the search parameters may include one or more other user profile data parameters (e.g. price factor data, price range data, and preference data). At step 506, the ranking component 112 controls the server 102 to access (based on the user profile name/identifier or the product type data received in step 504) user profile data corresponding to one of the user's user profiles stored in the user database 120.
At step 508, the ranking component 112 controls the search engine component 118 to conduct searches of the product database 122 based on a search criteria based on the search parameters received from the user (and/or based on at least part of the user's user profile data). The search may identify one or more product records in the product database 122 that are relevant to the search criteria used, and the search engine component 118 retrieves one or more data fields from the product data of the product records identified as relevant in the search.
At step 510, the ranking component 112 controls the server 102 to generate a user- specific score (or PV) for each product identified as relevant in the search. The user-specific score is generated based on the user profile data of the user conducting the search, and the product data for each product record identified as relevant in the search. The ranking process is described in more detail below with reference to Figures 6 A, 6B and 6C.
At step 512, the ranking component 112 controls the server 102 to rank the product records in the search results based on the PV value generated for each product record in step 510. In a representative embodiment of the invention, a product record with a higher PV value will be ranked higher than that a product record with a lower PV value. In another representative embodiment of the invention, the ranking component 112 may only perform ranking of product records with a PV value above a predetermined threshold PV value (set by the user).
At step 514, the ranking component 112 controls the server 102 to generate results data representing a set of product records that are ranked according to step 512. The results data may include one or more of the following in respect of one or more of the product records contained in the results data: (i) the rank of the product within the results, (ii) the price of the product, (iii) the adjusted price of the product (see step 312 in process 300), and (iv) the PV value that the system 100 has generated for the user conducting the search. The results data may be provided in different formats - for example, as structured data (e.g. as a data table, or data in XML or JSON format), as data that can be used to generate a graphical display (e.g. a webpage in HTML format). At step 516, the results data is transmitted to a client 104, which the client 104 uses to generate a suitable display interface of the results data for the consumer user to review. Process 500 ends after step 516.
In a representative embodiment of the present invention, after the user receives the results data, the user can select one or more of the products identified in the results to review more specific detailed information about the product. For example, the server 102 may generate a product presentation page (Figure 18), product metareview and ratings page (Figure 19), or a product offers page (Figure 20) to provide further information on the product to the user. In addition, the user can interact with the server 102 to select, book, order, reserve or purchase a selected product/service, and in that event, the server 102 will coordinate the relevant acquisition, payment and receipt issuing process.
Figure 18 is an exemplary display of a product presentation page generated by the server 102 (for display on the client 104) to present further detailed information on a product selected from the search results. The further detailed information is obtained from information stored in the product database 122, and may include for example: a brief description of the product, summary of key facilities, contact information, address, type of products available by the same service provider (such as other rooms available in the same hotel), and one or more photographs of the product's features or facilities.
Figure 19 is an exemplary display of a product metareview and ratings page generated by the server 102 (for display on the client 104) to present detailed information on the product's primary ratings and metareviews provided by a reviewer. Such information is obtained from information stored in the product database 122, and may include for example: overall opinion and comments by a reviewer, ratings/scores and comments for each primary category, metareview and comments (e.g. on key positive and negative points regarding the product, and suitability of the product for which kind of consumers/users).
Figure 20 is an exemplary display of a product offers page generated by the server 102 (for display on the client 104) to present currently available offers relating to a selected product, such as details of different packages available for rooms of the same type at a particular hotel. Figures 6A, 6B and 6C are flow charts illustrating more detailed examples of the processing steps performed in step 510 of process 500 according to different representative embodiments of the present invention. The steps in Figures 6A, 6B and 6C will be described with reference to an example as shown in Tables 1 to 5. As shown in Figure 6A, after step 508, process 500 continues to step 510a to obtain the primary categories associated with a particular product (e.g. using Table 1) identified as relevant in the search results (see Table 3 column 1). At steps 510b, 510c and 51 Od, the ranking component 112 controls the server 102 to obtain the primary ratings / scores data for the product (see Table 3 column 5), monetary value of the secondary attributes of the product (see Table 5 column 4), and price data for the product (see Table 5 column 3).
At step 510e, the ranking component 112 controls the server 102 to access the user's primary preference data from the user's profile data (see Table 3 column 2). At step 51 Of, the ranking component 112 controls the server 102 to generate weight coefficient data for each primary category associated with the product (see Table 3 column 4). According to a representative embodiment of the invention, the weight coefficient data may be generated by first converting the user's primary preference data values for each primary category (see Table 3 column 2) into a corresponding weight equivalent value (e.g. using the mapping between "Rating" and " Weight " in Table 2). A weight coefficient value is then generated for each primary category based on the weight equivalent value for each primary category as a percentage of the total of all weight equivalent values for all primary categories associated with the product. At step 510g, the ranking component 112 controls the server 102 to generate weighted primary ratings data for each primary category associated with the product. For example, this may be generated based on the product (multiplication) of the primary rating value for each primary category (Table 3 column 5) with the weight coefficient for that primary category (Table 3 column 4), The product may again be multiplied by a Unear adjustment factor (e.g. 10). At step 51 Oh, the weight primary ratings data for one or more primary categories associated with the product may be adjusted based on the secondary attributes data of the product.
At step 510j, the ranking component 112 controls the server 102 to access from the product database 122 the estimated price data for each secondary attribute of the product that is ascribed with (or defined to have) monetary value. Whether a secondary attribute is ascribed with (or defined to have) monetary value is determined (e.g. by a rating company) by reference to predefined criteria, including for example whether the product supplier (or a similar or comparable product supplier in the market) would charge a monetary amount for providing the secondary attribute separately from the product in question. In the example shown in Table 5, the secondary attribute ascribed with monetary value is the inclusion of breakfast for two persons in the daily room rate (see Table 5 column 3). Preferably, the monetary value of such secondary attribute(s) ascribed with monetary value will be provided by the rating company, as part of its rating and review of the product and services provided by a supplier, based on pricing for comparable offerings in terms of location (if applicable), quantity, quality, etc. (e.g. breakfast in a similar type of hotel in the same city or area) (see Table 5 column 4). At step 510k, the estimate price of the secondary attributes is used to generate an adjusted price for the product (see Table 5 column 5), e.g. by deducting the estimate price of all secondary attributes from the original price of the product represented by the price data.
At step 5101, the ranking component 112 controls the server 102 to generate an average price based on the price range data provided by the user (or defined in the user's user profile) (see Table 4). The average price generated at step 5101 may be used at step 510m.
At step 510m, the ranking component 112 controls the server 102 to generate price adjustment data representing a price score determined based on a particular price (or adjusted price) of the product, and the user's sensitivity to price. In a representative embodiment of the invention, the price adjustment data is generated based on a price function f(x) (which is based on a Sigmoid function or "S-curve" because of its shape) as shown in Equation 1, with boundaries set between 0 and 1 (or 0% and 100%), where x represents the price (or adjusted price) of the product, and S represents a steepness (or slope) of the price function. Equation 1
Figure imgf000028_0001
In another representative embodiment of the invention, the price adjustment data is generated based on a price function f(x) as shown in Equation 2. Equation 2 is the same as Equation 1, except that the parameter x in Equation 1 is replaced with (x / M-1), where M represents a mid-point (or average) of the target/budget price range provided by the user. The parameter (x /M-1) in Equation 2 allows the price scores generated by the price function f(x) to be based on (or centred around) a mid-point (or average) of the target/budget price range provided by the user (M), noting that price (or adjusted price) x is a value without upper boundary that can change dramatically across currencies and geographies.
Equation 2
Figure imgf000029_0001
With regard to the parameter S representing steepness (or slope), because all else being equal a cheaper product/service should score higher than a more expensive one, the price function /(x) should be based on an "inverted S-curve" which means S would have a negative value (i.e. a negative slope as x increases in value). To make the concept of price range relevant, it is necessary to set the "steepness" of the price function. For instance, where the price (or adjusted price) x is 20% lower or higher than the mid-point M, a slope with a value of "-1" would translate into a score of 55% and 45% respectively. A slope of "-3" would return scores of 65% and 35% respectively. A slope of "-5" would return 73% and 27% respectively. A slope of "-10" would return 88% and 12% respectively. Hence, a representative embodiment of the invention, the parameter S can have any value from -1 to -10 (or in theory, even lower), or a specific value of either: -1, -3, -5 or -10. Preferably, in a representative embodiment of the invention, the value of parameter S is -5. For example, where M is 150 (see Table 4), the adjusted product price x is 170 (see Table 5 column 5), and the slope S of the price function f(x) is -5, Equation 2 would generate a price score of 0.34.
At step 510n, the ranking component 112 controls the server 102 to access the user's price factor data representing a price factor (e.g. see Table 5 column 2) associated with the type of the product.
Table 3
Figure imgf000030_0001
Score 52.79
Table 4
Figure imgf000030_0002
Table 5
Figure imgf000030_0003
At step 5 lOi, the ranking component 112 controls the server 102 to generate a user- specific score (or personalised value (PV) score) for the product. The user-specific score (or PV score or PV value) represents a single, non-monetary value ascribed to any produce/service. A user-specific score may be generated based on Equation 3, where:
Equation 3
Figure imgf000031_0001
index i represents non-price dependent primary categories associated with the product; index k represents price dependent primary categories associated with the product; s represents a rating value for the primary category corresponding to index i or k (e.g. obtained from primary ratings data for the product); w represents a weight coefficient value corresponding to each rating value s ;
P represents a price factor based on price factor data defined in a user profile; f(x) represents a price function determined using either Equation 1 or 2; and scaling factor represents a value used to convert the weight coefficient values (when expressed as a percentage, e.g. 12.3%) into a corresponding numeric value (e.g. 12.3). The scaling factor can be determined as a single predefined value, or based on a lookup table that associates different weight coefficient values to a corresponding numeric values.
Equation 3 generates a user-specific score based on a sum of three parameter values. A first parameter value is generated based on the expression which represents the
Figure imgf000031_0002
sum of the weighted scores for each non-price dependent primary category associated with the product (e.g. Table 3 column 6), where such weighted scores are generated by the rating values for each non-price dependent primary category associated with the product (e.g. Table 3 column 5) multiplied by their respective weight coefficients (e.g. Table 3 column 4). In the example shown in Table 3, the first parameter value corresponds to the sum in Table 3 column 7. A second parameter value is generated based on the expression (1 — P) x where the factor (1-P) representing a factor determined based on the user's
Figure imgf000031_0003
price factor data (e.g. Table 4 column 2) is multiplied by the weighted scores for each price dependent primary category associated with the product (e.g. Table 3 column 6). Such weight scores are generated based on the ratings value for each price dependent primary category associated with the product (e.g. Table 3 column 5) multiplied by their respective weight coefficients (e.g. Table 3 column 4). In the example shown in Table 3, the second parameter value corresponds to the sum in Table 3 column 8.
A third parameter value is generated based on the expression P x f(x) x where the factor P representing a factor determined based on the
Figure imgf000032_0001
user's price factor data (e.g. Table 5 column 2) is multiplied by a price adjustment factor (or price score) generated based on Equation 1 or Equation 2 for a particular price (or adjusted price) of the product, which is then multiplied by the sum of weight coefficients for each price dependent primary category associated with the product (e.g. Table 3 column 4). Since the weight coefficients in Table 3 are expressed as a percentage, the scaling factor is used to convert the percentage value (e.g. 12.3%) into a corresponding numeric value (e.g. 12.3). In the example shown in Table 3, the third parameter value corresponds to the sum in Table 3 column 9, where the price adjustment factor is 0.34 (generated using Equation 2 based on the adjusted price of the product), and the scaling factor is 100. In the example shown in Table 3, the user-specific value generated for the product is 52.79.
At step 51 Oo, the ranking component 112 determines whether there is a need to generate a user-specific value for another product. For example, if a user-specific value has been generated for all products identified in the search results, process 500 proceeds to step 512. Alternatively, if a user-specific value has not been generated for all products identified in the results, process 500 proceeds to step 510a where steps 510a to 51 Oi are repeated to generate user-specific values for those products.
The algorithm based on Equation 3 can be modified and be improved over time by using input from behavioural economics experts and machine learning. Experts would be able to devise new or improve existing formulas based on their own knowledge and research of customer biases, decision making process, etc. For example, Equation 3 can be improved upon through additional variables and other non-linear formulas (e.g. for determining a scaling factor) for instance although the underlying principle of computing a single value (the PV) based on product/services rating values, product price (or adjusted price), and user-specific parameters (e.g. from user profile data) is intended to remain unchanged. Machine learning can also be used to devise new algorithms that better match user selections, for instance through backtesting historical data and looking for algorithm with a closer match rate / lower standard deviation between projected and actual selection by users.
Figure 6B is a variation of the process described with reference to Figure 6 A. The process in Figure 6B contains all of the steps in Figure 6A, except that step 5101 is omitted, and step 510m generates price adjustment data based on the adjusted price of the product (e.g. based on Equation 1) without the price function f(x) taking into account an average price of the product.
Figure 6C is a variation of the process described with reference to Figure 6 A. The process in Figure 6C contains all of the steps in Figure 6A, except that steps 510c, 510j, 510h, 510k and 5101 are omitted. Step 510m generates price adjustment data based on the price of the product (e.g. based on Equation 1) without the price function f(x) taking into account an average price of the product or an adjusted price of the product.
Examples of use
The present invention described herein provides a number of unique technical advantages over existing search systems, for example:
• The rating methodology and ranking of results based on a user-specific (or PV) value allows products/services to be compared like-for-like; and
• Ranking would not be based on monetary value or other binary (on/off) filters but on one single non-monetary value, the user-specific (PV) value.
A supplier uploads details (including price) of each product/service offered into the product database 122. The product database 122 can be hosted directly on a server 102 (the supplier would access it through their dedicated account) or on a totally separate platform (e.g. on their own system or hosted by a third party) in which case the platform database would be populated and refreshed regularly (including at the time of the user search) through API calls.
Separately, Rating companies provide a set of scores and monetary values for various categories/aspects of the service/product that have been identified. These categories would be common for comparable products/services across all suppliers. This data would be provided by the Rating company through their account on the system 100 and would be hosted in a database on the system 100 (e.g. the product database 122 or a separate rating database which is not shown in Figure 1), alongside the product/services to which they relate.
A User would create a profile at the time of signing up to the system 100, such profile can be refined over time and includes personal information such as age or gender but also preferences in relation with services/products (i.e. what aspect of those, and to what degree, are important to the user). Alternatively, a profile can be created just prior to a search without the User having signed up to the platform, in which case the profile information is only stored temporarily for the purpose of the search. Completion of a transaction would however require the User to sign up towards the end of the process.
To carry out a search, a User would access the system 100 via a website through a client 104 (e.g. a personal computer or mobile app), sign-in if the user is a registered user with an existing account and stored profile, and the user would enter the relevant search parameters. Taking the example of a hotel night that would be information such as location, number of nights, number of guests, which user profile is to be applied (several profiles can be stored by a User on his/her account), target price range and apply optional filter such as whether breakfast needs to be available, if onsite parking is required, etc. (the list is not exhaustive). Applying search parameters and binary filters reduces the number of services/products offering taken into consideration by the platform for any given search.
Once the User requests for a search, the server 102 would then retrieve the relevant scores, monetary values and profile parameters from the relevant database on the system 100, and then compute the PV for the appropriate offering subset as per the formula applicable for this type of product / service. The server 102 will then display a list of the search results ranked by PV, with the highest value being the best match from a user personal perspective. The User can click on each offering to see details and proceed with his/her desired selection to complete a purchase or booking. Analytics service to suppliers based on user-specific (PV) value
The analytics component 114 of the system 100 is adapted to provide analytics services to suppliers based on the user-specific (PV) value generated by different users for products offered by a supplier, as well as PV-value based ranking (or PVR), to enable suppliers to have a more accurate view of how well their products are performing as compared with their competitors based on their selected target user profiles. For instance, the platform will show that by decreasing price for a product by X%, the PVR will improve by Y or that an X% decrease in price is required to rank in top ranking (e.g. 3) by PVR.
The analytics component 114 is a powerful tool as it enables a supplier to:
(i) monitor how well it ranks in comparison to alternative suppliers;
(ii) optimise pricing and/or product offering for the customer base it seeks to target (those would have profile settings that may yield a more favourable PV and/or PVR for that specific supplier's product/services); and
(iii) react quickly to change in price and/or offering from the competition.
The analytics service is preferably made available through the supplier account on the system 100, in the form of a dashboard with a customisable display. With reference to Figure 11, after the supplier logs in to the system 100 (at step 1102), the supplier is presented with a supplier master account display interface (1104) that allows the supplier to access an analytics dashboard (1116), an inventory and price calendar (which allows the supplier to configure the dates on which certain products the supplier provides are available and their corresponding price at different dates), and various product/property administration features.
The analytics dashboard (1116) can be adapted to provide a summary of analysis based on one or more of the following: (i) occupation and revenue metrics; (ii) live and historical personal value (PV) ranking per profile; (iii) live and historical price difference to be in the top 1 , 3 , 10 or median for destination and profile; (iv) historical ranking per destination and product category for all user searches; (v) show a number of product hits or notifications (e.g. gross and per target profile) over a predetermined period of time (e.g. last 3 months, last 1 month, last 1 week, etc.); and (vi) show a number of user searches of the relevant destination over a predetermined period of time (e.g. last 3 months, last 1 month, last 1 week, etc.). The product/property administration features may include: (i) a product/service/property editing module 1106 for the supplier to edit the presentation (e.g. layout and/or contents) of information on a product to users of the system 100; (ii) an offers editing module 1108 for the supplier to add or edit the details relating to any specific offer of the supplier on the system 100; (iii) an accounts management module for the supplier to access statements, invoices, and evidence of payment (or related payment reference details) relating to any transactions in respect of a supplier's product on the system 100; (iv) a marketing space module 1112 for the supplier to access and/or adjust marketing options and services on the system 100; and (v) a dashboard settings module 1114 for the supplier to define the product items to be monitored in the analytics dashboard, configure the views or presentation of information on the analytics dashboard, and define the types of user profiles to be monitored (e.g. based on Personal Value ranking).
Figure 12 is a high-level flow diagram of the key steps performed by the analytics component of the system according to a representative embodiment of the invention. The process 1200 shown in Figure 12 begins at step 1202 with the supplier logging into the system 100 and then selecting (at step 1204) the product/services offering that the supplier is interested to monitor. The supplier then selects (at step 1206) which predetermined user profiles it wants to run analysis on (e.g. to check PV and PVR generated based on those user profiles for the selected products offered by the supplier). These user profiles can be set and stored in association with the supplier’s account on the system 100, although some default profiles will also be made available by the system 100.
The server 102 then uses the relevant algorithm (e.g. as described with reference to Figures 6A, 6B and 6C) to compute the PV and PVR for each product based on the selected user profiles and offerings. The results are displayed on the platform account of the supplier. For example, the system 100 may generate the PV and/or PVR values for selected products offered by the supplier on the system 100 based on the selected user profile(s) (step 1208).
The system 100 may also generate PV and/or PVR values for selected products offered by the supplier on the system 100 to test a scenario where the price of such products changes by a value (e.g. x%) determined by the supplier (step 1210). The supplier is able to check the impact on pro-forma PV and PVR values (generated for each selected product using the selected user profiles as described above) if it adjusts the price of its product offering (either upwards or downwards). For instance, if the price is hypothetically lowered by US$30 (which can also be expressed as a percentage), the server 102 regenerates (based on the same algorithm and selected profiles) pro-forma PV and PVR values of the same selected products offerings. By repeating this process for different price points, the changes in pro-forma PV and PVR values can be compared, such that based on such a comparison (or one or more trends identified from such a comparison) an optimal price point can be determined that will achieve a proforma PV and/or PVR value that falls within, above or below a target PV or PVR value range set by the supplier.
The system 100 may also determine (in respect of selected products offered by the supplier on the system 100) a value of change in price of those products required in order for those products to achieve at least a target PVR value and/or target PV rank for searches conducted by selected user profile(s) (step 1212). This may involve computing a required PV to reach the target ranking and a reverse computation of pro-forma price the product should have. The supplier can also set or define one or more persistent indicators showing, for example, the required price adjustment as a percentage to be with a user-defined threshold of top PV values or PV ranking (e.g. in the top 3 and/or top 1 PVR). This would essentially work the same way as described above, except that the computation could be done immediately when the supplier logs into his/her analytics dashboard on the platform (rather than prompting the platform to run a PV/PVR simulation for a specific price adjustment).
Advertising services based on user-specific (PV) value
The user-specific value (or PV value) generated for products in accordance with the present invention (either as an absolute value or as the driver of ranking for a product/service) is central to the advertising services offered by the advertising component 116 of the system 100 because it can be used to compare against the PV of other offerings in the same category of product/services.
A supplier will be able to select its advertising target user base on the basis of users’ profile, relevant previous user searches, pro-forma absolute PV and/or PVR for its offering. This is particularly advantageous because it enables: (i) advertising on the basis of a nonmonetary value that is comparable across other offerings; and (ii) the ability to target only those users for which the PV value and/or PV ranking is high enough so as to maximise the probability of triggering a purchase. In a representative embodiment of the invention, suppliers can upload different versions of their presentation page on the marketplace based on different user profiles. The advertising services provided to suppliers will also enable them to automate how they offer promotions on the back of such requests so that it can be done at scale.
The advertising component 116 allows users or suppliers (as applicable) to define criteria and number of recipients of a promotion or marketing communication (e.g. whether an advertising message is sent to a user's personal email address or to a user account inbox on the system 100). For instance, an airline may send a marketing email/message with a promotional price to: (i) all the Users that have expressed an interest for this location and for which the pro- forma PV ranks at the top of all comparable offers from other airlines; or (ii) a predefined number (e.g. 5,000) of top users by pro-forma PV provided that their offer also ranks above that of other airlines by pro-forma PV. In relation to (ii), the following is an example of the steps that the advertising component 116 can configure the server 102 to perform: i) An airline supplier has a low load factor on a certain route, and decides to decrease the price to attract more customers. It changes its price for that route and relevant date range in the system 100 (e.g. either directly or indirectly through a regular/prompted API call from product database 122 to the supplier's database). ii) An employee of the airline logs into the supplier's account on the system 100 and requests the system 100 to run a PV computation for the Users having expressed an interest for this route. The platform will run the relevant algorithm to compute both PV values and PV ranks. iii) The airline employee then filters out Users (e.g. on an anonymous basis) for which the PV value (or PV rank) is not amongst a user-defined number of top entries (e.g. the entries with the top or top 3 PV values or PV ranking). iv) The airline employee then controls the system 100 to select a user-defined number of top entries (e.g. the top 5,000 users) in terms of having PV value (absolute level) that satisfies the condition in step (iii) above, and then generate advertisements and/or marketing message to inform those users of promotions, changes in price etc. through an appropriate means of communication.
Users will also be provided with the ability to set their "marketing profile" so that they specify what type of product services they are interested in receiving promotions for and what the PV and/or PVR thresholds which acts as a filter. Users can also specifically notify certain suppliers that they are interested in promotions subject to PV and PVR threshold they specify being met. For instance, using the airline route example, a user could request for flights from a London airport to Bali, Indonesia within a certain date range and budget and have a PV higher than a user-defined PV value (e.g. 75) (determined based on the user's profile) to be advertised to that user.
Figure 13 is a high-level diagram showing the exemplary key steps 1300 relating to advertising services provided according to a representative embodiment of the invention. In response to a consumer/user's request (step 1302) for advertisements or marketing messages, the advertising component 116 controls the server 102 to perform steps including:
1. Select parameters (e.g. based on location, specific characteristics, or threshold for PV value or ranking) for receiving offers/advertisements to be received by mail and/or in the user's account inbox on the system 100.
2. Parameters and profiles are disclosed (on an anonymous basis) to suppliers to suggested price adjustment to achieve such parameters. The suggested price adjustments may be generated based on a process performed by the analytics component 114 as described above.
3. Receive supplier's decision to make offers to meet required marketing criteria defined by the supplier.
4. Send advertisements and/or marketing messages to users (step 1304) of product offers that can be booked, purchased, etc.
At step 1306, the advertising component 116 controls the server 102 to enable the supplier to carry out the following steps on the system 100 or server 102 to determine a set of consumer users who may be interested in receiving the supplier's marketing campaign for a product offered by the supplier on the system 100: (i) define parameters and requirements for tailored marketing campaigns/offers for specific user profiles, including indicating preferences and thresholds such as pro-forma PV value and/or PV ranking; (ii) obtain analytics to better understand trends, competitive positioning, and whether a marketing campaign has been successful; and (iii) automated pricing scale for marketing campaigns, where for example, automated pricing for marketing campaigns for a particular product may be determined based on a process performed by the analytics component 114 as described above. At step 1308, the supplier can then instruct the system 100 to initiate a marketing campaign for a particular product directed to the identified consumer users. Figure 14 is a high-level flow diagram of an exemplary process 1400 performed by the advertising component 116 for providing advertising services for suppliers according to a representative embodiment of the invention. The process 1400 in Figure 14 begins at step 1402 with the supplier logging into the system 100. At step 1404, the supplier then selects one or more products/services it wishes to initiate a marketing campaign on. At step 1406, the supplier may then select specific user profiles to determine characteristics of user profiles of users who may be potentially interested in the supplier's product/services. For example, this may involve identifying: (i) users who have expressed an interest for the product/service selected by the supplier or the location at which the selected product/service is provided; (ii) users who have previously purchased or searched for product/services related to the selected products/services, or are provided in an adjacent location; or (iii) user profiles that match one or more supplier- specified characteristics. At step 1408, based on products/services selected by the supplier, and characteristics of user profiles provided by the supplier (if any), the advertising component 116 then generates a short list of users for sending advertising messages based on certain selection criteria (e.g. users with PV value or PV ranking in connection with the promoted products/services that are above a supplier-defined threshold - such as having the P V value or PV rank, or is within the top 10 PV values, or has a PV ranking within the top 10). At step 1410, the advertising component 116 identifies or selects specific users that match the criteria (e.g. all users that meet the criteria, or a predefined top X number of users by PV that meet the criteria) and generates advertising messages to those users.
Figure 15 is a high-level flow diagram of an exemplary process 1500 performed by the advertising component 116 for providing advertising services to users according to a representative embodiment of the invention. The process 1500 in Figure 15 begins at step 1502 with the user logging into the system 100. At step 1504, the user then selects one or more products/services for which it wishes to receive promotions (e.g. advertising messages). At step 1506, the selection of products at step 1504 may be refined based on features of the product, the location of the product/service and/or the supplier. At step 1508, the user then defines qualification criteria for receiving promotions (e.g. that the product/service must have a minimum PV value for that user, or that the product/service must have a minimum PV value for that user and a price below a maximum price threshold, or that the product/service must have a PV rank above a threshold value (e.g. be within a predetermined top X number of results by PV ranking) and a price below a maximum price threshold). At step 1510, the advertising component 116 then identifies the specific products/services that meet the criteria set by the user, and signals the user's interest to the relevant suppliers of those products/services.
Application of user specific PV value and ranking to multiple produets/services
The user specific (PV) value computation described above can be performed for a single product or service. However, a user specific (PV) value can also be generated for a combination of different products or services. The objective of this "Aggregate PV" (APV) would be to maximise the value to the user based on his or her search criteria that may or may not include a set budget.
An example of this application would include the creation of an itinerary in the travel space. An itinerary comprises of different parts of a journey, where each part corresponds to an offer from a supplier to be purchased or booked in relation to a different aspect of a journey. For example, an itinerary may comprise of a first part being a transport leg from a point of departure to a destination. This may be followed by subsequent parts corresponding to one or several nights' accommodation in possibly different locations. This again may be followed by subsequent parts corresponding to further transport legs between the different accommodations and activities during the day. The itinerary may typically conclude with a final part being a transport leg to return to the initial departure point. The system 100 generates a user specific (PV) value for the product offers for each part of the itinerary (e.g. accommodation, land transports, activities (including rest), and air travel). Based on the PV values generated for each part of the itinerary, the system 100 generates a single user specific (PV) value for different combinations, selections or groupings of product offers available for that itinerary. Depending on user preference, each combination, selection or grouping may contain a different selection of product offers, and each may contain a different number of product offers. Each combination, selection or grouping of offers would correspond to a different proposed itinerary, which are ranked based on a combined user specific (PV) value generated based on the combination of offers for each itinerary (or APV). The system 100 ranks the itineraries according to their respective APVs and generates results data for presenting these results to the user. The user can then select an itinerary from the results set, knowing that an itinerary with a higher APV would be more suited to the user's search or predefined preferences. Such capabilities or services currently do not exist with itineraries currently set and selected in the following ways: (i) pre-determined set of itineraries arranged "by hand" and offered by travel agencies (online or offline) on the basis of their own experience, suppliers network and the customer's stated preferences; or (ii) itineraries generated based on artificial intelligence (AI) that focus on optimising the journey part of the itinerary but not the quality and/or value of the itinerary to the user (e.g. in terms of which hotels to stay at, the type of activities to do at different locations, etc.). For example, a consumer user might be looking for a 10-day trip in Italy for a couple, flying in from Hong Kong at specific dates in the month of May. The user would specify his/her budget and type of interest (e.g. cultural, food) and set or select a relevant user profile for this trip. The system 100 would then generate PV s for various alternative itineraries in terms of location, mode of transport (e.g. including transport for different schedules/timing both for land, sea and air transport) and transport providers, accommodation, activities and sights. In this way, itinerary recommendations can be generated automatically and dynamically by the system 100. In a representative embodiment, it may not be necessary for the user to select a destination as the system 100 can run based on the other search parameters provided by the user and his/her selected user profile. In that sense, the system 100 could be used as a way to suggest destinations that best meet the user's preferences.
According to a preferred embodiment, the system 100 generates a combined user specific (PV) value for each itinerary (i.e. the APV or also referred to as the itinerary PV (IPV)) based on Equation 4, where:
Equation 4
Figure imgf000042_0001
PVi represents the PV of one of the itinerary constituents (such as air travel, or the first of second accommodation);
Wi represents the weight of PVi and will itself be the output of a non-linear equation so as to take into account the biases of human emotions and memory. For instance, the first and last impressions matter more in terms of how memorable a journey is, and our memory is also disproportionally affected by experiences of higher intensities (e.g. emotional and/or physical). Preferably, the non-linear equation mentioned above will also take into account aspects such as fatigue (e.g. when a journey involves travelling over several days). Equation 4 can be adapted so as to be bounded (e.g. capped at 100% or 100 depending on a scaling factor) where the key parameters such as number of days are set. Alternatively, Equation 4 can be adapted so as to be unbounded where typically the longer the itinerary is the higher the IPV will be. In the former scenario, the following condition would apply:
Equation 5
Figure imgf000043_0001
Another context for the use of the Aggregate PV would for instance be grocery shopping with a limited budget. The system 100 would calculate an IPV for a shopping list of products in a similar way that would allow for the optimisation of value to a specific individual based on his/her profile and search parameters.
In the examples described above, the APV relies on two levels of computation: (i) a first process for generating a PV of each of the items that can potentially be selected; and (ii) an aggregation process for generating an APV based on the previously generated PVs of the potential items to be included.
Figure 16 is a high-level flow diagram of an exemplary itinerary design process 1600 according to a representative embodiment of the invention. Process 1600 begins at step 1602 where a system 100 is configured to receive input from a consumer user representing a selected or relevant profile for conducting a search. The selected profile should contain information on the importance of each primary category, and data representing the importance of price to the user.
At step 1604, the system 100 is configured to receive user input representing further search criteria from the user, including (for example) one or more of the following: (i) location of departure and return, (ii) date ranges and/or duration of travel; (iii) budget range; (iv) destination; and (v) specific activities and/or signs to be included in the travel itinerary. These inputs define the constitute parts of the travel itinerary. At step 1606, the system 100 conducts searches of the product database 122 to identity a set of potentially relevant products for each constituent part of the travel itinerary based on the search parameters provided by the user and the selected user profile.
At step 1608, the system 100 generates user-specific (PV) values for each set of products for each constituent part of the travel itinerary (e.g. based on the approach described above with reference to Figures 5, 6A, 6B, 6C and/or 8), and then computes an aggregate PV for the entire itinerary (e.g. based on the approach described above with reference to Equations 4 and/or 5).
At step 1610, the various itinerary combinations or each of the constituent parts of the travel itinerary are ranked according to their user-specific values (or scores) and results data is generated for the ranked results for the user. Process 1600 ends after step 1610.
Figure 17 is a high-level flow diagram of an exemplary process 1700 for generating aggregate user specific (PV) values according to a representative embodiment of the invention. The process 1700 begins at step 1702, where the system 100 is configured to receive user input from a consumer user representing search parameters on the type of products/services they wish to find. Preferably, the user would define budget parameters as part of their search parameters, although this is optional.
At step 1704, the system 100 determines whether budget parameters were provided by the user. If so, process 1700 proceeds to step 1706. Otherwise, process 1700 proceeds to step 1716. At step 1706, the system 100 conducts searches of the product database 122 to identify a set of potentially relevant products based on the budget and other search parameters provided by the user. At step 1708, the system 100 generates user-specific (PV) values for the products identified in the search. At step 1710, the system 100 generates an aggregate PV value based on Equation 4 above for the products identified in the search. At step 1712, the system 100 applies the budget parameters to the search results such that the search results only include products that satisfy the budget parameters provided by the user. At step 1714, the system 100 ranks the search results according to their respective aggregate PV values and results data is generated for the ranked results for the user. Where no budget parameters are provided, steps 1716, 1718 and 1720 are performed, which are similar to steps 1706, 1708 and 1710 except that there is no consideration ofbudget parameters in steps 1716, 1718 and 1720. After step 1720, the system 100 (at step 1714) ranks the search results according to their respective aggregate PV values and results data is generated for the ranked results for the user.
Conclusion
In the application, unless specified otherwise, the terms "comprising", "comprise", and grammatical variants thereof, intended to represent open or inclusive language such that they include the recited elements but also permit inclusion of additional, non-explicitly recited elements.
While this invention has been described with reference to exemplary embodiments, it will be understood by those skilled in the art that various changes can be made and equivalents may be substituted for elements thereof, without departing from the spirit and scope of the invention. In addition, modification may be made to adapt the teachings of the invention to particular situations and materials, without departing from the essential scope of the invention. Thus, the invention is not limited to the particular examples that are disclosed in this specification, but encompasses all embodiments falling within the scope of the appended claims.

Claims

1. A computer implemented method of scoring one or more products based on a user- specific score generated specifically for each said product, wherein each said product relates to an item, asset, property, right, offer and/or service, the method comprising: receiving one or more search parameters of a user; accessing product data for said products based on said search parameters, the product data for each said product including at least price data representing a price value associated with said product, and primary ratings data representing a rating score for each primary category associated with said product; accessing profile data for said user, said profile data including preference data representing said user's rating for each said primary category associated with said products, and price factor data representing an importance of price to said user; and generating a user-specific score for each of said products, said score being specific to said user, and is generated for each said product based on the profile data for said user and the product data for said product.
2. A computer implemented method of ranking one or more products based on a user- specific score generated specifically for each said product, wherein each said product relates to an item, asset, property, right, offer and/or service, the method comprising: receiving one or more search parameters of a user; accessing product data for said products based on said search parameters, the product data for each said product including at least price data representing a price value associated with said product, and primary ratings data representing a rating score for each primary category associated with said product; accessing profile data for said user, said profile data including preference data representing said user's rating for each said primary category associated with said products, and price factor data representing an importance of price to said user; assigning a user-specific score to each of said products, said score being specific to said user, and is generated for each said product based on the profile data for said user and the product data for said product; and ranking said products according to their respective said user-specific scores.
3. The method of claim 1, including the further step of ranking said products according to their respective scores.
4. The method of claim 1 or 2, wherein in the step of accessing product data, said product data includes secondary ratings data for each secondary category associated with said products, and wherein: said price data is adjusted based on secondary attributes data representing one or more secondary attributes determined to have monetary value; and/or said primary ratings data for a said primary category is adjusted based on secondary attributes data for one or more secondary attributes associated with said primary category.
5. The method of claim 1 or 2, wherein the user-specific score for a particular said product is generated based on weighted primary ratings data generated for said product, wherein: said weighted primary ratings data represents said primary ratings data for each primary category of said product adjusted based on weight coefficient data corresponding to each said primary category, said weight coefficient data being generated based on said preference data for said user. 6 The method of claim 5, wherein the user-specific score for a particular said product is generated based on a first parameter value, said first parameter value being generated based on said weighted primary ratings data for specific primary categories of said product. 7. The method of claim 5, wherein the user-specific score for a particular said product is generated based on a second parameter value, said second parameter value being generated based on adjusted said weighted primary ratings data for price dependent primary categories of said product, where said adjustment is based on said price factor data for said user.
8 The method of claim 5, wherein the user-specific score for a particular said product is generated based on a third parameter value, said third parameter vale being generated based on adjusted said weighted primary ratings data for price dependent primary categories of said product, where said adjustment is based on: said price factor data for said user; and price adjustment data representing a price score determined basal on the user's sensitivity to price.
The method of claim 8, wherein said price score data is generated based on an inverse Sigmoid function.
The method of claim 9, wherein said price score data is generated based on a mid-point or an average of a target price range represented by price range data of the user.
The method of claim 1 or 2, including generating data for amending, adjusting or calibrating a parameter in the profile data of the user, and/or said user-specific value generated for a particular said product, based on: the user's selection of one of two options in response to a test where the two options differ by a single condition determined based on a parameter in the profile data of the user; or a statistical analysis based on a comparison between the user profile of the user with user profile of other users with a similar age, gender, nationality and/or place of residence; or a statistical analysis based on a comparison between one or more parameters of the product data for said products reviewed by said user, and one or more search parameters of said user.
The method of claim 1 or 2, including the further steps of: i) modifying the price data associated with a selected said product to a user defined value; ii) repeating the steps in claims 1 or 2 to generate a user-specific score for the selected product based on the modified price data; iii) repeating steps (i) and (ii) based on different modified price data; iv) generating analysis data based on a comparison of the user-specific scores generated for different modified price data values.
13. The method of claim 12, where said analysis data includes data representing at least one of the following: a change in price of the selected product to achieve a user-specific score for said selected product that is within a predefined number of the best results; and a change in the user-specific score for said selected product based on changes in said modified price data.
14. The method of claim 1 or 2, including the step of: identifying, based on the user-specific score generated in respect of a particular said product and a plurality of said users, one or more of said users with a user-specific score exceeding a threshold value; and sending marketing messages for said product to one or more of said users.
15. The method of claim 1 or 2, including the step of: identifying one or more of said products with a user-specific score exceeding a threshold value; and sending messages to the suppliers of said products indicating said user's interest in said products.
16. The method of claim 1 or 2, including the step of: identifying one or more of said products with a user-specific score exceeding a threshold value and a price below a maximum price threshold; and sending messages to the suppliers of said products indicating said user's interest in said products.
17. The method of claim 1 or 2 applied to generate a said user-specific score for each of a plurality of different sets of said products, wherein each said set includes only products relating to a specific activity.
18. The method of claim 17, wherein said specific activity is includes at least one of the following: travel, accommodation, dining, entertainment, and a shopping list of items.
19. The method of claim 17 applied to generate a said user-specific score for each of a plurality of different combinations or groupings of said sets of said products, and ranking said combinations or groupings according to the user-specific scores for each said combination or grouping.
20. A computer-readable medium that stores instructions executable by one or more processors for performing a method as recited in any one of claims 1 to 19. 21. A computer system with one or more processors configured to perform a method as recited in any one of claims 1 to 19.
PCT/SG2021/050100 2020-03-16 2021-03-01 A search method and system based on personalised value ranking WO2021188046A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SG10202002404Q 2020-03-16
SG10202002404Q SG10202002404QA (en) 2020-03-16 2020-03-16 A search method and system based on personalised value ranking

Publications (1)

Publication Number Publication Date
WO2021188046A1 true WO2021188046A1 (en) 2021-09-23

Family

ID=77772207

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SG2021/050100 WO2021188046A1 (en) 2020-03-16 2021-03-01 A search method and system based on personalised value ranking

Country Status (2)

Country Link
SG (1) SG10202002404QA (en)
WO (1) WO2021188046A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024074893A1 (en) * 2022-10-06 2024-04-11 Pizzinini Albert Product score unique to user

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040249719A1 (en) * 2000-06-01 2004-12-09 David Urpani Customer decision support at point-of-sale

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040249719A1 (en) * 2000-06-01 2004-12-09 David Urpani Customer decision support at point-of-sale

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ACIAR S ET AL.: "Recommender System Based on Consumer Product Reviews", 2006 IEEE /WIC/ACM INTERNATIONAL CONFERENCE ON WEB INTELLIGENCE, 22 December 2006 (2006-12-22), pages 1 - 6, XP058156814, [retrieved on 20210519], DOI: 10.1109/WI.2006.144 *
VELINGKER V ET AL.: "We Recommend: Recommender System based on Product Reviews", INTERNATIONAL JOURNAL OF SCIENCE TECHNOLOGY & ENGINEERING, vol. 2, no. 12, 1 July 2016 (2016-07-01), pages 333 - 337, XP055858551, [retrieved on 20210531] *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024074893A1 (en) * 2022-10-06 2024-04-11 Pizzinini Albert Product score unique to user

Also Published As

Publication number Publication date
SG10202002404QA (en) 2021-10-28

Similar Documents

Publication Publication Date Title
US20210019775A1 (en) Method, apparatus, and computer program product for forecasting demand using real time demand
US10692101B2 (en) Method, apparatus, and computer program product for providing a dashboard
US10657560B2 (en) Method, apparatus, and computer program product for classifying user search data
US9256855B2 (en) System and method for providing a referral network in a social networking environment
US20220092620A1 (en) Method, apparatus, and computer program product for merchant classification
US11188943B2 (en) Method and apparatus for providing promotion recommendations
US20200357010A1 (en) Method, apparatus, and computer program product for calculating a supply based on travel propensity
US20140330654A1 (en) Payment of restaurant bills
US20140278850A1 (en) Crowd sourcing business services
US11599904B2 (en) Method, apparatus, and computer program product for predicting consumer behavior
Han et al. Determinants of customer perceived online shopping logistics service quality value: An empirical study from China
US20100121696A1 (en) System and method for providing customers access to incentive deals
US20150142514A1 (en) System and method for payment transaction receipt management
US20230206311A1 (en) Method and apparatus for electronic transactions based on a reply message
Vinod et al. An approach to offer management: Maximizing sales with fare products and ancillaries
US20200320561A1 (en) Method and apparatus using context to determine consumer deals
US20220414692A1 (en) Method, apparatus, and computer program product for forecasting demand using real time demand
US10817887B2 (en) Method, apparatus, and computer program product for setting a benchmark conversion rate
WO2021188046A1 (en) A search method and system based on personalised value ranking
US20240029139A1 (en) Method and apparatus for item selection
US20160048860A1 (en) Optimizing and Distributing Discounts
Long Factors influencing consumers intention towards online food purchasing in Phnom Penh
Walcott et al. Predicting the Rate of Adoption of Online Food Ordering Systems by Grenadian Millennials: A Study of Three Grenadian Restaurants
JP2020102176A (en) Information processing device, information processing method, and information processing program
US11475471B2 (en) Methods and systems for directing transaction rewards

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21772169

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21772169

Country of ref document: EP

Kind code of ref document: A1