Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Status of Claims
This communication is a First Office Action on the merits in reply to application number 18/812,236 filed on 08/22/2024.
Priority
Applicant’s claim for the benefit of a prior-filed application under 35 U.S.C. 119 and/or 35 U.S.C. 120 is acknowledged.
Claim Rejections - 35 USC § 112
Claims 2/12 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Claim 10 recites the limitation “receiving recent product sales information”. The term “recent” in the claim(s) is a relative term which renders the claim indefinite. The term “recent” is not defined by the claim, the specification does not provide a standard for ascertaining the requisite degree, and one of ordinary skill in the art would not be reasonably apprised of the scope of the invention. It is unclear what the period of time to be considered “recent” is. For the purpose of compact prosecution, Examiner is interpreting “recent” as comprising any past sales information. Appropriate correction is required.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to non-patentable subject matter. The claims are directed to an abstract idea without significantly more. The judicial exception is not integrated into a practical application. The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception as further set forth in MPEP 2106.
Step 1: The claimed invention is analyzed to determine if it falls outside one of the four statutory categories of invention. See MPEP 2106.03
Claim(s) 1-12 is/are directed to a method (i.e., Process, claims 13-16 are directed to a system (i.e., Machine), and claims 17-20 are directed to non-transitory computer readable memory (i.e., Item of Manufacture). Therefore, the claims are directed to patent eligible categories of invention. Accordingly, the claims satisfy Step 1 of the eligibility inquiry.
Step 2A, Prong 1: In prong one of step 2A, the claim(s) is/are analyzed to evaluate whether they recite a judicial exception. See MPEP 2106.04
Independent claims 1, 13, and 17 recite a method, a system, and a non-transitory computer readable memory for providing products for sale in an online store. As drafted, the limitations recited by the claims fall under the “Certain methods of organizing human activity” abstract idea group, directed to commercial or legal interactions (including agreements in the form of contracts; legal obligations; advertising, marketing or sales activities or behaviors; business relations (see MPEP § 2106.04(a)(2), subsection II), and “Mental Processes” abstract idea grouping by setting forth activities that could be performed mentally by a human (including an observation, evaluation, judgment, opinion) (see MPEP § 2106.04(a)(2), subsection III).
Independent claims 1, 13, and 17 recite limitations for:
training a recommendation model on product sales information; (This limitation is an additional element to be analyzed under Step 2A, Prong 2, and Step 2B.);
identifying at least one anchor product using one or more of the product sales information and product inventory data; (The step for “identifying at least one anchor product” could be accomplished mentally, such as by human observation, evaluation, judgement, or with the help of pen and paper. Additionally, even if considered an additional element, the step for “using one or more of the product sales information and product inventory data” amounts to insignificant extra-solution activity as mere data gathering.);
for each of the at least one anchor products, applying the respective anchor product to the trained model to identify at least one product recommended for sale with the respective anchor product in a respective product bundle; (But for the additional elements – underlined – recited in this claim limitation, the step to “identify at least one product recommended” could be accomplished mentally, such as by human observation, evaluation, judgement, or with the help of pen and paper.);
generating a user interface to present the at least one product bundles to a merchant; (But for the additional elements – underlined – recited in this claim limitation, the step to “present the at least one product bundles to a merchant” falls under the “Certain Methods of Organizing Human Activity”, directed to commercial or legal interactions (including agreements in the form of contracts; legal obligations; advertising, marketing or sales activities or behaviors; business relations. Additionally, even if considered as an additional element, this step amounts to insignificant extra-solution activity as insignificant application.);
receiving an indication of one or more of the product bundles selected to offer for sale on an online sales channel; (But for the additional elements – underlined – recited in this claim limitation, the step to “receiving an indication” could be accomplished mentally, such as by human observation, evaluation, judgement, or with the help of pen and paper. This step also falls under the “Certain Methods of Organizing Human Activity”, directed to commercial or legal interactions (including agreements in the form of contracts; legal obligations; advertising, marketing or sales activities or behaviors; business relations. Additionally, even if considered as an additional element, the step for “receiving an indication” amounts to insignificant extra-solution activity as mere data gathering.);
and posting the selected one or more product bundles to the online sales channel. (But for the additional elements – underlined – recited in this claim limitation, the step for “posting the selected one or more product bundles” falls under the “Certain Methods of Organizing Human Activity”, directed to commercial or legal interactions (including agreements in the form of contracts; legal obligations; advertising, marketing or sales activities or behaviors; business relations. Additionally, even if considered as an additional element, this step amounts to insignificant extra-solution activity as insignificant application.);
The additional elements beyond the abstract idea for consideration under Step 2A, Prong 2, and Step 2B recited by the independent claims are: non-transitory computer readable memory, at least one processor, at least one memory storing instructions, training a recommendation model on product sales information, applying the respective anchor product to the trained model, generating a user interface, and posting the selected one or more product bundles to the online sales channel.
Dependent claims 2-12, 14-16, and 18-20 further narrow the abstract idea and introduce the following additional elements for consideration under said steps:
From claim 8: wherein the recommendation model comprises a graph neural network (GNN)
From claim 9: training the GNN using the generated graph
From claim 12: wherein training the recommendation model comprises learning product embeddings
Step 2A, Prong 2: An evaluation is made whether a claim recites any additional element, or combination of additional elements, that integrate the judicial exception into a practical application of the exception. See MPEP 2106.04(d).
Regarding the computing additional elements, namely non-transitory computer readable memory, at least one processor, and at least one memory storing instructions, these additional elements have been evaluated but fail to integrate the abstract idea into a practical application because they amount to using generic computing elements or instructions (software) to perform the abstract idea, similar to adding the words “apply it” (or equivalent), which merely serves to link the use of the judicial exception to a particular technological environment (generic computing environment). See MPEP 2106.05(f) and 2106.05(h). In addition, these limitations fail to provide an improvement to the functioning of a computer or to any other technology or technical field, fail to apply the exception with a particular machine, fail to apply the judicial exception to effect a particular treatment or prophylaxis for a disease or medical condition, fail to effect a transformation of a particular article to a different state or thing, and fail to apply/use the abstract idea in a meaningful way beyond generally linking the use of the judicial exception to a particular technological environment (generic computing environment).
With respect to the limitations training a recommendation model on product sales information, applying the respective anchor product to the trained model, generating a user interface, posting the selected one or more product bundles to the online sales channel, wherein the recommendation model comprises a graph neural network (GNN), training the GNN using the generated graph, and wherein training the recommendation model comprises learning product embeddings, these limitations fail to integrate the abstract idea into a practical application because they provide nothing more than mere instructions to implement an abstract idea on a generic computer. See MPEP 2106.05(f). MPEP 2106.05(f) provides the following considerations for determining whether a claim simply recites a judicial exception with the words “apply it” (or an equivalent), such as mere instructions to implement an abstract idea on a computer: (1) whether the claim recites only the idea of a solution or outcome i.e., the claim fails to recite details of how a solution to a problem is accomplished; (2) whether the claim invokes computers or other machinery merely as a tool to perform an existing process; and (3) the particularity or generality of the application of the judicial exception.
Accordingly, because the Step 2A Prong One and Prong Two analysis resulted in the conclusion that the claims are directed to an abstract idea, additional analysis under Step 2B of the eligibility inquiry must be conducted in order to determine whether any claim element or combination of elements amount to significantly more than the judicial exception.
Step 2B: The claims are analyzed to determine whether any additional element, or combination of additional elements, is/are sufficient to ensure that the claims amount to significantly more than the judicial exception. This analysis is also termed a search for "inventive concept." See MPEP 2106.05.
Regarding the computing additional elements, namely non-transitory computer readable memory, at least one processor, and at least one memory storing instructions, these additional element(s) has/have been evaluated, but fail to add significantly more to the claims because they amount to using generic computing elements (computer hardware) or instructions/software (engine) to perform the abstract idea, similar to adding the words “apply it” (or an equivalent), which merely serves to link the use of the judicial exception to a particular technological environment (network computing environment, the internet, online) and does not amount to significantly more than the abstract idea itself. Applicant’s specification recites the computing additional elements at a high level of generality.
With respect to the limitations training a recommendation model on product sales information, applying the respective anchor product to the trained model, generating a user interface, posting the selected one or more product bundles to the online sales channel, wherein the recommendation model comprises a graph neural network (GNN), training the GNN using the generated graph, and wherein training the recommendation model comprises learning product embeddings, these limitations fail to add significantly more to the abstract idea because they provide nothing more than mere instructions to implement an abstract idea on a generic computer. See MPEP 2106.05(f). MPEP 2106.05(f) provides the following considerations for determining whether a claim simply recites a judicial exception with the words “apply it” (or an equivalent), such as mere instructions to implement an abstract idea on a computer: (1) whether the claim recites only the idea of a solution or outcome i.e., the claim fails to recite details of how a solution to a problem is accomplished; (2) whether the claim invokes computers or other machinery merely as a tool to perform an existing process; and (3) the particularity or generality of the application of the judicial exception. Therefore, the additional elements merely describe generic computing elements or computer-executable instructions (software) merely serve to tie the abstract idea to a particular operating environment, which does not add significantly more to the abstract idea. See, e.g., Alice Corp., 134 S. Ct. 2347, 110 USPQ2d 1976; Versata Dev. Group, Inc. v. SAP Am., Inc., 793 F.3d 1306, 1334, 115 USPQ2d 1681, 1701 (Fed. Cir. 2015).
Furthermore, even if the using one or more of the product sales information and product inventory data, present the at least one product bundles to a merchant, receiving an indication of one of more of the product bundles selected, and posting the selected one or more product bundles to the online sales channel steps are interpreted as additional elements, these activities at most amount to insignificant extra-solution activity, which does not add significantly more to the abstract idea, as noted in MPEP 2106.05(g). Additionally, the using one or more of the product sales information and product inventory data, and receiving an indication of one of more of the product bundles selected extra-solution activity has been recognized as well-understood, routine, and conventional, and thus insufficient to add significantly more to the abstract idea. See MPEP 2106.05(d) - Receiving or transmitting data over a network, e.g., using the Internet to gather data, Symantec, 838 F.3d at 1321, 120 USPQ2d at 1362 (utilizing an intermediary computer to forward information); TLI Communications LLC v. AV Auto. LLC, 823 F.3d 607, 610, 118 USPQ2d 1744, 1745 (Fed. Cir. 2016) (using a telephone for image transmission); OIP Techs., Inc., v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1093 (Fed. Cir. 2015) (sending messages over a network); buySAFE, Inc. v. Google, Inc., 765 F.3d 1350, 1355, 112 USPQ2d 1093, 1096 (Fed. Cir. 2014) (computer receives and sends information over a network)).
In addition, when taken as an ordered combination, the ordered combination adds nothing that is not already present as when the elements are taken individually. Their collective functions merely provide generic computer implementation. Therefore, when viewed as a whole, these additional claim elements do not provide meaningful limitations to amount to significantly more than the abstract idea itself. The ordered combination of elements in the claims (including the limitations inherited from the parent claim(s)) add nothing that is not already present as when the elements are taken individually. There is no indication that the combination of elements improves the functioning of a computer or improves any other technology. Their collective functions merely provide generic computer implementation. Accordingly, the subject matter encompassed by the dependent claims fails to amount to significantly more than the abstract idea itself.
Claim Rejections - 35 USC § 102
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claim(s) 1, 8, 12, 13, and 17 is/are rejected under 35 U.S.C. 102(a)(2) as being anticipated by Das Gupta et al. (US 20230162258 A1, hereinafter “Das Gupta”).
Regarding claims 1/13/17: Das Gupta discloses a computer implemented method ([Abstract] Methods and systems for providing a product bundle recommendation are disclosed.), a system comprising at least one processor and at least one memory storing instructions ([0003] An example system includes a computing system including a data store, a processor, and a memory communicatively coupled to the processor. The memory stores instructions executable by the processor), and a non-transitory computer readable memory ([0058] The mass storage device 1314 is connected to the one or more processors 1302 through a mass storage controller (not shown) connected to the system bus 1322. The mass storage device 1314 and its associated computer-readable data storage media provide non-volatile, non-transitory storage for the computing system 1300. Although the description of computer-readable data storage media contained herein refers to a mass storage device, such as a hard disk or solid state disk, it should be appreciated by those skilled in the art that computer-readable data storage media can be any available non-transitory, physical device or article of manufacture from which the central display station can read data and/or instructions.) with limitations for:
training a recommendation model on product sales information; ([0003] In general, the present disclosure relates to a product bundles recommendation server. In a first aspect, example systems for providing a product recommendation on a retailer website are described. An example system includes a computing system including a data store, a processor, and a memory communicatively coupled to the processor. The memory stores instructions executable by the processor to: receive, from a customer device, a selection of a first product offered for sale via the retailer website; access the data store to retrieve customer add to cart data, product price data, and degree of diversity data, wherein: the customer add to cart data is based on historical customer shopping activity of a plurality of customers and includes data describing online shopping sessions in which products are selected for addition to historical shopping carts to which the first product was previously added, and the customer add to cart data further includes data describing an order in which the products are added to the historical shopping carts to which the first product was previously added; based on the selection of the first product and the customer add to cart data, generate a list of bundled products having a complementary relationship with the first product, wherein, in the historical customer shopping activity, the bundled products have been selected after the selection of the first product more than a threshold number of times; select at least one bundled product from the list of bundled products; and present the at least one bundled product on a user interface on the customer device as a recommendation for purchase with the first product.; [0039] a model may be trained using existing edges or links determined from add-to-cart data in order to predict the probability of an edge or link between two nodes within the network for which an edge is not otherwise derived directly from the add to cart data.);
identifying at least one anchor product using one or more of the product sales information and product inventory data; ([0021] As briefly described above, embodiments of the present invention are directed to a product bundles recommendation server that may be integrated with a retailer website. In particular aspects, the product bundles recommendation server allows a retailer to recommend complementary or bundled products to a user or a customer based on a user viewing a first item or product, also called a “seed product,” that is offered for sale on a retailer website. Additionally, the product bundles recommendation server allows a retailer to apply limiting factors or filters to further control the products within a bundle recommended to a user.; [0022] Complementary relationships between products may be identified and used to generate a list of bundled products to present to a user based on a user first selecting a seed product. For example, recommended product bundles may be meaningful in terms of pricing by including a price filter to ensure all recommended products within a bundle are priced similarly to (or in some logical relation to) a seed product that has been selected. [0025] The product bundles recommendation server 106 communicates with one or more databases 112 to access product data and data associated with the order in which users add products to an online shopping cart.);
for each of the at least one anchor products, applying the respective anchor product to the trained model to identify at least one product recommended for sale with the respective anchor product in a respective product bundle; ([0025] In the example shown, the retail server 108 may access a product bundles recommendation server 106. The product bundles recommendation server 106 operates to provide product recommendations to be displayed on a retailer website after a user has selected a seed product. The product bundles recommendation server 106 communicates with one or more databases 112 to access product data and data associated with the order in which users add products to an online shopping cart. Databases 112 may be external and updated in real time as new data and information becomes available. Based on data from databases 112, the product bundles recommendation server 106 generates a list of bundled products that are complementary to a seed product that a user has selected.);
generating a user interface to present the at least one product bundles to a merchant; ([0034] [0034] In the example shown, after a list of complementary products has been identified and any applicable filters applied by the filter application engine 224, at least one complementary product from the list may be transmitted over a network 204 to a customer device 202, where the at least one complementary product may be presented on a user interface of the customer device 202 as a recommendation of a product to bundle for purchase with a seed product.);
receiving an indication of one or more of the product bundles selected to offer for sale on an online sales channel; ([0021] the product bundles recommendation server allows a retailer to apply limiting factors or filters to further control the products within a bundle recommended to a user.);
and posting the selected one or more product bundles to the online sales channel. ([0011] FIG. 6 illustrates an example user interface displaying a recommended product bundle).
Regarding claims 8: Das Gupta discloses:
wherein the recommendation model comprises a graph neural network (GNN). ([0039] FIG. 5 illustrates an example flowchart 500 for inferring or predicting product relationships within a product relationship network using a Graph Neural Network (GNN).
Regarding claims 12: Das Gupta discloses:
wherein training the recommendation model comprises learning product embeddings. ([0040] The GNN model may further include a product embedding layer 504 to learn vector representations of nodes in the graph and improve prediction of links.).
Claim Rejections - 35 USC § 103
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 2-4, 6, 14-16, and 18-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Das Gupta et al. (US 20230162258 A1, hereinafter “Das Gupta”), as applied to claims 1/13/17 above, in further view of Kondapaneni (US 12314985 B1, hereinafter “Kondapaneni”).
Regarding claims 2/14/18: Das Gupta doesn’t explicitly teach:
wherein identifying the at least one anchor product is based on inventory data.
Kondapaneni teaches:
wherein identifying the at least one anchor product is based on inventory data. ([Column 3, Lines 31-37] embodiments of the following disclosure provide a system and method to analyze assortment planning and potential combinations of product attributes, determine hindsights and useful information from the analysis, and to recommend potential combinations of product attributes (such as, for example, preparing additional red T-shirts with a particular design logo and collar style)… Embodiments utilize the attribute strengths to generate recommendations for product-store and/or product/attribute combinations based on the one or more metrics.; [Column 3, Lines 15-21] Server 122 is configured to receive and transmit inventory data, including item identifiers, pricing data, attribute data, inventory levels, and other like data about one or more items or products at one or more locations in supply chain network 100. Server 122 stores and retrieves inventory data from database 124 or from one or more locations in supply chain network 100.; [Column 13, Lines 5-6] hindsight engine 208 filters the attributes according to individual attribute strength).
It would have been obvious to one of ordinary skill in the art, at the time of applicant’s invention, to combine Das Gupta with Kondapaneni’s feature(s) listed above. One would’ve been motivated to do so in order to include current or projected inventory quantities or states, order rules, or explanatory variables (Kondapaneni; [Column 3, Lines 22-24]). By incorporating the teachings of Kondapaneni, one would’ve been able to select an anchor using inventory data.
Regarding claims 3/15/19: Das Gupta doesn’t explicitly teach:
wherein identifying the at least one anchor product uses a turnover ratio for each product.
Kondapaneni teaches:
wherein identifying the at least one anchor product uses a turnover ratio for each product. ([Abstract] The system provides for classifying each of one or more products in a product display area of a retail entity as high-performers or low-performers according to selected metrics.; [Column 10, Lines 43-48] Metrics data 230 may store data related to one or more metrics used to measure the performance of one or more products, stores, and/or attributes. Example metrics include revenue, profit, inventory turnover, or any other metric according to the preference of a supply chain planner or other user of assortment planner 110.).
It would have been obvious to one of ordinary skill in the art, at the time of applicant’s invention, to combine modified Das Gupta with Kondapaneni’s additional feature(s) listed above. One would’ve been motivated to do so, so that aggregated data 232 may be a set of product-store combinations associated with a metric (Kondapaneni; [Column 10, Lines 51-52]). By incorporating the teachings of Kondapaneni, one would’ve been able to select an anchor using inventory turnover data.
Regarding claims 4/16/20: Das Gupta doesn’t explicitly teach:
wherein the identified at least one anchor product comprise one or more of: products having a highest turnover ratio; and products having a lowest turnover ratio.
Kondapaneni teaches:
wherein the identified at least one anchor product comprise one or more of: products having a highest turnover ratio; and products having a lowest turnover ratio. ([Column 10, Line 59 – Column 11, Line 4] Classification thresholds data 234 may store data specifying the qualities, elements, or transition thresholds between classifications of products (including, but not limited to, classifying products as “high-performing” and “low-performing”). For example, one classification threshold may be 50%, that is, a top half of product-store combinations, according to the metric selected, will be classified as “high-performing” while the corresponding bottom half will be classified as “low-performing.” Other classification thresholds, such as 80% (meaning only the top 20% is classified as high-performing) or 20% (meaning the top 80% is classified as high-performing) may be used according to particular needs or preferences.).
It would have been obvious to one of ordinary skill in the art, at the time of applicant’s invention, to combine modified Das Gupta with Kondapaneni’s additional feature(s) listed above. One would’ve been motivated to do so in order to classify high-performing and low-performing products (Kondapaneni; [Column 12, Line 7]). By incorporating the teachings of Kondapaneni, one would’ve been able to identify products having a highest turnover ratio, and/or lowest turnover ratio.
Regarding claim 6: Das Gupta doesn’t explicitly teach:
wherein the at least one anchor product is identified as a popular or unpopular product.
Kondapaneni teaches:
wherein the at least one anchor product is identified as a popular or unpopular product. ([Column 11, Line 65 – Column 12, Line 8] At activity 302, assortment planner 110 loads historical data 220 into the input data of database 114. Aggregation engine 206 accesses historical data 220, which may include product placement data 222, product attributes data 224, product sales history data 226, and/or planogram dimension data 228, into the input data of database 114. At activity 304, user action processor 202 detects input to one or more input devices 152, and in response to the detected input, user action processor 202 selects one or more metrics with which to aggregate data and classify high-performing and low-performing products.).
It would have been obvious to one of ordinary skill in the art, at the time of applicant’s invention, to combine modified Das Gupta with Kondapaneni’s additional feature(s) listed above. One would’ve been motivated to do so in order to select product margin, product revenue, total profit, and/or any other metric or group of metrics (Kondapaneni; [Column 12, Lines 9-11]). By incorporating the teachings of Kondapaneni, one would’ve been able to identify popular and/or unpopular products.
Claim(s) 5 is/are rejected under 35 U.S.C. 103 as being unpatentable over Das Gupta et al. (US 20230162258 A1, hereinafter “Das Gupta”), in further view of Kondapaneni (US 12314985 B1, hereinafter “Kondapaneni”) as applied to claim 4 above, in further view of Mari Kylänlahti-Harmaala, The product assortment strategy from a store manager’s point of view, Master’s Thesis, Häme University of Applied Sciences, Finland, 2020 (hereinafter “Kylänlahti-Harmaala”).
Regarding claim 5: Das Gupta doesn’t explicitly teach:
wherein the turnover ratio for a product is determined by: determining an average stock level of the product over a time period; determine a cost of goods for the product by multiplying a merchant’s product cost by a total number of the products sold over the time period; and determining the product’s turnover ratio by dividing the cost of goods by the average stock level.
Kondapaneni teaches:
wherein the turnover ratio for a product is determined by: determining an average stock level of the product over a time period; determine a cost of goods for the product by multiplying a merchant’s product cost by a total number of the products sold over the time period; and determining the product’s turnover ratio by dividing the cost of goods by the average stock level. ([Page 4, Inventory Turnover] The inventory turnover is calculated from cost of goods sold / average inventory= inventory turnover).
It would have been obvious to one of ordinary skill in the art, at the time of applicant’s invention, to combine modified Das Gupta with Kylänlahti-Harmaala’s feature(s) listed above. One would’ve been motivated to do so in order to measure how many times the inventory is replaced over a certain time period (Kylänlahti-Harmaala; [Page 4, Inventory Turnover]). By incorporating the teachings of Kylänlahti-Harmaala, one would’ve been able to determine the turnover ratio as described by Applicant’s claim.
Claim(s) 7 is/are rejected under 35 U.S.C. 103 as being unpatentable over Das Gupta et al. (US 20230162258 A1, hereinafter “Das Gupta”), in further view of Kondapaneni (US 12314985 B1, hereinafter “Kondapaneni”) as applied to claim 6 above, in further view of Hendrick et al. (US 20130346234 A1, hereinafter “Hendrick”).
Regarding claim 7: Das Gupta doesn’t explicitly teach:
wherein a popularity of the at least one anchor product is determined for first-time customers and returning customers.
Hendrick teaches:
wherein a popularity of the at least one anchor product is determined for first-time customers and returning customers. ([0038] A new customer can be configured for the system using the shared infrastructure. In the disclosed recommendations system, it is useful to consider the distinction between a system that only supports a single customer and a system that requires additional infrastructure to support new customers. The recommendation system supports the configuration of "organizations", where an organization corresponds to a collection of catalogs, user activity data, and models computed from the catalog and user activity data. An organization is an abstraction that represents a business entity that operates one or more storefronts or mobile applications that will interact with the recommendations system. A realistic example is that ringtones and applications may be handled by different storefronts, but these storefront are operated by a single business entity and serve the same base of customers. The system supports configuration of multiple organizations. The recommendation system scales to support an arbitrary number of organizations by simply adding storage capacity (e.g., Hadoop and HBase nodes) and FE service capacity. Configuring a new customer involves: configuring ingestion of the catalogs for the organization (what they are, where they are stored, how are they parsed), configuring ingestion of the user activity data (what the sources are, where it's stored, how it's parsed), and configuring a Web service API provider for the organization (the API methods available to the organization, the storefronts, and mobile applications that are supported). Each organization is also configured with "channels" which roughly correspond to the storefront and mobile applications that call for recommendations. For example, an organization might support two storefronts, each with its own channel. A channel configuration defines what mix of catalogs are available to be recommended. While an organization may support several catalogs over all, each channel may only be configured to support a subset of the catalogs.; [0046] The system supports building two types of models: associations models and popularity models. These models are used in the recommendations processing, described further below. The associations models include item-to-item associations, which are represented in general terms as:: src1->(tgt1,w1), (tgt2,w2), . . . , meaning that a Source 1 is associated with an n-tuple comprising items (Target 1, Weight 1), (Target 2, Weight 2), and so forth, where the weighting is a value assigned to each respective target. The popularity models comprise a ranking of the most popular items, such as the top "N" most popular items, and are represented in general terms as: (item1,w1), (item2,w2), . . . , meaning that the items are represented in a data file as multiple pairs of items and their respective popularity rankings or weights. The two types of models are used in the online recommendations processing.).
It would have been obvious to one of ordinary skill in the art, at the time of applicant’s invention, to combine modified Das Gupta with Hendrick’s feature(s) listed above. One would’ve been motivated to do so in order to compute a set of recommendations to fulfill a request (Hendrick; [0046]). By incorporating the teachings of Hendrick, one would’ve been able to determine product popularity for first-time customers and existing customers.
Claim(s) 9 is/are rejected under 35 U.S.C. 103 as being unpatentable over Das Gupta et al. (US 20230162258 A1, hereinafter “Das Gupta”), as applied to claim 8 above, in further view of Ding et al. (US 20230117980 A1, hereinafter “Ding”).
Regarding claims 9: Das Gupta teaches:
and training the GNN using the generated graph. ([0039] FIG. 5 illustrates an example flowchart 500 for inferring or predicting product relationships within a product relationship network using a Graph Neural Network (GNN). The example flowchart as shown in FIG. 5 may be carried out by the infer complementary product engine 220. In the examples describe herein, a machine-learning model may include one or more GNNs configured to learn an edge function between nodes within a fully-connected network. For example, a model may be trained using existing edges or links determined from add-to-cart data in order to predict the probability of an edge or link between two nodes within the network for which an edge is not otherwise derived directly from the add to cart data. A hidden state of each node evolves over time by exchanging information with its neighboring nodes via message passing. Weights in the model are shared across nodes, which gives the model the ability to handle a different number of inputs, which is relevant because the number of products in a recommended bundle can vary.)
Das Gupta doesn’t explicitly teach:
generating a graph from the product sales information with nodes of the graph representing products and edges of the graph between nodes representing products represented by the nodes having been sold in a single order;
Ding teaches:
generating a graph from the product sales information with nodes of the graph representing products and edges of the graph between nodes representing products represented by the nodes having been sold in a single order; ([0033] The system 100 determines a predicted class label 260 of each unlabeled node 12 in the attributed network 10 (e.g., the input graph), where the system 100 determines a predicted class label 260 of each unlabeled node 12 based on similarity of the unlabeled node representation 216 in a clustered graph with respect to the set of prototype representations 220 as determined by a network encoder module 106 of the system 100. In one aspect, the network encoder module 104 and/or the network encoder module 106 can each include a plurality of graph neural network layers; in particular, the network encoder module 106 can be a graph prototypical network having a plurality of graph neural network layers 124 including a scoring layer 126 and one or more score aggregation layers 128; [0058] each node denotes a product and its attributes represent the product description. Note that here the system 100 uses the complementary relationship (“bought together”) between products to create the edges.).
It would have been obvious to one of ordinary skill in the art, at the time of applicant’s invention, to combine modified Das Gupta with Ding’s feature(s) listed above. One would’ve been motivated to do so, so that low-level product categories are used as class labels (Ding; [0058]). By incorporating the teachings of Ding, one would’ve been able to generate a graph where nodes represent products and edges represent a relationship between products (i.e., sold together).
Claim(s) 10 is/are rejected under 35 U.S.C. 103 as being unpatentable over Das Gupta et al. (US 20230162258 A1, hereinafter “Das Gupta”), in further view of Ding et al. (US 20230117980 A1, hereinafter “Ding”), as applied to claim 9 above, in further view of Tong et al. (US 20240062043 A1, hereinafter “Tong”).
Regarding claims 10: Das Gupta teaches:
receiving recent product sales information; ([Abstract] Data relating to historical customer shopping activity and data describing online shopping sessions in which products are selected for addition to historical shopping carts to which the first product was previously added is accessed.)
Des Gupta doesn’t teach:
and updating the graph using recent product sales information.
Tong teaches:
and updating the graph using recent product sales information. ([0057] Regarding adding a new node to the existing domain graph to represent the new domain and compute its domain node embedding, domain-relational graph 606 is updated with the addition of a new node v4; [0058] Regarding the predicting of health food sales, the prediction model 610 is used with the generated domain node embedding and data samples 612 as input to obtain the predicted sales of health foods.).
It would have been obvious to one of ordinary skill in the art, at the time of applicant’s invention, to combine modified Das Gupta with Tong’s feature(s) listed above. One would’ve been motivated to do so in order to obtain reasonable predictions specific to the convenience store domain without using data samples collected from the convenience store, using only the prediction model 610 generated without relying on data samples from the convenience store domain (Tong; [0058]). By incorporating the teachings of Tong, one would’ve been able to update a graph using sales information.
Claim(s) 11 is/are rejected under 35 U.S.C. 103 as being unpatentable over Das Gupta et al. (US 20230162258 A1, hereinafter “Das Gupta”), in further view of Ding et al. (US 20230117980 A1, hereinafter “Ding”), in further view of Tong et al. (US 20240062043 A1, hereinafter “Tong”), as applied to claim 10 above, in further view of Liu et al. (US 20230128180 A1, hereinafter “Liu”).
Regarding claims 11: Das Gupta teaches:
and a parameter indicating a number of recommended products to provide. ([0004] selecting at least one bundled product from the list of bundled products; and presenting the at least one bundled product on a user interface on the customer device as a recommendation for purchase with the first product.).
Das Gupta doesn’t teach:
providing a tensor of edge indices of the updated graph; providing a tensor of edge weights; a tensor of one or more node indices of the one or more anchor products;
Liu teaches:
providing a tensor of edge indices of the updated graph; providing a tensor of edge weights; a tensor of one or more node indices of the one or more anchor products; ([0032] With the CSR format, nodes and edges of a graph may be stored in separate arrays, with the indices of these arrays corresponding to node identifiers and edge identifiers.; [0033] With the COO format, the edges of a graph may be stored as a list of tuples, where the tuple of each edge may include source node identifier, destination node identifier, suitable attribute information of the edge, or any combination thereof. For example, as shown in FIG. 1, the edge e121 may be represented as [n111, n112]. In some embodiments, if the edges are weighted, an extra entry in the tuple may be created to record the value of the weight for each edge. For example, as shown in FIG. 1, if the edge 121 has a weight value of 3, the tuple representation is [n111, n112, 3]. In some embodiments, graph data stored in the COO format is unsorted. For example, the tuples for all the edges may be stored in any order. The COO format may be suitable for graphs that are frequently updated. For example, if a new node or a new edge is added to the graph, the COO format simply needs to add one or more tuples for the newly added data. Examiner notes that one of ordinary skill in the art would reasonably consider the tuples and the arrays disclosed by Liu as equivalent to a tensor.).
It would have been obvious to one of ordinary skill in the art, at the time of applicant’s invention, to combine modified Das Gupta with Liu’s feature(s) listed above. One would’ve been motivated to do so in order to allow for quick traversals of the graph’s nodes and edges (Liu; [0032]). By incorporating the teachings of Liu, one would’ve been able to provide a tensor of edge weights, edge indices, and node indices.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure:
O’Donoghue et al. (WO 2009045899 A2), which discloses a method for generating recommendations for a user of a mobile device.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to GABRIEL J TORRES CHANZA whose telephone number is (571)272-3701. The examiner can normally be reached Monday thru Friday 8am - 5pm ET.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Brian Epstein can be reached on (571)270-5389. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/G.J.T./Examiner, Art Unit 3625
/BRIAN M EPSTEIN/Supervisory Patent Examiner, Art Unit 3625