You can use SUBQUERY to do it in a single fetch request:
NSDateComponents* components = [[NSCalendar currentCalendar] components:NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit fromDate:[NSDate date]];
[components setDay:[components day] - 10];
NSDate* tenDaysAgo = [[NSCalendar currentCalendar] dateFromComponents:components];
NSFetchRequest* fetchRequest = [NSFetchRequest fetchRequestWithEntityName:NSStringFromClass([Conference class])];
fetchRequest.predicate = [NSPredicate predicateWithFormat:@"SUBQUERY(events, $event, $event.type = 0 AND $event.date > %@).@count >= 1 AND SUBQUERY(events, $event, $event.type = 1 AND $event.date > %@).@count >= 5", tenDaysAgo, tenDaysAgo];
fetchRequest.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"events.count" ascending:NO];
fetchRequest.fetchLimit = 3;
NOTE: sort descriptor with events.count will only work for in-memory store or binary store, but it will crash for SQLite store (more about it here). In this case you should sort and limit results after the fetch.