Czy myślałeś o tabeli kalendarza ? Chociaż strona jest bardzo stara, nadal bardzo dobrze opisuje użycie takiej tabeli:
Więc w twoim przypadku stworzyłbyś taką tabelę, a następnie po prostu połącz ją ze swoją Company
model.
Prowadzenie do zapytania takiego jak:
CalendarDay.where(year: Date.current.year).joins(:companies).group('YEAR(companies.created_at)').count