Abstract:
A contractor recommendation system includes one or more databases storing contractor attributes for a plurality of contractors and attribute weights indicating a relative importance of each of the contractor attributes. The system uses the contractor attributes and the attribute weights to select one or more recommended contractors for a building owner and generates a contractor recommendation comprising an indication of the one or more recommended contractors. The system provides the contractor recommendation to the building owner and receives a contractor selection from the building owner. The system uses the contractor selection as a feedback to determine an importance of each of the contractor attributes to the building owner and automatically updates the stored attribute weights based on the determined importance.