An appliance monitoring and reporting system (1, 100) for monitoring an appliance configured to operate according to a plurality of cycles of operation, each cycle denoted by a classification, wherein the appliance includes one or more relays configured to control the operation of the appliance, each relay having an active state and an inactive state, the monitoring system comprising: a data acquisition module (12, 102) configured to sense or receive from the appliance signals indicative of the operation of the appliance, the data acquisition module comprising: one or more sensors for sensing the state of a relay of the appliance; and one or more sensor inputs, each configured to receive a signal from a corresponding one of the one or more sensors; wherein the data acquisition module is configured to generate a data packet containing data indicative of the operation of the appliance based on the sensed or received signals; and a data processing module (14, 104) configured to receive and process information indicative of the operation of the appliance, the received information based on the data contained in the data packet, the data processing module comprising: a memory for storing associations between a plurality of classifications and a corresponding plurality of sets of reference data, wherein the plurality of sets of reference data comprises a plurality of unique state patterns of the one or more relays; and a processor configured to: compare the received information to the plurality of sets of reference data; identify a match between the received information and one of the sets of reference data; and upon identification of a match, determine the classification associated with the matched set of reference data. a data acquisition module (12, 102) configured to sense or receive from the appliance signals indicative of the operation of the appliance, the data acquisition module comprising: one or more sensors for sensing the state of a relay of the appliance; and one or more sensor inputs, each configured to receive a signal from a corresponding one of the one or more sensors; wherein the data acquisition module is configured to generate a data packet containing data indicative of the operation of the appliance based on the sensed or received signals; and one or more sensors for sensing the state of a relay of the appliance; and one or more sensor inputs, each configured to receive a signal from a corresponding one of the one or more sensors; wherein the data acquisition module is configured to generate a data packet containing data indicative of the operation of the appliance based on the sensed or received signals; and a data processing module (14, 104) configured to receive and process information indicative of the operation of the appliance, the received information based on the data contained in the data packet, the data processing module comprising: a memory for storing associations between a plurality of classifications and a corresponding plurality of sets of reference data, wherein the plurality of sets of reference data comprises a plurality of unique state patterns of the one or more relays; and a processor configured to: compare the received information to the plurality of sets of reference data; identify a match between the received information and one of the sets of reference data; and upon identification of a match, determine the classification associated with the matched set of reference data. a memory for storing associations between a plurality of classifications and a corresponding plurality of sets of reference data, wherein the plurality of sets of reference data comprises a plurality of unique state patterns of the one or more relays; and a processor configured to: compare the received information to the plurality of sets of reference data; identify a match between the received information and one of the sets of reference data; and upon identification of a match, determine the classification associated with the matched set of reference data. compare the received information to the plurality of sets of reference data; identify a match between the received information and one of the sets of reference data; and upon identification of a match, determine the classification associated with the matched set of reference data.