A method for providing recipe recommendations to consumers based on a current ingredient inventory, the method comprising:
- storing, by a server, a plurality of recipes in a first database, each of the plurality of recipes including a plurality of ingredients;
- receiving, by a consumer device, a consumer ingredient inventory regarding ingredients in possession of a respective consumer in response to the respective consumer entering the consumer ingredient inventory into a consumer interface displayed to the respective consumer on the consumer device;
- transmitting, by the consumer device, the consumer ingredient inventory to the server over a network;
- storing, by the server, the consumer ingredient inventory of the respective consumer received from the consumer device in a second database;
- comparing, by a processing circuit of the server, the consumer ingredient inventory of the respective consumer stored in the second database to the plurality of recipes stored in the first database to determine a relevance percentage indicative of an amount of each recipe held in the consumer ingredient inventory of the respective consumer;
- separating, by the processing circuit, the plurality of recipes into sets based on the relevance percentage of each recipe;
- providing, by the server, a first producer interface to a respective producer on a producer device of the respective producer for entering campaign parameters for a respective campaign, wherein the first producer interface provides (i) a product field facilitating selection of a respective ingredient for the respective campaign, (ii) a target bid field facilitating entry of a target bid for each unit of the respective ingredient for the respective campaign, (iii) a unit of measure field facilitating selection of a type of unit of measure that is used to measure a quantity of the respective ingredient, (iv) a quantity field facilitating entry of a campaign quantity of the respective ingredient for the respective campaign, and (v) an end bid field facilitating entry of a final bid for the respective campaign, wherein the target bid and the campaign quantity define a campaign budget, wherein the first producer interface facilitates the respective producer with selectively defining the campaign parameters, wherein the campaign parameters define an allocation line with a dynamically selectable slope, wherein a negative slope allocates a greater amount of the campaign budget to a slot at a beginning of the respective campaign than at an end of the respective campaign, a positive slope allocates a greater amount of the campaign budget to a slot at the end of the respective campaign than at the beginning of the respective campaign, and a zero slope allocates a consistent amount of the campaign budget to each of a plurality of slots;
- receiving, by the producer device, the campaign parameters for the respective campaign of the respective producer for the respective ingredient in response to the respective producer entering the campaign parameters into the first producer interface displayed to the respective producer on the producer device;
- transmitting, by the producer device, the campaign parameters for the respective campaign to the server over the network;
- generating, by the processing circuit, the respective campaign of the respective producer based on the campaign parameters received by the producer device for the respective campaign, wherein generating the respective campaign includes:
- creating, by the processing circuit, the plurality of slots based on the campaign quantity of the respective ingredient, each of the plurality of slots including a portion of the respective ingredient;
- and
- determining, by the processing circuit, a ranking bid for each of the plurality of slots based on the campaign parameters, each ranking bid defining an amount of the campaign budget allocated for each of the plurality of slots, wherein the ranking bid for each of the plurality of slots is based on the slope of the allocation line;
- storing, by the server, a plurality of campaigns for a plurality of producers in a third database, the plurality of campaigns including the respective campaign of the respective producer;
- ranking, by the processing circuit, each recipe within each of the sets based on the plurality of campaigns regarding each of the plurality of ingredients in each recipe, wherein ranking each recipe within each of the sets includes:
- determining, by the processing circuit, a highest ranking bid from the plurality of campaigns stored in the third database for each ingredient in each recipe within each of the sets;
- and
- aggregating, by the processing circuit, the highest ranking bid for each ingredient in each recipe to determine a score for each recipe within each of the sets, the score for each recipe associated with a cumulative bid total for the plurality of ingredients of each recipe;
- transmitting, by the server, the sets and the ranking of each recipe within each of the sets to the consumer device of the respective consumer over the network;
- providing, by the consumer device, each of the sets sorted by the relevance percentage and each recipe within each of the sets sorted by the score associated therewith on the consumer interface;
- and
- selectively receiving, by the consumer device, a selection of one of the plurality of recipes for consumption through the consumer interface, wherein the ranked recipes within each of the sets are selectively accessible by the respective consumer through selecting one of the sets displayed on the consumer interface.