Avez-vous pensé à un tableau de calendrier ? Bien que le site soit très ancien, il décrit encore très bien l'utilisation d'un tel tableau :
Donc, dans votre cas, vous créeriez une telle table, puis la joignez simplement à votre Company
modèle.
Menant à une requête comme :
CalendarDay.where(year: Date.current.year).joins(:companies).group('YEAR(companies.created_at)').count