A system for determining the performance of a cloud-based software product over time, comprising: processing circuitry including at least one processor; and a memory device having instructions stored therein, wherein the instructions, which when executed by the processing circuitry, configure the at least one processor to: collect telemetry data representing whether different features of online sessions of the software product are operating properly, where the telemetry data represents shared performance metrics of the software product across different participants and components participating in an online session, the telemetry data from each participant and component having a session identifier identifying the online session from which the telemetry data was collected; correlate the collected telemetry data from the different participants and components using the session identifiers; process the telemetry data for the online session to establish a unit of failure when the telemetry data indicates that the online session operated outside of predefined performance metrics, the unit of failure representing Quality of Experience issues; and determine the performance of the software product as a function of the unit of failure over time. processing circuitry including at least one processor; and a memory device having instructions stored therein, wherein the instructions, which when executed by the processing circuitry, configure the at least one processor to: collect telemetry data representing whether different features of online sessions of the software product are operating properly, where the telemetry data represents shared performance metrics of the software product across different participants and components participating in an online session, the telemetry data from each participant and component having a session identifier identifying the online session from which the telemetry data was collected; correlate the collected telemetry data from the different participants and components using the session identifiers; process the telemetry data for the online session to establish a unit of failure when the telemetry data indicates that the online session operated outside of predefined performance metrics, the unit of failure representing Quality of Experience issues; and determine the performance of the software product as a function of the unit of failure over time. collect telemetry data representing whether different features of online sessions of the software product are operating properly, where the telemetry data represents shared performance metrics of the software product across different participants and components participating in an online session, the telemetry data from each participant and component having a session identifier identifying the online session from which the telemetry data was collected; correlate the collected telemetry data from the different participants and components using the session identifiers; process the telemetry data for the online session to establish a unit of failure when the telemetry data indicates that the online session operated outside of predefined performance metrics, the unit of failure representing Quality of Experience issues; and determine the performance of the software product as a function of the unit of failure over time.