Traditional customer relationships in the HVAC industry often do not allow for a continuing relationship between and equipment manufacturer and a building owner or end user of the HVAC equipment. For example, the equipment manufacturer typically provides HVAC equipment to a distributor. The distributor receives purchase orders from a contractor (e.g., a reseller or service provider) and provides the HVAC equipment to the contractor. The contractor then installs the HVAC equipment in the building of an owner or end user. The manufacturer interacts only with the distributor and has no contact with the building owner or end user of the HVAC equipment. Once the HVAC equipment is installed, the owner or end user interacts only with the contractor if the HVAC equipment requires service or replacement.
One implementation of the present disclosure is a contractor recommendation system. The 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 further includes a contractor recommender that 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 further includes a communications interface that provides the contractor recommendation to the building owner and receives a contractor selection from the building owner. The system further includes a weight updater that 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.
In some embodiments, the one or more databases store building owner attributes for a plurality of building owners. The contractor recommender may use the building owner attributes in conjunction with the contractor attributes and the attribute weights to generate the contractor recommendation. In some embodiments, the system includes an owner profiler/clusterer that uses the building owner attributes to generate a profile for each of the plurality of building owners and group the building owners into clusters of similar building owners.
In some embodiments, the one or more databases store a separate set of attribute weights for each building owner or cluster of building owners. Each set of attribute weights may indicate a relative importance of each of the contractor attributes to a specific building owner or cluster of building owners.
In some embodiments, the system includes a distance calculator that determines a distance between a contractor selected by the building owner and each of the recommended contractors. The distance may be a similarity metric based on the contractor attributes of the selected and recommended contractors. In some embodiments, the distance calculator determines, for each of the contractor attributes, an attribute-specific distance between the selected contractor and each of the recommended contractors, wherein each attribute-specific distance is a similarity metric for a particular contractor attribute. In some embodiments, the distance calculator receives an indication of multiple contractors selected by the building owner or cluster of building owners and determines, for each of the contractor attributes, an attribute-specific distance between values of the contractor attribute for each of the selected contractors.
In some embodiments, the system includes a deviation calculator that uses the contractor selection to calculate an attribute-specific deviation for each of the contractor attributes. The deviation may indicate which of the contractor attributes are most important to the building owner. In some embodiments, the deviation calculator receives an indication of multiple contractors selected by the building owner or cluster of building owners, identifies, for each of the contractor attributes, a value of the contractor attribute for each of the selected contractors; and calculates, for each of the contractor attributes, the attribute-specific deviation among the identified values of the contractor attribute. In some embodiments, the weight updater uses the attribute-specific deviations for each of the contractor attributes to determine the importance of each of the contractor attributes to the building owner.
Another implementation of the present disclosure is a monitoring and service provider recommendation (MSPR) platform. The MSPR platform includes a contractor recommender that automatically selects one or more recommended contractors for a building owner and a lead generator that generates leads for each of the recommended contractor. The leads indicate an opportunity to service building equipment associated with the building owner. The MSPR platform includes a bid selector that solicits bids for servicing the building equipment from the recommended contractors and provides the bids to the building owner. The building owner selects a recommended contractor in response to receiving the bids. The MSPR platform includes a winning contractor notifier that notifies the selected contractor of winning the bid and provides the selected contractor with customer information relating to the building owner or the building equipment associated with the building owner.
In some embodiments, the MSPR platform includes a fault detector that receives data from the building equipment and detects a fault in the building equipment based on the data received from the building equipment. The MSPR platform may include an alert generator that generates an alert for the building owner in response to detecting the fault.
In some embodiments, the MSPR platform includes an interface generator that generates a user interface for the building owner to interact with the MSPR platform. The user interface may include an indication of the detected fault and an interface option for allowing the building owner to request a quote for servicing the building equipment. In some embodiments, the contractor recommender selects the recommended contractors for the building owner in response to receiving a request for a quote from the building owner via the user interface.
Another implementation of the present disclosure is a method for providing contractor recommendations to a building owner. The method includes storing, in one or more databases, contractor attributes for a plurality of contractors and attribute weights indicating a relative importance of each of the contractor attributes. The method includes using the contractor attributes and the attribute weights to automatically select, by a processing circuit of a contractor recommendation system, one or more recommended contractors for a building owner. The method includes generating, by the processing circuit, a contractor recommendation including an indication of the one or more recommended contractors. The method includes providing the contractor recommendation to the building owner and receiving a contractor selection from the building owner via a communications interface of the contractor recommendation system. The method includes using the contractor selection as a feedback to determine, by the processing circuit, an importance of each of the contractor attributes to the building owner. The method includes automatically updating, by the processing circuit, the stored attribute weights based on the determined importance.
In some embodiments, the one or more databases store a separate set of attribute weights for each building owner or cluster of building owners. Each set of attribute weights may indicate a relative importance of each of the contractor attributes to a specific building owner or cluster of building owners.
In some embodiments, the method includes determining a distance between a contractor selected by the building owner and each of the recommended contractors. The distance may be a similarity metric based on the contractor attributes of the selected and recommended contractors.
In some embodiments, the method includes using the contractor selection to calculate an attribute-specific deviation for each of the contractor attributes. The deviation may indicate which of the contractor attributes are most important to the building owner. In some embodiments, calculating the attribute-specific deviation includes receiving an indication of multiple contractors selected by the building owner or cluster of building owners, identifying, for each of the contractor attributes, a value of the contractor attribute for each of the selected contractors, and calculating, for each of the contractor attributes, the attribute-specific deviation among the identified values of the contractor attribute. In some embodiments, the method includes using the attribute-specific deviations for each of the contractor attributes to determine the importance of each of the contractor attributes to the building owner.
An automated monitoring and service provider recommendation (MSPR) platform is used to facilitate a manufacturer-centric customer relationship. In the manufacturer-centric customer relationship, the manufacturer uses MSPR platform 402 to interact directly with the distributor, the contractor, and the building owner or end user. Smart connected HVAC equipment within the building of the owner or end user communicates with MSPR platform 402, which may be owned or operated by the manufacturer. For example, smart connected HVAC equipment 408 may transmit its current status, analytics results, fault detections, measurements, its identity, an equipment model that represents smart connected HVAC equipment 408, a software version, a hardware version, and/or other information to MSPR platform 402. MSPR platform 402 may use the data from smart connected HVAC equipment 408 to automatically detect and diagnose faults and to determine appropriate replacement or repair actions for the HVAC equipment. MSPR platform 402 may send alerts and a list of local contractors (e.g., service providers) to the building owner. The building owner may then select one of the contractors to service the HVAC equipment.
The manufacturer-centric customer relationship represents a fundamental shift in managing customer relationships in the HVAC industry. This relationship change may result in weaker dependency on the distributors and contractors. The manufacturer now has the opportunity to capture more profits from the overall value chain. Furthermore, the manufacturer can use the data received from smart connected HVAC equipment 408 to learn how its products and features are being accessed and utilized.
A detected fault represents repair or replacement opportunity for smart connected HVAC equipment 408, which becomes revenue for a contractor and a part sale opportunity for a distributor. MSPR platform 402 may present these opportunities to both the contractor and the distributor to capture business in almost real-time. Given an informed fault (e.g., a fault accompanied by diagnostic information), the contractor may prepare a service cost estimate based on service part availability and diagnostic results. The contractor may submit a bid to MSPR platform 402, which provides the bid, along with bids from other contractors, to the building owner. The building owner can select a contractor based on the bid information and service proposals. Once a contractor is selected, MSPR platform 402 may inform the selected contractor that it has won the service contract.
Advantageously, the systems and methods described herein use subjectivity modeling to capture a building owner's subjective preferences based on the actual decisions (i.e., contractor selections) made by the building owner. This allows the systems and methods of the present invention to automatically determine which contractor attributes are most important to a building owner (e.g., as evidenced by the building owner's contractor selections) without requiring the building owner to explicitly rank the importance of each contractor attribute. Additional features and advantages of the present invention are described in greater detail below.
Building with HVAC Equipment
Referring now to
HVAC system 100 is shown to include a chiller 102, a boiler 104, and a rooftop air handling unit (AHU) 106. Waterside system 120 may use boiler 104 and chiller 102 to heat or cool a working fluid (e.g., water, glycol, etc.) and may circulate the working fluid to AHU 106. In various embodiments, the HVAC devices of waterside system 120 may be located in or around building 10 (as shown in
AHU 106 may place the working fluid in a heat exchange relationship with an airflow passing through AHU 106 (e.g., via one or more stages of cooling coils and/or heating coils). The airflow may be, for example, outside air, return air from within building 10, or a combination of both. AHU 106 may transfer heat between the airflow and the working fluid to provide heating or cooling for the airflow. For example, AHU 106 may include one or more fans or blowers configured to pass the airflow over or through a heat exchanger containing the working fluid. The working fluid may then return to chiller 102 or boiler 104 via piping 110.
Airside system 130 may deliver the airflow supplied by AHU 106 (i.e., the supply airflow) to building 10 via air supply ducts 112 and may provide return air from building 10 to AHU 106 via air return ducts 114. In some embodiments, airside system 130 includes multiple variable air volume (VAV) units 116. For example, airside system 130 is shown to include a separate VAV unit 116 on each floor or zone of building 10. VAV units 116 may include dampers or other flow control elements that can be operated to control an amount of the supply airflow provided to individual zones of building 10. In other embodiments, airside system 130 delivers the supply airflow into one or more zones of building 10 (e.g., via supply ducts 112) without using intermediate VAV units 116 or other flow control elements. AHU 106 may include various sensors (e.g., temperature sensors, pressure sensors, etc.) configured to measure attributes of the supply airflow. AHU 106 may receive input from sensors located within AHU 106 and/or within the building zone and may adjust the flow rate, temperature, or other attributes of the supply airflow through AHU 106 to achieve setpoint conditions for the building zone.
Referring now to
In
Hot water loop 214 and cold water loop 216 may deliver the heated and/or chilled water to air handlers located on the rooftop of building 10 (e.g., AHU 106) or to individual floors or zones of building 10 (e.g., VAV units 116). The air handlers push air past heat exchangers (e.g., heating coils or cooling coils) through which the water flows to provide heating or cooling for the air. The heated or cooled air may be delivered to individual zones of building 10 to serve the thermal energy loads of building 10. The water then returns to subplants 202-212 to receive further heating or cooling.
Although subplants 202-212 are shown and described as heating and cooling water for circulation to a building, it is understood that any other type of working fluid (e.g., glycol, CO2, etc.) may be used in place of or in addition to water to serve the thermal energy loads. In other embodiments, subplants 202-212 may provide heating and/or cooling directly to the building or campus without requiring an intermediate heat transfer fluid. These and other variations to waterside system 200 are within the teachings of the present invention.
Each of subplants 202-212 may include a variety of equipment configured to facilitate the functions of the subplant. For example, heater subplant 202 is shown to include a plurality of heating elements 220 (e.g., boilers, electric heaters, etc.) configured to add heat to the hot water in hot water loop 214. Heater subplant 202 is also shown to include several pumps 222 and 224 configured to circulate the hot water in hot water loop 214 and to control the flow rate of the hot water through individual heating elements 220. Chiller subplant 206 is shown to include a plurality of chillers 232 configured to remove heat from the cold water in cold water loop 216. Chiller subplant 206 is also shown to include several pumps 234 and 236 configured to circulate the cold water in cold water loop 216 and to control the flow rate of the cold water through individual chillers 232.
Heat recovery chiller subplant 204 is shown to include a plurality of heat recovery heat exchangers 226 (e.g., refrigeration circuits) configured to transfer heat from cold water loop 216 to hot water loop 214. Heat recovery chiller subplant 204 is also shown to include several pumps 228 and 230 configured to circulate the hot water and/or cold water through heat recovery heat exchangers 226 and to control the flow rate of the water through individual heat recovery heat exchangers 226. Cooling tower subplant 208 is shown to include a plurality of cooling towers 238 configured to remove heat from the condenser water in condenser water loop 218. Cooling tower subplant 208 is also shown to include several pumps 240 configured to circulate the condenser water in condenser water loop 218 and to control the flow rate of the condenser water through individual cooling towers 238.
Hot TES subplant 210 is shown to include a hot TES tank 242 configured to store the hot water for later use. Hot TES subplant 210 may also include one or more pumps or valves configured to control the flow rate of the hot water into or out of hot TES tank 242. Cold TES subplant 212 is shown to include cold TES tanks 244 configured to store the cold water for later use. Cold TES subplant 212 may also include one or more pumps or valves configured to control the flow rate of the cold water into or out of cold TES tanks 244.
In some embodiments, one or more of the pumps in waterside system 200 (e.g., pumps 222, 224, 228, 230, 234, 236, and/or 240) or pipelines in waterside system 200 include an isolation valve associated therewith. Isolation valves may be integrated with the pumps or positioned upstream or downstream of the pumps to control the fluid flows in waterside system 200. In various embodiments, waterside system 200 may include more, fewer, or different types of devices and/or subplants based on the particular configuration of waterside system 200 and the types of loads served by waterside system 200.
Referring now to
In
Each of dampers 316-320 may be operated by an actuator. For example, exhaust air damper 316 may be operated by actuator 324, mixing damper 318 may be operated by actuator 326, and outside air damper 320 may be operated by actuator 328. Actuators 324-328 may communicate with an AHU controller 330 via a communications link 332. Actuators 324-328 may receive control signals from AHU controller 330 and may provide feedback signals to AHU controller 330. Feedback signals may include, for example, an indication of a current actuator or damper position, an amount of torque or force exerted by the actuator, diagnostic information (e.g., results of diagnostic tests performed by actuators 324-328), status information, commissioning information, configuration settings, calibration data, and/or other types of information or data that may be collected, stored, or used by actuators 324-328. AHU controller 330 may be an economizer controller configured to use one or more control algorithms (e.g., state-based algorithms, extremum seeking control (ESC) algorithms, proportional-integral (PI) control algorithms, proportional-integral-derivative (PID) control algorithms, model predictive control (MPC) algorithms, feedback control algorithms, etc.) to control actuators 324-328.
Still referring to
Cooling coil 334 may receive a chilled fluid from waterside system 200 (e.g., from cold water loop 216) via piping 342 and may return the chilled fluid to waterside system 200 via piping 344. Valve 346 may be positioned along piping 342 or piping 344 to control a flow rate of the chilled fluid through cooling coil 334. In some embodiments, cooling coil 334 includes multiple stages of cooling coils that can be independently activated and deactivated (e.g., by AHU controller 330) to modulate an amount of cooling applied to supply air 310.
Heating coil 336 may receive a heated fluid from waterside system 200 (e.g., from hot water loop 214) via piping 348 and may return the heated fluid to waterside system 200 via piping 350. Valve 352 may be positioned along piping 348 or piping 350 to control a flow rate of the heated fluid through heating coil 336. In some embodiments, heating coil 336 includes multiple stages of heating coils that can be independently activated and deactivated (e.g., by AHU controller 330) to modulate an amount of heating applied to supply air 310.
Each of valves 346 and 352 may be controlled by an actuator. For example, valve 346 may be controlled by actuator 354 and valve 352 may be controlled by actuator 356. Actuators 354-356 may communicate with AHU controller 330 via communications links 358-360. Actuators 354-356 may receive control signals from AHU controller 330 and may provide feedback signals to controller 330. In some embodiments, AHU controller 330 receives a measurement of the supply air temperature from a temperature sensor 362 positioned in supply air duct 312 (e.g., downstream of cooling coil 334 and/or heating coil 336). AHU controller 330 may also receive a measurement of the temperature of building zone 306 from a temperature sensor 364 located in building zone 306.
In some embodiments, AHU controller 330 operates valves 346 and 352 via actuators 354-356 to modulate an amount of heating or cooling provided to supply air 310 (e.g., to achieve a setpoint temperature for supply air 310 or to maintain the temperature of supply air 310 within a setpoint temperature range). The positions of valves 346 and 352 affect the amount of heating or cooling provided to supply air 310 by cooling coil 334 or heating coil 336 and may correlate with the amount of energy consumed to achieve a desired supply air temperature. AHU controller 330 may control the temperature of supply air 310 and/or building zone 306 by activating or deactivating coils 334-336, adjusting a speed of fan 338, or a combination of both.
Referring now to
Smart connected HVAC equipment 408 may be configured to communicate with each other and with remote services (e.g., remote monitoring and analytics services, cloud-based control services, etc.). In some embodiments, smart connected HVAC equipment 408 have ubiquitous connectivity (i.e., are always connected) and have their own processing and analytics capabilities. Smart connected HVAC equipment 408 may be managed in the cloud through various software applications and the analytics models built to control them. As such, a field/supervisory controller or building automation system may not be required. For example, a smart actuator that has built in position feedback, computing power, and a communication network can provide a cost-effective solution that can perform local decision making. A series of smart actuators and dampers that work together can provide completely autonomous manipulation of a building.
Smart connected HVAC equipment 408 may communicate with each other using any of a variety of communications protocols. In some embodiments, smart connected HVAC equipment 408 communicate with each other wirelessly using a wireless communications protocol (e.g. WiFi, Bluetooth, 3G/4G, 802.15.4, Zigbee, etc.). The particular communications protocol used by smart connected HVAC equipment 408 may be dependent upon the power requirements, bandwidth requirements, and/or the existing infrastructure within the building in which smart connected HVAC equipment 408 are installed. In some embodiments, smart connected HVAC equipment 408 communicate with each other using a proprietary building equipment protocol (e.g., BACNet, Zigbee, Modbus, etc.) to move data between various devices of smart connected HVAC equipment 408. In order to build applications on top of those protocols, these protocols may be converted into the Internet Protocol (IP). In some embodiments, a communications gateway us used for such a conversion.
In some embodiments, only a few of smart connected HVAC equipment 408 communicate with the outside network (e.g., a cellular network, a WAN, the Internet, etc.). Data may be exchanged between smart connected HVAC equipment 408 and then transmitted to the outside network by a subset of smart connected HVAC equipment 408. The types of data transmitted by smart connected HVAC equipment 408 may include, for example, measurements recorded by sensors integrated with smart connected HVAC equipment 408, device status information, diagnostic information, configuration information, device identity information, a software version, a hardware version, or any other information related to smart connected HVAC equipment 408 or the operation thereof. In order for the data to be consumed by the various software applications, a contextual protocol (e.g., RESTful API, CoAP, HTTP, AMQP, MQTT) may be used to provide contextual information on the data. An API may be used to share data with the external world using a clean abstraction.
Still referring to
Network 404 may include the Internet and/or other types of data networks, such as a local area network (LAN), a wide area network (WAN), a cellular network, a satellite network, a radio network, or any other type of data network or combination thereof. Network 404 may include any number of computing devices (e.g., computers, servers, routers, network switches, etc.) configured to transmit, receive, or relay data. Network 404 may further include any number of hardwired and/or wireless connections. For example, smart connected HVAC equipment 408 may communicate wirelessly (e.g., using a WiFi or cellular radio, etc.) with a transceiver that is hardwired (e.g., via a fiber optic cable, a CAT5 cable, etc.) to a computing device of network 404.
Network 404 may include services that facilitate managing the fixed or wireless communication with smart connected HVAC equipment 408. Network vendors may include, for example, cellular telecommunications providers (e.g., Verizon, T-Mobile, AT&T, etc.) as well as internet service providers. Communications via network 404 may leverage enterprise contracts and partnerships to optimize the cost of data transmission. Many network carriers provide a secure connection option as a part of premium services. However, a similar degree of network securities can be achieved via employing trust platform chip in smart connected HVAC equipment 408 and using encrypted messaging such as AMQP via an Internet-based secure transport.
Still referring to
Referring now to
MSPR platform 402 may use the data from smart connected devices 504 to determine how smart connected devices 504 are being used, to broaden the value proposition beyond the physical equipment, to include valuable data and value-added services, and to form closer relationships with customers. MSPR platform 402 may create usage reports for sales, marketing and product development to improve quality and create better pricing and product positioning. MSPR platform 402 may provide the usage reports to various people 502 (e.g., a building owner, a facility manager, etc.) to provide insight into how smart connected devices 504 are being used. In some embodiments, MSPR platform 402 augments data from smart connected devices 504 with external data (e.g., weather data, utility data, meter data, building occupancy, etc.) to provide extra information for better decision making.
The benefits provided by MSPR platform 402 include increased uptime for smart connected HVAC equipment 408, reduced future repair costs, extended asset life, using service experts with operational and trend data to assist in troubleshooting, and higher service renewal. MSPR platform 402 may be configured to implement a condition-based maintenance program to shorten the time to repair via remote diagnostics and optimized logistics in parts ordering and tool rentals. Potential outcomes of the services provided by MSPR platform 402 include a decreased number of unplanned repairs, optimized routine maintenance intervals, and reduced routine maintenance.
Referring now to
MSPR platform 402 may use the data provided by smart connected HVAC equipment 408 to develop improved products and/or services. Developing improved products and services may include improving existing products and services as well as developing new products and services. For example, MSPR platform 402 may determine how to improve the operation of smart connected HVAC equipment 408 (e.g., optimizing energy consumption in a building, maintaining uptime of the equipment, etc.). MSPR platform 402 may use the remote diagnostics and repair to reduce downtime and unscheduled maintenance. In some embodiments, MSPR platform 402 creates a continuous feedback loop of how the customer uses smart connected HVAC equipment 408 to inform design, engineering and manufacturing decisions, to make the equipment better. MSPR platform 402 may also send automatic software updates to smart connected HVAC equipment 408 to add features and improve the performance of the equipment without any physical intervention.
In some embodiments, MSPR platform 402 uses the data provided by smart connected HVAC equipment 408 to help customers operate the equipment better and to enable service technicians to service the equipment better. The connectivity provided by smart connected HVAC equipment 408 allows MSPR platform 402 to monitor the equipment for critical alarms and notify service technicians if any issues arise. As the amount of collected data increases, the analytics model used by MSPR platform 402 continues to learn and improve over time. The analytics model may use the information from smart connected HVAC equipment 408 to identify opportunities for creating new physical products or even new information products. For example, MSPR platform 402 may identify opportunities to combine the functionality of two or more existing products (e.g., a video camera within a LED light bulb) to develop a new and improved product. The new and improved products may include, for example, a sensor or controller that can perform diagnostics and self-troubleshooting and/or other types of functionality that may eliminate the need for other products.
Advantageously, the connectivity provided by smart connected HVAC equipment 408 may facilitate a ubiquitous connection of various types of equipment within a building. Machine learning provided by MSPR platform 402 may use information provided by smart connected HVAC equipment 408 to develop a comprehensive view of controls in the building environment. In some embodiments, MSPR platform 402 provides building operators with a visually clean and intuitive view of the building operations and the ability to resolve issues in real-time. As more information is gathered regarding the patterns of how the building works, and under what circumstances and parameters, this information can be used by people outside of the manufacturing and building industry to improve products and services that affect the building.
MSPR platform 402 may allow vendors of HVAC equipment and related services to sell more of their products and services. For example, MSPR platform 402 may generate usage information that can be used to develop a better understanding of the lifecycle and usage of the HVAC equipment. This information may also enable service providers to sell more services proactively. For example, MSPR platform 402 may use the lifecycle information for a particular type of HVAC equipment to determine when that HVAC equipment is expected to require maintenance or replacement. MSPR platform 402 may then recommend preventative maintenance and/or replacement before a failure occurs. Such information may also allow an equipment vendor to optimize sales channels to sell more equipment and parts.
MSPR platform 402 may reduce service operational costs and increase efficiency. For example, advanced diagnostics and remote monitoring capabilities provided by MSPR platform 402 may reduce the time required for a service technician to troubleshoot an issue. This may reduce the time spent performing service calls and may improve productivity.
MSPR platform 402 may enhance the value of installed equipment. For example, MSPR platform 402 can analyze the usage information from smart connected HVAC equipment 408 to provide insights to customers and optimize the performance of the HVAC equipment 408. A building owner or operator can interact with MSPR platform 402 (e.g., via a monitoring and control interface) to obtain current status information, control parameters, diagnostic information, and other types of information related to the installed equipment (e.g., equipment manuals, warranty information, etc.). The control functionality provided by MSPR platform 402 may make controls seamless and transparent to building owners and operators.
MSPR platform 402 may create more value for customers with minimal physical contact with smart connected HVAC equipment 408. For example, MSPR platform 402 may automatically send updates to smart connected HVAC equipment 408 to enhance features and fix bugs. Analytics provided by MSPR platform 402 may provide customers with information (e.g., via an interface of a mobile device) to act upon on potential failures in their equipment or building.
MSPR platform 402 may allow an equipment/service vendor to increase its customer base with better differentiated products and services. For example, MSPR platform 402 can recommend specific types of equipment and/or services that would provide value to a customer based on the usage information gathered from the customer's equipment. Additionally, MSPR platform 402 as a whole can be provided as a service to new and existing customers.
MSPR platform 402 may create new business models and opportunities. For example, MSPR platform 402 may allow a contractor to increase the number of service contracts and margins. The usage information from smart connected HVAC equipment 408 can also be provided to an insurance provider. The insurance provider may use the usage information to determine an appropriate risk level for a building, which allows the insurance provider to set more accurate insurance premiums. The proactive repair and replacement suggestions provided by MSPR platform 402 may decrease the number of failures (e.g., by repairing or replacing equipment before failures occur), which reduces insurance claims and improves the margins of an insurance contract.
Referring now to
In connected equipment stage 702, ubiquitous connectivity of smart connected HVAC equipment 408 in a building may be provided. MSPR platform 402 may use data analytics to analyze information provided by smart connected HVAC equipment 408. Such data analytics may include, for example, modeling, graphing, and scaling out the information provided by smart connected HVAC equipment 408. Data analytics may further include real-time data analytics and machine learning.
Changes to the business model may include improving existing businesses (e.g., making them more efficient) and improving existing products. MSPR platform 402 may offer data analytics products as a service (e.g., with monthly billing) to allow building operators to get a clean and holistic view of the data associated with their buildings from mobile devices. Service technicians may also access the clean and holistic view of the data associated with a building to easily diagnose and repair problems more efficiently. Existing products can be offered as a service rather than product ownership. For example, a building owner or operator may subscribe to MSPR platform 402 (e.g., paying a monthly subscription fee), which provides access to the information provided by MSPR platform 402 including alerts when service and/or repair is recommended. Usage data from smart connected HVAC equipment 408 may be used to improve manufacturing reactively by detecting and fixing problems with equipment parts.
In connected buildings stage 704, information from smart connected HVAC equipment 408 can be aggregated across buildings to improve the capabilities and efficiency of smart connected HVAC equipment 408 (e.g., improving the autonomous control decisions made by the HVAC equipment). MSPR platform 402 may develop richer and more flexible models to integrate data from different buildings (e.g., richer schema). MSPR platform 402 may also develop richer analytical models (e.g., graph and probabilistic models) to deal with data heterogeneity and the added complexity of modeling across buildings (e.g., using other data to add context such as local/national laws and environmental/weather related operational considerations).
Changes to the business model may include expanding the services from connected equipment stage 702. Predictive analytics may be used to forecast a future electricity bill for the building based on historical data for other buildings in the region). A manufacturer, distributor, or service provider can use the information provided by MSPR platform 402 to guarantee equipment uptime (e.g., 95% uptime) or indoor temperature. MSPR platform 402 may monetize such information by charging monthly/annual service fees or by taking percentage of the cost savings.
Changes to the business model may further include changing the customer relationships and the value chain. For example, customer relationships may change from one-off purchases and services to more of a continuous consultative sales relationship, thereby increasing the lifetime value of a customer. MSPR platform 402 may establish direct relationships with customers (e.g., building owners) by providing customers with access to the monitoring information and service provider recommendations generated by MSPR platform 402.
In connected business stage 706, smart connected HVAC equipment 408 may be augmented with its own computing power and control capabilities. New features may be added to the data analytics, monitoring, reporting, and service provider recommendations generated by MSPR platform 402.
Changes to the business model may use data as a form of currency. For example, the data gathered from smart connected HVAC equipment 408 can be monetized in HVAC-related products, services, and markets (e.g., by selling more equipment, repair services, etc.), as well as in other industries. MSPR platform 402 may aggregate relevant data and models for the components, equipment and people across multiple different buildings. The data can be segmented by different regions, building types, age, size, and other factors. In some embodiments, MSPR platform 402 provides the data to insurance companies, which may use the data to refine their actuarial model and create pricing that's based on true usage and occupants behaviors. MSPR platform 402 may also provide insurance companies with data from water leakage detection sensors integrated with some types of smart connected HVAC equipment 408 (e.g., connected rooftop units) to provide an early warning of potential water damage.
In some embodiments, MSPR platform 402 provides the data to utilities, which may use the data to understand the energy usage profiles of the buildings and help them better manage the grid and the infrastructure that they need to build. In some embodiments, MSPR platform 402 provides the data to governmental agencies (e.g., city, state, national, etc.), which may use the data for better planning and allocation of resources. In some embodiments, MSPR platform 402 provides the data to energy storage companies, which may use the data to estimate the amount of energy generated by the buildings. MSPR platform 402 may help building owners to optimize equipment performance and connect them with the contractors to fix problems.
Referring now to
Referring now to
The manufacturer-centric customer relationship represents a fundamental shift in managing customer relationships in the HVAC industry. This relationship change may result in weaker dependency on distributors 804 and contractors 806. Manufacturer 802 now has the opportunity to capture more profits from the overall value chain. Furthermore, manufacturer 802 can use the data received from smart connected HVAC equipment 408 to learn how its products and features are being accessed and utilized.
A detected fault represents repair or replacement opportunity for smart connected HVAC equipment 408, which becomes revenue for contractor 806 and a part sale opportunity for distributor 804. MSPR platform 402 may present these opportunities to both contractor 806 and distributor 804 to capture business in almost real-time. Given an informed fault (e.g., a fault accompanied by diagnostic information), contractor 806 may prepare a service cost estimate based on service part availability and diagnostic results. Contractor 806 may submit a bid to MSPR platform 402, which provides the bid, along with bids from other contractors, to building owner 808. Building owner 808 can select a contractor 806 based on the bid information and service proposals. Once a contractor 806 is selected, MSPR platform 402 may inform the selected contractor 806 that it has won the service contract.
Referring now to
When a repair or replacement opportunity is identified by MSPR platform 402, MSPR platform 402 may provide temporary access credentials to contractor 1004. Contractor 1004 may use the temporary access credentials to access smart connected device 1002 and obtain detailed status and diagnostic information from smart connected device 1002. The temporary access credentials may expire after a defined time period or upon completion of a defined action (e.g., completing service on the smart connected device) which prevents contractor 1004 from accessing smart connected device 1002 once the service contract is complete.
Referring now to
Ecosystem 1100 is shown to include smart connected things 1102 (e.g., sensors 1120, actuators 1122, smart equipment 1124, smart buildings 1126, etc.). Smart connected things 1102 may include an actuator, a damper, a chiller, a heater, a rooftop unit (RTU), and an air handling unit (AHU), or any other type of equipment or device that can be installed within a building (e.g., fans, pumps, valves, etc.). Although the present invention is described primarily with reference to HVAC equipment, it should be understood that the systems and methods described herein may be applicable to a wide variety of building equipment and other types of connected devices (e.g., HVAC equipment, LED lights, mobile phones, elevators, fire safety systems, smart street lamps, cars, televisions, etc.) with embedded intelligence and communication capabilities.
Ecosystem 1100 is shown to include an aggregate and enrich component 1104 (e.g., gateway 1128) and network service 1106. Gateway 1128 may be used to connect legacy and new equipment (e.g., temperature sensors, actuators, cooling or heating devices, industrial robots, personal health monitoring devices, etc.), to get the data from them, and in return to control them based on the instructions or analytical results from the remote services. Gateway 1128 may provide network security, access control, and unique address of legacy devices' endpoints for remote access and protocol mediation services. In some embodiments, gateway 1128 is a general-purpose gateway solution made by any of a variety of hardware manufacturers (e.g., Intel, FreeScale, Dell, Texas Instruments, etc.). In other embodiments, gateway 1128 is a NCE or MAP gateway used specifically to connect building automation systems and smart equipment. Gateway 1128 may use various Internet-based protocols (e.g., CoAP, XMPP, AMQP, MQTT, etc.) and web based common data exchange (e.g., HTTP RESTful APIs) to translate communications from a building automation system protocol to an Internet protocol.
Network service 1106 may include the Internet and/or other types of data networks, such as a local area network (LAN), a wide area network (WAN), a cellular network, a satellite network, a radio network, or any other type of data network or combination thereof. Network service 1106 is shown to include a firewall/proxy 1130, transport protocols 1132 (e.g., WLAN/LAN, Zigbee, Wired/Wireless, PAN/BAN/Power Line, BTLE, HAN), protocol handlers 1134, a message handler 1136, and a message cache 1138. Network service 1106 may include any number of computing devices (e.g., computers, servers, routers, network switches, etc.) configured to transmit, receive, or relay data. Network service 1106 may further include any number of hardwired and/or wireless connections. For example, smart connected HVAC equipment 408 may communicate wirelessly (e.g., using a WiFi or cellular radio, etc.) with a transceiver that is hardwired (e.g., via a fiber optic cable, a CAT5 cable, etc.) to a computing device of network service 1106.
Network service 1106 may include services that facilitate managing the fixed or wireless communication with smart connected HVAC equipment 408. Network vendors may include, for example, cellular telecommunications providers (e.g., Verizon, T-Mobile, AT&T, etc.) as well as internet service providers. Communications via network service 1106 may leverage enterprise contracts and partnerships to optimize the cost of data transmission. Many network carriers provide a secure connection option as a part of premium services. However, a similar degree of network securities can be achieved via employing trust platform chip in smart connected HVAC equipment 408 and using encrypted messaging such as AMQP via an Internet-based secure transport.
Still referring to
Ecosystem 1100 is shown to include, security, privacy, access control, and compliance management 1166. Security may be provided at both the device and network levels. The same intelligence that enables devices to perform their tasks may also enable them to recognize and counteract threats. This does not require an evolutionary approach, but rather an evolution of measures that have proven successful in IT networks, adapted to the challenges of IoT and to the constraints of connected devices. At any given point in time, IoT platform 1140 may support multiple users and stake holders including building owners, building operators, tenants, service technicians, manufacturers, and the like. Remote accessibility of connected products may involve complex identity management through a unified login and product management experience. For example, a single login may allow a customer to sign on to all connected products and services associated with IoT platform 1140.
Ecosystem 1100 is shown to include delivery 1116. Delivery 1116 is related to channel and distribution strategy and is shown to include product distribution 1172. Product distribution 1172 may include off-line distribution of IoT related products, services and on-line distribution of solution for a certain customer and/or a market (e.g., delivery applications 1168). APIs 1174 may be provided to app developers to deliver information products. Data visualization 1170 and exploration tools may be used for rapid delivery. Delivery 1116 may include integration to enterprise applications 1176.
Ecosystem 1100 is shown to include operation support 1118. Operation support 1118 may facilitate the integration and optimization of devices to unite interrelated applications. For example, if IoT platform 1140 includes financial transaction services, then CRM, ERP and/or financial payment service integration may be used. Operation support 1118 may further include business applications 1178 and reporting applications 1180 that facilitate providing the data from IoT platform 1140 to outside businesses (e.g., insurance companies, utility providers, governmental agencies, etc.) that may have an interest in such data. Operation support 1118 may further include CRM 1184 and ERP 1186.
Referring now to
Process 1200 begins with MSPR platform 402 detecting a fault with smart connected HVAC equipment 408 installed in a building (step 1208). The fault may be detected using information received from smart connected HVAC equipment 408. In some instances, MSPR platform 402 may proactively identify an opportunity for repairing or replacing the HVAC equipment (e.g., based on a history of service for the HVAC equipment or an expected life of the HVAC equipment) before a fault is detected. Both fault detections and identified opportunities for repairing or replacing the HVAC equipment may initiate the automated service provider recommendation process.
In response to detecting the fault or identifying the repair or replacement opportunity, MSPR platform 402 may provide an alert notification to the building owner (e.g., in the form of an email sent to the building owner) (step 1210). In some embodiments, MSPR platform 402 also provides the alert notification to a local sales representative 1206 (step 1212) who may contact building owner 1202 to discuss service options. Upon receiving the alert notification, building owner 1202 may request a quote (e.g., a price estimate) for repairing or replacing the faulty HVAC equipment (step 1214). In some embodiments, building owner 1202 requests the quote by clicking a link in the alert notification email or via a mobile application or web interface.
MSPR platform 402 responds to the quote request by generating a lead for contractors 1204 (step 1216). The lead may specify the type of HVAC equipment to be serviced (e.g., by model number or code), the location of the HVAC equipment (e.g., by city or address), and a description of the fault associated with the HVAC equipment (e.g., excessive low side pressure, high side heat transfer problem, insufficient refrigerant flow, etc.). MSPR platform 402 may identify one or more local contractors 1204 capable of servicing the HVAC equipment.
In some embodiments, MSPR platform 402 identifies suitable contractors 1204 based on the types of service that contractors 1204 perform, demographic information associated with contractors 1204 and/or building owner 1202, revenue or business growth of contractors 1204, and/or other contractor-related attributes that indicate contractors 1204 are capable of performing the requested service. In some embodiments, MSPR platform 402 selects suitable contractors 1204 from a database of contractors that have registered with or subscribed to MSPR platform 402. Once contractors 1204 are identified, MSPR platform 402 notifies contractors 1204 of the lead. In some embodiments, MSPR platform 402 sends a list of the identified contractors 1204 to local sales representative 1206 (step 1220).
Contractors 1204 receive the lead (step 1218) and submit bids (e.g., price quotes) for servicing the HVAC equipment (step 1224). Contractors 1204 may receive leads via email messages, a mobile application (e.g., for a tablet or smart phone), or via a web interface. Contractors 1204 may use the diagnostic information or problem description provided with the lead to determine an appropriate bid. In some embodiments, MSPR platform 402 automatically determines the cost of materials required to correct the fault and the cost of labor charged by contractors 1204. MSPR platform 402 may automatically generate a cost estimate and provide the cost estimate to contractors 1204 along with the lead. Contractors 1204 may adjust the cost estimate, if desired, and submit the bid to MSPR platform 402. MSPR platform 402 then provides the bids to building owner 1202.
Building owner 1202 receives the bids (step 1226) from MSPR platform 402 (e.g., via email, a mobile application, or a web interface) and selects a winning contractor/bid (step 1228). MSPR platform 402 receives the selected contractor from building owner 1202 and notifies the winning contractor that it has won the service contract (step 1230). The winning contractor may then receive customer information from MSPR platform 402 (step 1232) and may contact building owner 1202 to schedule a service appointment. In some embodiments, MSPR platform 402 automatically schedules the service appointment. In some embodiments, MSPR platform 402 provides the winning contractor with temporary access credentials, which can be used by the contractor to access the faulty HVAC equipment to perform remote diagnostics. The winning contractor then performs service on the faulty HVAC equipment (step 1234). After the service is complete, building owner 1202 can leave feedback with MSPR platform 402 regarding the service (step 1236).
Referring now to
Communications interface 1302 may facilitate communications between MSPR platform 402 and various external systems or devices. For example, communications interface 1302 may be used to communicate with HVAC equipment 1328, building owners 1330, contractors 1332, sales reps 1334, building management systems, building controllers, user devices, and/or other connected systems or devices. Communications interface 1302 may be communicably connected to processing circuit 1304 such that processing circuit 1304 and the various components thereof can send and receive data via communications interface 1302.
Processing circuit 1304 is shown to include a processor 1306 and memory 1308. Processor 1306 can be implemented as a general purpose processor, an application specific integrated circuit (ASIC), one or more field programmable gate arrays (FPGAs), a group of processing components, or other suitable electronic processing components. Memory 1308 (e.g., memory, memory unit, storage device, etc.) may include one or more devices (e.g., RAM, ROM, Flash memory, hard disk storage, etc.) for storing data and/or computer code for completing or facilitating the various processes, layers and modules described herein. Memory 1308 may be or include volatile memory or non-volatile memory. Memory 1308 may include database components, object code components, script components, or any other type of information structure. According to an exemplary embodiment, memory 1308 is communicably connected to processor 1306 via processing circuit 1304 and includes computer code for executing (e.g., by processing circuit 1304 and/or processor 1306) one or more processes described herein.
Still referring to
MSPR platform 402 is shown to include an alert generator 1312. Alert generator 1312 may receive notifications of detected faults and/or repair or replacement opportunities from fault detector 1310. In response to detecting the fault or identifying the repair or replacement opportunity, alert generator 1312 may provide an alert notification to building owner 1330 (e.g., in the form of an email sent to the building owner). In some embodiments, alert generator 1312 also provides the alert notification to sales representative 1334, who may contact building owner 1330 to discuss service options. Upon receiving the alert notification, building owner 1330 may request a quote (e.g., a price estimate) for repairing or replacing HVAC equipment 1328. In some embodiments, building owner 1330 requests the quote by clicking a link in the alert notification email or via a mobile application or web interface.
Still referring to
Contractor recommender 1314 may use a variety of criteria to select recommended contractors. For example, contractor recommender 1314 may consider contractor attributes such as the proximity/distance from the building owner 1330, consumer rating or reputation score, a number of years in service, credit score, average time to completion, a number of outstanding claims, annual revenue, average growth rate, average labor rate, liability, insurance, number of employees, ethnic background, whether the contractor has previously worked with the building owner 1330, and/or other attributes that can be used to describe or characterize contractors 1332. Contractor recommender 1314 may consider owner or building attributes such as the type of building, building location, building size, vertical market, annual spending on HVAC, and/or other attributes that can be used to describe or characterize the buildings containing HVAC equipment 1328 to be serviced and/or building owners 1330. Contractor attributes and owner attributes may be stored in contractor/owner database 1316.
In some embodiments, contractor recommender 1314 uses the owner attributes to generate user profiles for building owners 1330 and assign building owners 1330 to one or more clusters. Building owners 1330 may be clustered based on the owner attributes and/or relevance feedback from building owners 1330. Relevance feedback may include, for example, selections made by building owners 1330 when presented with a list of recommended contractors. In some embodiments, the contractor selections made by all the building owners 1330 assigned to a particular cluster are categorized as relevance feedback of the cluster. This allows contractor recommender 1314 to use similarities between building owners 1330 to predict which types of contractors 1332 are likely to be selected by a cluster of building owners 1330.
Contractor recommender 1314 may use the contractor selections made by a cluster of building owners 1330 to automatically determine which of the contractor attributes are most important to the cluster of building owners 1330. For example, if a cluster of building owners 1330 selects multiple contractors 1332 having similar values for a particular contractor attribute, contractor recommender 1314 may increase a weight assigned to the contractor attribute. Advantageously, this allows contractor recommender 1314 to automatically establish a subjectivity model for the cluster of building owners 1330 without requiring the building owners 1330 to define which of the contractor attributes are most important. The subjectivity modeling performed by contractor recommender 1314 is described in greater detail with reference to
Still referring to
Contractors 1332 receive the lead and submit bids (e.g., price quotes) for servicing HVAC equipment 1328. Contractors 1332 may receive leads via email messages, a mobile application (e.g., for a tablet or smart phone), or via a web interface. Contractors 1332 may use the diagnostic information or problem description provided with the lead to determine an appropriate bid. In some embodiments, lead generator 1318 automatically determines the cost of materials required to correct the fault and the cost of labor charged by the contractor. Lead generator 1318 may automatically generate a cost estimate and provide the cost estimate to contractors 1332 along with the lead. Contractors 1332 may adjust the cost estimate, if desired, and submit the bid to MSPR platform 402.
Still referring to
Winning contractor notifier 1322 notifies the winning contractor that it has won the service contract. The winning contractor may then receive customer information from winning contractor notifier 1322 and may contact the building owner to schedule a service appointment. In some embodiments, winning contractor notifier 1322 automatically schedules the service appointment. In some embodiments, winning contractor notifier 1322 provides the winning contractor with temporary access credentials, which can be used by the contractor to access the faulty HVAC equipment 1328 to perform remote diagnostics. The contractor then performs service on the faulty HVAC equipment 1328. After the service is complete, building owners 1330 can leave feedback with feedback collector 1324 regarding the service.
Still referring to
Referring now to
Interface 1600 is also shown to include a status indicator 1612 which may display the current status of the automated service provider recommendation and service process. When the problem is initially detected, status indicator 1612 may indicate that the status is open. Clicking status indicator 1612 may cause MSPR platform 402 to automatically request bids from various contractors capable of servicing the HVAC equipment. Status indicator 1612 may update to reflect the current status of the service process (e.g., bids requested, bids received, work awarded, service complete, etc.). When the building owner selects a contractor, status indicator 1612 may update to indicate that the work has been awarded to the selected contractor for the quoted price. Status indicator 1612 may also indicate the scheduled time of service (e.g., Work Awarded: JMC Contracting, on or before Nov. 29, 2015, for $1400).
Referring now to
Referring now to
In some embodiments, monitoring interface 2100 includes filters 2106 that allow the sales representative to filter available opportunities by type (e.g., replacement opportunities, retrofit opportunities, service opportunities, etc.). The available opportunities may be displayed visually as markers 2108 on a map 2110, with each marker indicating (e.g., by color) the type of opportunity. For example, replacement opportunities may be shown as red markers, retrofit opportunities may be shown as yellow markers, and service opportunities may be shown as blue markers on the map. The available opportunities may also be displayed as a list 2112 which includes the name 2114 of the company or building associated with the opportunity, the type 2116 of equipment associated with the opportunity, the age 2118 of the opportunity, the tonnage 2120 of the identified equipment, and the type 2122 of opportunity.
Summary information interface 2200 may provide the sales representative with details 2214 regarding the HVAC equipment as well as suggested actions 2216 for repairing, replacing, or retrofitting the HVAC equipment. For example, suggested actions 2216 are shown to include the equipment model code 2218, the date of manufacture 2220, the installation date 2222, and the age 2224 of the equipment. Suggested actions 2216 may indicate whether the HVAC equipment is a good candidate for replacement, repair, and/or retrofitting based on criteria established by MSPR platform 402.
Equipment details interface 2300 is shown to include a company name 2302, contact information 2304, an address 2306, an installation date 2308, a unit production date 2310, a unit serial number 2312, a product ID 2314, an efficiency value 2316, a class 2318, an OBS date 2320, a PSI group 2322, volt data 2324, equipment capacity data 2326 (e.g., BTUs or tons), a description 2328 of the HVAC equipment, an address ID 2330, a customer ID 2332, and a location code 2334. In some embodiments, equipment details interface 2300 includes a link 2336 to a product manual. When product manual link 2336 is selected, MSPR platform 402 may retrieve the product manual from storage and provide the product manual to the sales representative.
Referring now to
The relative importance that a building owner assigns to various contractor attributes can be subjective and may vary among building owners. For example,
Many individuals are unaware of their subjective preferences and/or are unable to rank their preferences in order of importance. Accordingly, it can be difficult and challenging to determine whether a building owner is likely to select one contractor over another contractor, even if the contractor's attributes are known. MSPR platform 402 uses subjectivity modeling to capture a building owner's subjective preferences based on the actual decisions (i.e., contractor selections) made by the building owner. This allows MSPR platform 402 to automatically determine which contractor attributes are most important to a building owner (e.g., as evidenced by the building owner's contractor selections) without requiring the building owner to explicitly rank the importance of each contractor attribute.
In some embodiments, MSPR platform 402 uses attributes of the building owners (i.e., owner attributes) to generate user profiles for the building owners and group the building owners into clusters. Owner attributes may include, for example, the type of building owned by the building owner, the building's location, the building's size, the vertical market of the building owner, the building owner's annual spending on HVAC, and/or other attributes that can be used to describe or characterize the building owners or their buildings. In some embodiments, the contractor selections made any of the building owners in a cluster are attributed to each building owner in the cluster. This allows MSPR platform 402 to use similarities between building owners to apply an existing subjectivity model to a particular building owner, even if the building owner has not made any contractor selections.
MSPR platform 402 may use the contractor selections made by a cluster of building owners to automatically determine which of the contractor attributes are most important to the cluster of building owners. For example, if a cluster of building owners selects multiple contractors having similar values for a particular contractor attribute, MSPR platform 402 may increase a weight assigned to the contractor attribute. Advantageously, this allows MSPR platform 402 to automatically establish a subjectivity model for the cluster of building owners without requiring the building owners to define which of the contractor attributes are most important. Additional features and advantages of MSPR platform 402 with respect to subjectivity modeling are described in detail with reference to
Referring now to
Contractor recommendation system 2800 is shown providing building owners 2828 with a set or list of recommended contractors. The recommended contractors may be selected by contractor recommendation system 2800 using subjectivity models trained from previous contractor selections made by building owners 2828. As previously described, the subjectivity models are intended to capture the subjective preferences of building owners 2828 by assigning weights to various contractor attributes. Building owners 2828 may view the list of recommended contractors provided by contractor recommendation system 2800 and select one or more of contractors 2830 from the list. The selected contractor is provided as a feedback to contractor recommendation system 2800 and used by contractor recommendation system 2800 to update the subjectivity models (e.g., by updating the weights assigned to contractor attributes).
Contractor recommendation system 2800 is shown to include a communications interface 2802 and a processing circuit 2804. Communications interface 2802 may include any number and/or type of wired or wireless communications interfaces (e.g., jacks, antennas, transmitters, receivers, transceivers, wire terminals, etc.) for conducting electronic data communications with external systems or devices. Communications via communications interface 2802 may be direct (e.g., local wired or wireless communications) or via a communications network (e.g., a WAN, the Internet, a cellular network, etc.). For example, communications interface 2802 may include an Ethernet card and port for sending and receiving data via an Ethernet-based communications link or network, a WiFi transceiver for communicating via a wireless communications network, a cellular or mobile phone communications transceiver, a power line communications interface, or any other type of wired or wireless communications interface.
Communications interface 2802 may facilitate communications between contractor recommendation system 2800 and various external systems or devices. For example, communications interface 2802 may be used to communicate with HVAC equipment 2826, building owners 2838, contractors 2830, sales reps 2832, building management systems, building controllers, user devices, and/or other connected systems or devices. Communications interface 2802 may be communicably connected to processing circuit 2804 such that processing circuit 2804 and the various components thereof can send and receive data via communications interface 2802.
Processing circuit 2804 is shown to include a processor 2806 and memory 2808. Processor 2806 can be implemented as a general purpose processor, an application specific integrated circuit (ASIC), one or more field programmable gate arrays (FPGAs), a group of processing components, or other suitable electronic processing components. Memory 2808 (e.g., memory, memory unit, storage device, etc.) may include one or more devices (e.g., RAM, ROM, Flash memory, hard disk storage, etc.) for storing data and/or computer code for completing or facilitating the various processes, layers and modules described herein. Memory 2808 may be or include volatile memory or non-volatile memory. Memory 2808 may include database components, object code components, script components, or any other type of information structure. According to an exemplary embodiment, memory 2808 is communicably connected to processor 2806 via processing circuit 2804 and includes computer code for executing (e.g., by processing circuit 2804 and/or processor 2806) one or more processes described herein.
Still referring to
In some embodiments, contractor database 2810 stores contractor attributes for each of contractors 2830. Contractor attributes may include, for example, a location of the contractor (e.g., the contractor's street address, city, a zip code, etc.), a consumer rating or reputation score, a number of years the contractor has been in service, the contractor's credit score, the contractor's average time to completion, a number of outstanding claims against the contractor, the contractor's annual revenue, the contractor's average growth rate, the contractor's average labor rate, the contractor's liability, the contractor's insurance, the contractor's number of employees, the contractor's ethnic background, a list of building owners with which the contractor has previously worked, and/or other attributes that can be used to describe or characterize contractors 2830.
In some embodiments, contractor database 2810 stores n distinct attributes for each of contractors 2830. Determining which of the attributes are relevant to the contractor recommendations provided by contractor recommendation system 2800 can be considered as a dimension reduction problem in data processing. A dimension reduction can be achieved in a number of ways including, for example, vector quantization, principal component analysis, and auto-associative memory. To enhance the precision of the contractor recommendations, contractor recommendation system 2800 may identify the most discriminate attributes for recognition and the most expressive attributes for clustering (described in greater detail below).
In some embodiments, contractor database 2810 stores an initial recommendation for each of contractors 2830. The initial recommendation may be specified by an expert when a contractor is first added to contractor database 2810 and/or automatically determined based on the similarity of the contractor to other contractors already stored in contractor database 2810. For example, contractors 2830 may be grouped into clusters based on the initial recommendation associated with each contractor (e.g., highly recommended, moderate, not recommended, etc.). In other embodiments, contractors 2830 may be grouped into clusters based on the contractor attributes associated with each of contractors 2830. For example, contractor recommendation system 2800 or a component thereof (e.g., processing circuit 2804) may extract and/or identify contractor attributes for each of contractors 2830 when contractors 2830 are initially added to contractor database 2810. The contractor attributes may be updated or changed if necessary. The contractor attributes may be used to organize contractors 2830 into clusters of similar contractors for purposes of establishing an initial recommendation.
Still referring to
Building owner database 2812 may store a plurality of owner attributes for each of building owners 2828 and/or the buildings or HVAC equipment 2826 associated therewith. Owner attributes may include, for example, demographic information (e.g., occupation, age, education level), type of business, a history of services purchased by building owners 2828, the type of building, building location, building size, vertical market, annual spending on HVAC, and/or other attributes that can be used to describe or characterize building owners 2828, the buildings owned by building owners 2828, and/or the HVAC equipment 2826 installed in such buildings. Owner attributes may be used in conjunction with contractor attributes (e.g., by contractor recommender 2818) to generate a list of recommended contractors for a particular building owner.
Contractor recommendation system 2800 is shown to include an owner profiler/clusterer 2816. Owner profiler/clusterer 2816 may be configured to generate owner profiles for each of building owners 2828. The owner profiles may include any of the owner attributes stored in building owner database 2812. In some embodiments, each owner profile includes a history of contractor selections made by a particular building owner, a cluster to which the building owner has been assigned, and/or other owner-specific information or cluster-specific information that may be used by contractor recommendation system 2800 to determine the building owner's subjective preferences.
In some embodiments, owner profiler/clusterer 2816 groups building owners 2828 into clusters based on the owner attributes and/or owner profiles associated with each of building owners 2828. For example, contractor recommendation system 2800 or a component thereof (e.g., processing circuit 2804) may extract and/or identify owner attributes for each of building owners 2828 when building owners 2828 are initially added to building owner database 2812. The owner attributes may be updated or changed if necessary. Owner profiler/clusterer 2816 may use the owner attributes to organize building owners 2828 into clusters of similar building owners for purposes of generating contractor recommendations suitable for the building owner. For example, the contractor selections made by a particular building owner may be attributed to all of the building owners 2828 assigned to the same cluster as the building owner making the contractor selection. This allows the subjective preferences of one building owner to be used to train a subjectivity model for an entire cluster of building owners 2828. When a new building owner 2828 is added to building owner database 2812, the building owner may be assigned to a cluster and the subjectivity model for the cluster may be used to make contractor recommendations, even if the building owner has not yet provided any feedback (i.e., contractor selections) to contractor recommendation system 2800.
Still referring to
In some embodiments, the attribute weights stored in database 2814 are initially specified by building owners 2828 or by an expert. For example, contractor recommendation system 2800 may generate a user interface which can be used by building owners 2828 to specify weights for various contractor attributes. Building owners 2828 can interact with contractor recommendation system 2800 to provide initial attribute weights for each of the contractor attributes. For example, a building owner may specify a weight of 25% for the “revenue” contractor attribute, 50% for the “number of employees” contractor attribute, and 25% for the “reputation” contractor attribute. Weights may be specified using any scale (e.g., percentages, a scale from 0-9, a normalized scale from 0-1, etc.).
In some embodiments, attribute weights are stored in attribute weights database 2814 in a tabular form. For example, the following table illustrates an exemplary data table which may be used to store attribute weights in database 2814:
In other embodiments, attribute weights are stored using other types of data structures such as vectors, lists, delimited text, etc. For example, the following vector W may be used to store attribute weights for each of the n contractor attributes:
W=[w
1
,w
2
,w
3
, . . . ,w
n]
where each element of the vector (i.e., w1, w2, w3, etc.) represents a weight for a particular contractor attribute and n is the total number of contractor attributes. Each set of attribute weights may be uniquely associated with a particular building owner or cluster of building owners. For example, attribute weights database 2814 may store a first vector of attribute weights W1 for a first cluster of building owners 2828, a second vector of attribute weights W2 for a second cluster of building owners 2828, etc.
In some embodiments, contractor database 2810, building owner database 2812, and attribute weights database 2814 are implemented as separate databases. In other embodiments, two or more of databases 2810-2814 may be combined with each other and/or implemented as a single database. For example, contractor database 2810 may be combined with attribute weights database 2814 to provide a combined database that stores both the contractor attributes and the attribute weights. In some embodiments, databases 2810-2814 are implemented as a component of contractor recommendation system 2800 (e.g., within memory 2808). In other embodiments, databases 2810-2814 are implemented as external databases accessible to contractor recommendation system 2800 via communications interface 2802.
Still referring to
In some embodiments, contractor recommender 2818 generates a score for each of contractors 2830 by determining how well the contractor's attributes match the attributes of the building owner. For example, contractor recommender 2818 may determine an attribute score sij for each of the n contractor attributes (i.e., i=1 . . . n) for each of the m contractors (i.e., j=1 . . . m) with respect to a particular building owner (or cluster of building owners 2828). Attribute score sij indicates how well the ith contractor attribute of the jth contractor matches the preferences or attributes of the building owner. For example, contractor recommender 2818 may assign a relatively high score to the contractor attribute “proximity/distance from job location” if the contractor's location is close to the location of the building owner, whereas contractor recommender 2818 may assign a relatively low score to the contractor attribute “proximity/distance from job location” if the contractor's location is far from the location of the building owner. Contractor recommender 2818 may score each of the n contractor attributes for each of the m contractors with respect to a particular building owner.
Contractor recommender 2818 may calculate an overall contractor score Kj for each of contractors 2830. In some embodiments, the overall contractor score Kj is a weighted sum of the individual attribute scores sij for the jth contractor. For example, contractor recommender 2818 may calculate the overall contractor score Kj using the following equation:
where wi is the weight associated with the ith contractor attribute and sij is the attribute score of the ith contractor attribute for the jth contractor with respect to a particular building owner. The overall contractor score Kj indicates how well the attributes of the jth contractor match the attributes or preferences of the building owner, weighted by the attributes that are most important to the building owner.
Contractor recommender 2818 may select one or more of the highest-scoring contractors as the recommended contractors for a particular building owner. As shown in
Still referring to
In some embodiments, distance calculator 2820 generates a vector Aj of attributes for each of the recommended contractors and a vector As of attributes for the selected contractor. Each element of the vector Aj may represent one of the n contractor attributes aij (i=1 . . . n) for the jth recommended contractor, as shown in the following equation:
A
j
=[a
1j
,a
2j
,a
3j
, . . . ,a
nj]
where n is the total number of contractor attributes. Similarly, each element of the vector As may represent one of the n contractor attributes ais (i=1 . . . n) for the selected contractor, as shown in the following equation:
A
s
=[a
1s
,a
2s
,a
3s
, . . . ,a
ns]
where attribute values aij and ais are calculated as previously described with reference to contractor recommender 2818.
Distance calculator 2820 may use the vectors of attributes to compute a similarity between the selected contractor and each of the recommended contractors. The similarity may be expressed as a distance between the vectors Aj and As. For example, distance calculator 2820 may calculate the cosine similarity or cosine distance between vectors Aj and As using the following equation:
where Dj is the distance between the jth recommended contractor and the selected contractor and θ is the angle between vectors Aj and As. In other embodiments, distance calculator 2820 may use various other similarity measurements such as Euclidean distance (e.g., linear distance between a n-dimensional data point representing the selected contractor attributes and a n-dimensional data point representing the attributes of a recommended contractor), hamming distance, or any other distance or similarity metric.
In some embodiments, distance calculator 2820 calculates an attribute-specific distance dij for each of the n contractor attributes (i=1 . . . n) with respect to the attributes of the selected contractor. The attribute-specific distance dij represents the distance between the ith attribute of the selected contractor ais and the ith attribute of the jth recommended contractor aij (j=1 . . . m), where m is the total number of recommended contractors. The attribute-specific distance dij may be calculated using any of a variety of distance or similarity metrics (e.g., cosine distance, Euclidean distance, hamming distance, etc.) as previously described. A graph illustrating the attribute-specific distances calculated for several selected contractors is shown in
In some embodiments, distance calculator 2820 receives multiple selected contractors from communications interface 2802. The selected contractors may be multiple contractors selected by the same building owner or multiple contractors selected by a cluster of building owners (i.e., a set of contractors selected by building owners within the same cluster). Distance calculator 2820 may calculate an attribute-specific distance dik for each of the n contractor attributes (i=1 . . . n) and each of the p selected contractors (k=1 . . . p). The attribute-specific distances dik may be calculated with respect to a selected contractor attribute ais (e.g., an attribute of one of the p selected contractors, an attribute of the most recently-selected contractor, etc.), or a fixed reference value (e.g., a mean or median of the attribute values for a given attribute ais) using any of the distance or similarity metrics previously described (e.g., cosine distance, Euclidean distance, hamming distance, etc.).
Still referring to
Deviation calculator 2822 may use the attribute distances to calculate an attribute-specific deviation δi among the attribute distances with respect to each of the n contractor attributes (i=1 . . . n). In some embodiments, the deviation δi is the standard deviation of the attribute distances received from distance calculator 2820. For example, deviation calculator 2822 may calculate the deviation δi using the equation:
where m is the total number of attribute-specific distances dij for the ith contractor attribute, and
In general, the deviation δi indicates the amount of variance or spread between the attribute values and/or distances for the ith contractor attribute. Smaller values of δi indicate that the attribute values and/or distances (i.e., similarity measurements) for the ith contractor attribute are grouped closer together, whereas larger values of δi indicate that the attribute values and/or distances for the ith contractor attribute are spread further apart. Accordingly, smaller values of δi may indicate that the ith contractor attribute is relatively important to a particular building owner or cluster of building owners 2828 since the contractors selected by such building owners have little variation with respect to the ith contractor attribute. In other words, smaller values of δi indicate that building owners 2828 have a stronger preference with respect to the ith contractor attribute and repeatedly select contractors having similar values for the ith contractor attribute. Conversely, larger values of δi may indicate that the ith contractor attribute is relatively unimportant to a particular building owner or cluster of building owners 2828 since the contractors selected by such building owners have a large variation with respect to the ith contractor attribute. In other words, larger values of δi indicate that building owners 2828 have a weak preference with respect to the ith contractor attribute and are willing to select contractors that vary significantly with respect to the ith contractor attribute.
Still referring to
w
i
=f(δi)=1−δi
where wi is the updated weight for the ith contractor attribute and δi is the deviation calculated for the ith contractor attribute. The previous equation for wi results in weight updater 2824 calculating a relatively greater weight for contractor attributes with a smaller deviation δi, and a relatively lesser weight for contractor attributes with a greater deviation δi. Weight updater 2824 may calculate updated weights wi for each of the i contractor attributes and store the updated weights in attribute weights database 2814.
In some embodiments, weight updater 2824 stores the updated weights in a weight vector Wti. The weight vector Wti may be a m-dimensional vector having elements that indicate the weight wi assigned to contractor attribute i at time t according to m different similarity measurements. Weight updater 2824 may retain a history of previous weight vectors [W0i, W1i, W2i, . . . , Wt-1i] and use the history of previous weight vectors to calculate a new weight vector W′ti at time t according to the following equation:
where K is a weighting function or kernel function used to calculate a weight for a data point from the distance (e.g., K(D)=e−d
D(Wji,Wti)=√{square root over ((Wt−Wj)T(Wj,wt))}
In some embodiments, weight updater 2824 uses principal component analysis (PCA) to update the contractor attribute weights. For example, weight updater 2824 may use PCA to find the relative importance of each contractor attribute rather than finding the most biased attribute. Another benefit of PCA is the ability to provide quantitative analysis of discrimination power of each component. For example, weight updater 2824 may represent the dissimilarity measurement obtained from PCA in the form of a linear equation as follows:
D
q,j=Σi=0i=naifi
where ai indicates the ith weighting factor and fi represents the return value from the ith distance measurement function based on the corresponding contractor attribute. Dq,j represents the distance between the query object q (e.g., a selected contractor attribute) and the target object j (e.g., a contractor attribute of a recommended contractor), whereas ai represents the relative importance of the similarity measurement. In other words, if a certain contractor attribute has more discrimination power than others, it will provide a larger contribution to the similarity measurement compared to the other contractor attributes. The PCA approach therefore results in a dissimilarity metric based on the contractor attribute and eliminates the trial-and-error process typically used to find a proper combination of weight values in attribute-based recommendation.
Referring now to
The attribute distances may include any of the attribute-specific distances calculated by distance calculator 2820, as described with reference to
The lines 2906-2910 connecting the data points in graph 2900 represent different contractors. For example, line 2906 represents contractor A, line 2908 represents contractor B, and line 2910 represents contractor C. The data points connected by each of lines 2906-2910 correspond to the attribute distances calculated for a particular contractor (e.g., a contractor selected by building owners 2828). For contractor attributes 1-2, 4-6, and 8-11, the attribute distances for each of contractors A-C are significantly different, as is indicated by a greater spread or deviation of the attribute distances for such contractor attributes. However, the attribute distances for contractor attribute 3 (i.e., credit rating) and contractor attribute 7 (i.e., reputation score) are more similar, as is indicated by a lesser spread or deviation in the attribute distances for contractor attributes 3 and 7. Accordingly, the deviations δi calculated for contractor attributes 3 and 7 may be significantly lower than the deviations δi calculated for the other contractor attributes. This indicates that building owners 2828 have a stronger preference with respect to contractor attributes 3 and 7, and a weaker preference with respect to the other contractor attributes.
Referring now to
Process 3000 is shown to include using the subjectivity model to generate a score for each of a plurality of contractors with respect to a particular building owner (step 3004). In some embodiments, step 3004 includes determining an attribute score sij for each of the n contractor attributes (i=1 . . . n) and each of the m contractors (j=1 . . . m). The attribute score sij may indicate how well the corresponding contractor attribute matches an attribute of the building owner. The attribute score sij may be determined by comparing the attributes of each of the plurality of contractors with attributes of the building owner. For example, an attribute score for the “contractor location” attribute may be generated by comparing the location of the contractor with the location of the building owner. The attribute score sij for the contractor location attribute may be assigned a relatively high score if the contractor location is close to the location of the building owner, or a relatively low score if the contractor location is far from the location of the building owner.
In some embodiments, step 3004 includes calculating an overall score Kj for each of the plurality of contractors. In some embodiments, the overall contractor score Kj is a weighted sum of the individual attribute scores sij for the jth contractor. For example, step 3004 may include calculating the overall contractor score Kj using the following equation:
where wi is the weight associated with the ith contractor attribute and sij is the attribute score of the ith contractor attribute for the jth contractor with respect to a particular building owner. The overall contractor score Kj indicates how well the attributes of the jth contractor match the attributes or preferences of the building owner, weighted by the attributes that are most important to the building owner.
Process 3000 is shown to include selecting one or more of the contractors based on the scores (step 3006) and providing a contractor recommendation to the building owner (step 3008). Step 3006 may include selecting a predetermined number of the contractors having the highest overall scores Kj. Step 3008 may include generating a message for the building owner (e.g., an email, a webpage, etc.) and providing the message to the building owner. The message may include the contractor recommendation and may identify one or more recommended contractors for the building owner (i.e., the contractors selected in step 3006). The building owner may receive the contractor recommendation and select one or more of the recommended contractors. Contractor recommendation system 2800 may receive a contractor selection from the building owner in response to providing the contractor recommendation (step 3010).
Process 3000 is shown to include updating the weights assigned to each of the contractor attributes based on the contractor selection (step 3012). Step 3012 may include calculating a distance between the selected contractor and each of the recommended contractors. The distance may be a measure of similarity such as a cosine distance, a Euclidean distance, a hamming distance, etc. between the selected contractor and each of the recommended contractors. In some embodiments, step 3012 includes determining a similarity between multiple contractors selected by the building owner or cluster of building owners. The similarity may include, for example, a contractor attribute that is the same or similar among the selected contractors (e.g., a low distance or deviation among selected contractors for a particular contractor attribute).
In some embodiments, step 3012 includes generating a vector Aj of attributes for each of the recommended contractors and a vector As of attributes for the selected contractor. Each element of the vector Aj may represent one of the n contractor attributes aij (i=1 . . . n) for the jth recommended contractor, as shown in the following equation:
A
j
=[a
1j
,a
2j
,a
3j
, . . . ,a
nj]
where n is the total number of contractor attributes. Similarly, each element of the vector As may represent one of the n contractor attributes ais (i=1 . . . n) for the selected contractor, as shown in the following equation:
A
s
=[a
1s
,a
2s
,a
3s
, . . . ,a
ns]
where attribute values aij and ais are calculated as previously described with reference to contractor recommender 2818.
Step 3012 may include using the vectors of attributes to compute a similarity between the selected contractor and each of the recommended contractors. The similarity may be expressed as a distance between the vectors Aj and As. For example, step 3012 may include calculating the cosine similarity or cosine distance between vectors Aj and As using the following equation:
where Dj is the distance between the jth recommended contractor and the selected contractor and θ is the angle between vectors Aj and As. In other embodiments, step 3012 may include using various other similarity measurements such as Euclidean distance (e.g., linear distance between a n-dimensional data point representing the selected contractor attributes and a n-dimensional data point representing the attributes of a recommended contractor), hamming distance, or any other distance or similarity metric.
In some embodiments, step 3012 includes calculating an attribute-specific distance dij for each of the n contractor attributes (i=1 . . . n) with respect to the attributes of the selected contractor. The attribute-specific distance dij represents the distance between the ith attribute of the selected contractor ais and the ith attribute of the jth recommended contractor aij (j=1 . . . m), where m is the total number of recommended contractors. The attribute-specific distance dij may be calculated using any of a variety of distance or similarity metrics (e.g., cosine distance, Euclidean distance, hamming distance, etc.) as previously described.
In some embodiments, step 3010 includes receiving multiple selected contractors from the building owner or cluster of building owners. Step 3012 may include calculating an attribute-specific distance dik for each of the n contractor attributes (i=1 . . . n) and each of the p selected contractors (k=1 . . . p). The attribute-specific distances dik may be calculated with respect to a selected contractor attribute ais (e.g., an attribute of one of the p selected contractors, an attribute of the most recently-selected contractor, etc.), or a fixed reference value (e.g., a mean or median of the attribute values for a given attribute ais) using any of the distance or similarity metrics previously described (e.g., cosine distance, Euclidean distance, hamming distance, etc.).
Step 3012 may include using the attribute distances to calculate an attribute-specific deviation δi among the attribute distances with respect to each of the n contractor attributes (i=1 . . . n). In some embodiments, the deviation δi is the standard deviation of the calculated attribute distances. For example, step 3012 may include calculating the deviation δi using the equation:
where m is the total number of attribute-specific distances dij for the ith contractor attribute, and
In general, the deviation δi indicates the amount of variance or spread between the attribute values and/or distances for the ith contractor attribute. Smaller values of δi indicate that the attribute values and/or distances (i.e., similarity measurements) for the ith contractor attribute are grouped closer together, whereas larger values of δi indicate that the attribute values and/or distances for the ith contractor attribute are spread further apart. Accordingly, smaller values of δi may indicate that the ith contractor attribute is relatively important to a particular building owner or cluster of building owners 2828 since the contractors selected by such building owners have little variation with respect to the ith contractor attribute. In other words, smaller values of δi indicate that building owners 2828 have a stronger preference with respect to the ith contractor attribute and repeatedly select contractors having similar values for the ith contractor attribute. Conversely, larger values of δi may indicate that the ith contractor attribute is relatively unimportant to a particular building owner or cluster of building owners 2828 since the contractors selected by such building owners have a large variation with respect to the ith contractor attribute. In other words, larger values of δi indicate that building owners 2828 have a weak preference with respect to the ith contractor attribute and are willing to select contractors that vary significantly with respect to the ith contractor attribute.
Step 3012 may include using the distance deviations δi to calculate updated weights wi for each of the n contractor attributes. In some embodiments, the updated weights are calculated using the following equation:
w
i
=f(δi)=1−δi
where wi is the updated weight for the ith contractor attribute and δi is the deviation calculated for the ith contractor attribute. This equation for wi causes a relatively greater weight to be calculated for contractor attributes with a smaller deviation δi, and a relatively lesser weight to be calculated for contractor attributes with a greater deviation δi. Step 3012 may include calculating updated weights wi for each of the i contractor attributes and storing the updated weights in attribute weights database 2814. The updated weights may then be used in the subjectivity model to generate and provide subsequent contractor recommendations.
Advantageously, the systems and methods described herein use subjectivity modeling to capture a building owner's subjective preferences based on the actual decisions (i.e., contractor selections) made by the building owner. This allows the systems and methods of the present invention to automatically determine which contractor attributes are most important to a building owner (e.g., as evidenced by the building owner's contractor selections) without requiring the building owner to explicitly rank the importance of each contractor attribute.
The construction and arrangement of the systems and methods as shown in the various exemplary embodiments are illustrative only. Although only a few embodiments have been described in detail in this disclosure, many modifications are possible (e.g., variations in sizes, dimensions, structures, shapes and proportions of the various elements, values of parameters, mounting arrangements, use of materials, colors, orientations, etc.). For example, the position of elements may be reversed or otherwise varied and the nature or number of discrete elements or positions may be altered or varied. Accordingly, all such modifications are intended to be included within the scope of the present disclosure. The order or sequence of any process or method steps may be varied or re-sequenced according to alternative embodiments. Other substitutions, modifications, changes, and omissions may be made in the design, operating conditions and arrangement of the exemplary embodiments without departing from the scope of the present disclosure.
The present disclosure contemplates methods, systems and program products on any machine-readable media for accomplishing various operations. The embodiments of the present disclosure may be implemented using existing computer processors, or by a special purpose computer processor for an appropriate system, incorporated for this or another purpose, or by a hardwired system. Embodiments within the scope of the present disclosure include program products comprising machine-readable media for carrying or having machine-executable instructions or data structures stored thereon. Such machine-readable media can be any available media that can be accessed by a general purpose or special purpose computer or other machine with a processor. By way of example, such machine-readable media can comprise RAM, ROM, EPROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code in the form of machine-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer or other machine with a processor. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless) to a machine, the machine properly views the connection as a machine-readable medium. Thus, any such connection is properly termed a machine-readable medium. Combinations of the above are also included within the scope of machine-readable media. Machine-executable instructions include, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing machines to perform a certain function or group of functions.
Although the figures show a specific order of method steps, the order of the steps may differ from what is depicted. Also two or more steps may be performed concurrently or with partial concurrence. Such variation will depend on the software and hardware systems chosen and on designer choice. All such variations are within the scope of the disclosure. Likewise, software implementations could be accomplished with standard programming techniques with rule based logic and other logic to accomplish the various connection steps, processing steps, comparison steps and decision steps.
This application claims the benefit of and priority to U.S. Provisional Patent Application No. 62/190,614 filed Jul. 9, 2015, the entirety of which is incorporated by reference herein.
Number | Date | Country | |
---|---|---|---|
62190614 | Jul 2015 | US |