@section('page-title', 'Member Demographics Report')

Member Demographics Report

IPEC — Member distribution by age, gender, type and policy

← Regulatory Reports
Export CSV

Total Members

{{ number_format($summary['total_members']) }}

Principal Members

{{ number_format($summary['total_principals']) }}

Dependants

{{ number_format($summary['total_dependants']) }}

Dependency Ratio

{{ $summary['dependency_ratio'] }}

Gender Distribution

@if($byGender->count() > 0) @php $totalGender = $byGender->sum('count'); @endphp
@foreach($byGender as $row)
{{ ucfirst($row->gender ?? 'Unknown') }} {{ number_format($row->count) }} ({{ $totalGender > 0 ? round(($row->count / $totalGender) * 100, 1) : 0 }}%)
@endforeach
@else

No data available.

@endif

Age Distribution

@if($ageGroups->count() > 0) @php $totalAge = $ageGroups->sum('count'); @endphp
@foreach($ageGroups as $row)
{{ $row->age_group }} years {{ number_format($row->count) }} ({{ $totalAge > 0 ? round(($row->count / $totalAge) * 100, 1) : 0 }}%)
@endforeach
@else

No data available.

@endif

Member Type Distribution

@if($byMemberType->count() > 0)
@php $totalType = $byMemberType->sum('count'); @endphp @foreach($byMemberType as $row) @endforeach
Type Count Percentage
{{ ucfirst($row->member_type) }} {{ number_format($row->count) }} {{ $totalType > 0 ? round(($row->count / $totalType) * 100, 1) : 0 }}%
@else

No data available.

@endif

Members by Policy

@if($byPolicy->count() > 0)
@foreach($byPolicy as $row) @endforeach
Policy Members
{{ $row->policy->name ?? 'N/A' }} {{ number_format($row->count) }}
@else

No data available.

@endif

New Member Registrations (Monthly)

@if($newMembersMonthly->count() > 0) @php $maxNew = $newMembersMonthly->max('count') ?: 1; @endphp
@foreach($newMembersMonthly as $row)
{{ $row->month }}
{{ $row->count }}
@endforeach
@else

No new registrations in the selected period.

@endif