I think the CloudStatisitcsService is where all of this logic should be because if someone provided a SqlStatisticsService that read all of the data out of a database instead of a json file, then they would want to reuse this ViewModel.