+public function prediction()
+ $national_events = $this->batch->events;
+ $national_attendance = 0;
+ foreach($national_events as $event){
+ if($event->allow_registrations){
+ $national_attendance += $event->registrations->count();
+ $national_average = $national_attendance / $national_events->count();
+ $regional_events = DB::table('regions')->where('time_zone', '=', 'timezone')->get();
+ $regional_attendance = 0;
+ foreach($regional_events as $event){
+ if($event->allow_registrations){
+ $regional_attendance += $event->registrations->count();
+ $regional_average = $regional_attendance / $regional_events->count();
+ $local_events = DB::table('events')->where('region_id', '=', $this->region_id)->get();;
+ $local_events_count = 0;
+ foreach($local_events as $event){
+ if($event->allow_registration && $event->region == $this->region){
+ $local_attendance += $event->registrations->count();
+ $local_events_count += 1;
+ $local_average = $local_attendance / $local_events_count;
+ return round(($national_average + (2 * $regional_average) + (3 * $local_average)) / 6);