Heb je gedacht aan een kalendertabel ? Hoewel de site erg oud is, beschrijft hij het gebruik van zo'n tabel nog steeds heel goed:
Dus in jouw geval zou je zo'n tabel maken en er dan gewoon aan toevoegen met je Company
model.
Dit leidt tot een zoekopdracht als:
CalendarDay.where(year: Date.current.year).joins(:companies).group('YEAR(companies.created_at)').count