AFAIK there are two very different execution paths for time series and group by queries. My understanding is that time series queries aggregate only on time. So you can think of it as a single pass. With group by queries, it sorts the data on group by dimensions, does partial aggregation on those dimensions and then merges the results in a final aggregation. Given that PAID has 8x the number of rows to sort (even if it is a single value, it still needs to do this step), that would explain the difference to the CANCELLED query.