A surface cleaning apparatus comprising: an upright body comprising a handle and a frame ;a base adapted for contacting a surface to be cleaned, the base coupled with the upright body ; a moveable joint assembly mounting the base to the upright body , wherein the upright body is pivotable up and down about at least one axis relative to the base ; an electrically powered suction source comprising a vacuum motor ; a recovery tank fluidly coupled to the suction source and removably mounted to the frame ; an electrically powered pump in the base; a supply tank fluidly coupled to the pump and removably mounted to the frame ; a dirt sensor in the base, the dirt sensor configured to generate dirt sensor data during a cycle of operation of the surface cleaning apparatus, the dirt sensor data correlating to a dirtiness of the surface to be cleaned; the apparatus being characterised in that : a controller configured to process the dirt sensor data generated by the dirt sensor and to transmit a pump control signal to the pump to adjust a flow rate of cleaning fluid from the pump based on the dirt sensor data generated by the dirt sensor ; and a connectivity component configured to wirelessly transmit the dirt sensor data to a remote computing device ; wherein the remote computing device is configured to identify, based on the transmitted dirt sensor data, at least one of: a dirty floor event at the surface cleaning apparatus; and a change in the flow rate of cleaning fluid from the pump . a moveable joint assembly mounting the base to the upright body , wherein the upright body is pivotable up and down about at least one axis relative to the base ; an electrically powered suction source comprising a vacuum motor ; a recovery tank fluidly coupled to the suction source and removably mounted to the frame ; an electrically powered pump in the base; a supply tank fluidly coupled to the pump and removably mounted to the frame ; a dirt sensor in the base, the dirt sensor configured to generate dirt sensor data during a cycle of operation of the surface cleaning apparatus, the dirt sensor data correlating to a dirtiness of the surface to be cleaned; the apparatus being characterised in that : a controller configured to process the dirt sensor data generated by the dirt sensor and to transmit a pump control signal to the pump to adjust a flow rate of cleaning fluid from the pump based on the dirt sensor data generated by the dirt sensor ; and a connectivity component configured to wirelessly transmit the dirt sensor data to a remote computing device ; wherein the remote computing device is configured to identify, based on the transmitted dirt sensor data, at least one of: a dirty floor event at the surface cleaning apparatus; and a change in the flow rate of cleaning fluid from the pump . a controller configured to process the dirt sensor data generated by the dirt sensor and to transmit a pump control signal to the pump to adjust a flow rate of cleaning fluid from the pump based on the dirt sensor data generated by the dirt sensor ; and a connectivity component configured to wirelessly transmit the dirt sensor data to a remote computing device ; wherein the remote computing device is configured to identify, based on the transmitted dirt sensor data, at least one of: a dirty floor event at the surface cleaning apparatus; and a change in the flow rate of cleaning fluid from the pump . a dirty floor event at the surface cleaning apparatus; and a change in the flow rate of cleaning fluid from the pump . <EOS>