public function calculateStats()
    {
        $classes = $this->getClasses();
        $dates   = $this->getDates();

        //explore all class to stated
        foreach ($classes as $objectClass => $constraints) {
            //prepare useful data
            $stats_fields = [ ];

            $objectName = last(explode('\\', $objectClass));

            //explore each date to count from
            foreach ($dates as $dateName => $date) {
                //create the sql request
                $sql = $objectClass::where('created_at', '>=', $date->toDateTimeString());

                //taking into account the constraint
                foreach ($constraints as $constraintName => $constraintValue) {
                    $sql = $sql->where($constraintName, $constraintValue);
                }

                //count !
                $count = $sql->count();

                //set count
                $stats_fields[] = [
                    "since" => $dateName,
                    "value" => $count
                ];
            }

            //add to stats array
            $this->stats[] = [
                'name'   => $objectName,
                'values' => $stats_fields
            ];
        }
    }