| CPC G06Q 30/0283 (2013.01) [G06Q 30/0611 (2013.01)] | 16 Claims | 

| 
               1. A method comprising: 
            receiving, at a server from a consumer computing device, first data indicative of a first input by a user of the consumer computing device, wherein the first input comprises a selection by the user of a request for a home cleaning service; 
                sending, by the server based on the receiving of the first data at the server, second data to the consumer computing device, wherein the second data causes the consumer computing device to display a first prompt for a zip code in which the home cleaning service is requested; 
                receiving, by the server from the consumer computing device, third data indicative of the zip code entered by the user via the first prompt for the zip code displayed on the consumer computing device; 
                sending, by the server to the consumer computing device, fourth data that causes the consumer computing device to display a second prompt for a number of bedrooms and a number of bathrooms in which the home cleaning service is requested; 
                receiving, by the server from the consumer computing device, fifth data indicative of the number of bedrooms and the number of bathrooms entered by the user via the second prompt for the number of bedrooms and the number of bathrooms displayed on the consumer computing device; 
                generating, by the server, an estimate for the home cleaning service based at least in part on the zip code, the number of bedrooms, and the number of bathrooms, wherein the generating of the estimate further comprises using a model trained using a training set comprising service requests from consumers and bids from service professionals based on the service requests, wherein generation of the training set comprises: 
                establishing an empty training set data structure; 
                  retrieving, from a database, a plurality of service requests R and bid data B (R) comprising bids b associated with the service requests; and 
                  for each service request R in the plurality of service requests: 
                for each bid b in the bid data B (R) associated with the service request R: 
                  adding to the training set data structure an entry comprising the service request R and the bid b; and 
                    send, by the server to the consumer computing device, sixth data indicative of the estimate, wherein the sixth data causes the consumer computing device to display information related to the estimate. 
               |