In many cases when the trial data are collected from an online log (or a sequence of events coming in real time) and metrics are calculated over the periods of time of a different duration (like Retention D1 and Conversion D2 with 2 days for the first and 3 days for the second necessary for calculation) it is advantageous to collect data related to the same daily cohorts only. This can be done by starting a trial for a day, then pausing it until the metric with the longest duration can be calculated, then, after the intermediate evaluation - restarting the same trial.
It can also be used for collecting small samples from a large stream of data periodically, let's say once a day for 5 minutes, then assessing the resulting data together, as a single Trial.
Subclassing works of course, but it is just logical to have it in the framework itself.
In many cases when the trial data are collected from an online log (or a sequence of events coming in real time) and metrics are calculated over the periods of time of a different duration (like Retention D1 and Conversion D2 with 2 days for the first and 3 days for the second necessary for calculation) it is advantageous to collect data related to the same daily cohorts only. This can be done by starting a trial for a day, then pausing it until the metric with the longest duration can be calculated, then, after the intermediate evaluation - restarting the same trial.
It can also be used for collecting small samples from a large stream of data periodically, let's say once a day for 5 minutes, then assessing the resulting data together, as a single Trial.
Subclassing works of course, but it is just logical to have it in the framework itself.