{{ __('View ledger') }}
{{ __('Admin · Billing & plans · Order analytics') }}

{{ __('Order') }} {{ __('analytics') }}

{{ __("Subscriptions, upgrades, downgrades, add-ons, and cancellations — what's driving net revenue motion across the platform.") }}

{{ __('Total orders') }}
{{ $stats['total'] }}
{{ $stats['totalDelta'] }}
{{ __('Net new MRR') }}
{{ $stats['newMrr'] }}
{{ $stats['upgrades'] }}
{{ __('Lost MRR') }}
{{ $stats['lostMrr'] }}
{{ $stats['cancels'] }}
{{ __('Avg order value') }}
{{ $stats['aov'] }}
{{ __('paid orders') }}
{{ __('Add-on attach') }}
{{ $stats['attachPct'] }}
{{ $stats['attachLabel'] }}
{{ __('Conversion rate') }}
{{ $stats['convPct'] }}
{{ __('signup → paid') }}
{{ __('Daily order motion') }}

{{ __('New, upgrades, downgrades, cancels') }}

New Upgrade Downgrade Cancel
{{ __('Order type mix') }}

{{ __('By type') }}

@foreach ($typeMix['rows'] as $r)
{{ $r['label'] }}{{ number_format($r['count']) }}
@endforeach
{{ __('Add-ons sold') }}

{{ __('Top performers') }}

    @forelse ($addons as $a)
  • {{ $a['label'] }}{{ $a['count'] }} · {{ $a['total'] }}
  • @empty
  • {{ __('No add-on orders in this window.') }}
  • @endforelse
{{ __('Conversion funnel') }}

{{ __('Visit → paid') }}

@foreach ($funnel as $i => $f) @php $barColor = match (true) { $i === 0 => 'bg-wa-deep', $i === 1 => 'bg-wa-deep', $i === 2 => 'bg-wa-teal', $i === 3 => 'bg-accent-amber', default => 'bg-accent-coral', }; $textTone = $i === count($funnel) - 1 ? 'text-wa-deep' : ''; @endphp
{{ $f['label'] }} {{ number_format($f['count']) }} @if ($f['pct']) · {{ $f['pct'] }} @endif
@endforeach
{{ __('By country') }}

{{ __('Top markets') }}

    @php $countryTones = ['#FFF4E0','#D9E5F2','#E7FFDB','#F3E9FF','#FEE4E2','#EFEBE0']; @endphp @forelse ($byCountry as $i => $c)
  • {{ $c['code'] }}{{ $c['code'] }}{{ number_format($c['count']) }}
  • @empty
  • {{ __('No country data yet.') }}
  • @endforelse
{{ __('Cohort retention') }}

% of customers still subscribed N months later

{{ __('last 6 cohorts') }}
@forelse ($cohorts as $row) @foreach ($row['cells'] as $k => $cell) @if ($cell === null) @else @php $opacity = ['', '/85', '/75', '/65', '/55', '/45'][$k] ?? '/45'; @endphp @endif @endforeach @empty @endforelse
{{ __('Cohort') }} {{ __('Size') }} M0 M1 M2 M3 M4 M5
{{ $row['label'] }} · {{ $row['size'] }} {{ $row['size'] }} {{ $cell }}%
{{ __('No workspace signups yet.') }}