Analytics
See the health of your customer conversations at a glance — volume, response time, agent performance, and a satisfaction indicator — all pre-computed, cached, and refreshable on demand.
TL;DR
- What it is — a read-only dashboard with 8 KPI cards, 3 charts (response-time-by-hour, satisfaction donut, daily-volume bars), and a top-10 agent performance table. Pre-aggregated, cached, with a manual refresh.
- Who it's for — team leads and admins reviewing performance; agents checking their own contribution. Not a deep BI tool — use Reports for exports and drill-down.
- Top outcome — answer "is the team keeping up?" in seconds.
At a glance
| Plan tier | All paid tiers. |
| Who can use it | All roles can view. Every team member sees every colleague's numbers in this view. |
| Channels | Organisation-wide across every channel. No per-channel filter in this release. |
| Integrations | Reads from the live inbox, chat states, contacts, and team members. |
| Top limits | 5 preset date periods — last 7 / 30 / 90 days, current month, previous month. No custom range. Agent performance table: top 10. Cache refreshes automatically after 24 hours or on-demand. |
| API | Yes — partner API for fetching and refreshing analytics payloads. |
How to find it
Sidebar → Analytics.
Direct URL: https://lodgestory.com/crm/analytics
📸 [SCREENSHOT: analytics-nav.png — sidebar with Analytics highlighted]
What is Analytics?
The problem it solves
You have 45 agents, 12 channels, 60,000 conversations a month. How fast are first responses? Which agents are carrying the load? Is volume trending up or down week over week? Answering these from the raw data requires a data team and a never-stale dashboard. For non-technical managers and team leads, "open the dashboard" needs to be a one-second action, not a data-engineering project.
Analytics pre-computes and caches the answers. The dashboard reads from a cached snapshot that's regenerated when stale; a Refresh button regenerates on demand. For anything the dashboard doesn't cover, Reports exports raw CSVs for Excel or BI work.
What you get
- 8 KPI cards with trend indicators (up / down vs the previous period). Typical metrics include message volume, chat volume, average first response time, average resolution time, active contacts, pending chats, resolution rate, and a satisfaction indicator.
- 3 charts — response-time-by-hour line, satisfaction donut, daily-volume bar chart.
- Top-10 agent performance table. Per-agent: messages sent, chats handled, average first response time.
- 5 preset date periods — last 7 days, last 30 days, last 90 days, current month, previous month.
- Refresh button — regenerates the whole bundle on click.
How it's different
- Cached-regenerate model, not live. Dashboards aren't real-time. Metrics are a snapshot — manually refreshable — not streamed. This is deliberate: organisation-wide aggregates don't benefit much from sub-second latency, and refreshing them constantly would drag the rest of your inbox.
- Satisfaction isn't a survey score. The satisfaction indicator is derived from resolution rate and reopen rate, not from a formal customer-satisfaction survey. If you need true survey-based scores, plan to wire a survey campaign into the workflow.
Customer scenarios
- Daily standup KPI check. Team lead opens the dashboard each morning. Scans the KPI cards for yesterday. Drills into the agent table to spot anyone whose first-response time spiked.
- Monthly management review. Operations manager opens the dashboard in previous month range, screenshots the charts, pastes them into the monthly report. Detailed breakdowns come from a Reports CSV exported the same day.
- Regression check after a policy change. Support rolled out a new SLA on Friday. Monday morning, compare last 7 days to last 30 days to see whether the new policy is moving numbers.
How it fits with the rest of Lodgestory
This module is a consumer, not a producer. Every metric is derived from data owned by other modules: message volumes from Home, chat states from Workflow Lifecycle Stages, assignments from Team Members, active contacts from Contacts. Downstream: Reports exports the raw data when the dashboard isn't enough.
📸 [SCREENSHOT: analytics-landing.png — analytics dashboard with KPI cards and charts]
Core concepts
| Term | What it means |
|---|---|
| KPI card | A metric with a current value, a previous-period value, and a trend arrow. |
| Preset period | One of five static date ranges. Each selection is a new snapshot. |
| Chart | A visualisation reading from the cached snapshot. |
| Agent performance row | One row in the top-10 table, ranked by message volume for the period. |
| Derived satisfaction | A 0 – 100 score computed from resolution rate minus reopen rate. Not a formal survey score. |
Quick Start — read the dashboard in 1 minute
Step 1 — Open Analytics
Sidebar → Analytics.
Step 2 — Pick a date range
Top-right of the page — 5 preset buttons. Default is last 7 days.
Step 3 — Scan the KPI cards
Each card shows the current value and a coloured arrow vs the previous period of the same length.
Step 4 — Review the charts
- Response time by hour — line chart of average first-response time for each hour of the day. Spikes identify shifts where coverage is thin.
- Satisfaction — donut showing satisfied vs reopened chat ratios.
- Daily volume — bar chart of daily new chats.
Step 5 — Drill into the agent table
Top 10 by message volume. Sort by response time to find fastest or slowest.
Step 6 — Refresh if needed
Click Refresh at the top. Takes a few seconds on typical organisations.
How it works
On page load, the dashboard reads from a cached snapshot. If the snapshot is older than 24 hours, it's regenerated automatically and the fresh version is served.
Clicking Refresh forces regeneration regardless of cache age. Regeneration scans message volume, chat volume, state transitions, active contacts, assignment counts per agent, and team member names — then writes a fresh snapshot for the selected period.
Features in depth
KPI cards (8)
- Total messages (period).
- Total chats (period).
- Average first-response time.
- Average resolution time.
- Active contacts.
- Pending chats.
- Resolution rate (%).
- Derived satisfaction (0 – 100).
Each card shows the current value, the previous-period value, and a trend arrow with percent change.
Charts
- Response time by hour — line chart; horizontal axis is hours 0 – 23, vertical axis is average first-response time in minutes.
- Satisfaction donut — two slices: satisfied vs reopened.
- Daily volume — bar chart; horizontal axis is date, vertical axis is new chats that day.
Agent performance table
Top 10 by message volume. Columns: agent name, messages sent, chats handled, average first-response time, assigned team.
Sortable by each column; no pagination — it's a hard top-10.
Refresh button
At the top of the page. Regenerates the whole snapshot. Disabled while a refresh is in flight.
Date range picker
Five preset buttons — the current selection is highlighted. Changing a preset triggers a new fetch.
Roles and permissions
| Action | Account Owner | Admin | User |
|---|---|---|---|
| View Analytics | ✓ | ✓ | ✓ |
| See colleagues' stats in the agent table | ✓ | ✓ | ✓ |
| Trigger a refresh | ✓ | ✓ | ✓ |
Every user in the organisation sees every other user's numbers in this view. If your organisation wants agents to see only their own metrics, request it as a feature — the current posture is transparency-by-default.
Cross-module workflows
"Is response time getting worse?" review
Manager opens Analytics on last 30 days; notices first-response time trending up. Switches to last 7 days; sees Tuesday 2 – 5 PM is the worst hour. Checks the agent table; one agent's first-response time is three times the team average. Opens Team Members to investigate their schedule.
Modules involved: Analytics → Team Members → Reports (if deeper data needed).
"Did the new template improve conversions?"
Analytics shows daily volume spiking in the last week (ran a campaign); resolution rate holding. Open Reports to export the per-chat CSV filtered on the campaign to slice conversion by response-time bucket in Excel.
Limits a user will run into
| Limit | Value |
|---|---|
| Date range | 5 presets only (no custom range in this release) |
| Agent table size | Top 10 |
| Cache auto-refresh | Every 24 hours |
| Metrics per card | 1 |
| Charts | 3 |
Errors & FAQ
| You see | Likely reason | What to do |
|---|---|---|
| Failed to load analytics | Network or session | Reload; sign in again if the session is stale |
| Failed to refresh analytics | Regeneration took too long on a very large organisation | Retry; escalate if consistent |
| Page spinner never resolves | Very large organisation + stale cache forcing an expensive regeneration | Wait a minute and reload |
Frequently asked
Why are numbers slightly different from Reports?
Reports recompute from raw data on export; Analytics reads from the cached snapshot. If the cache is stale and raw data has moved, they'll differ until you refresh.
Why can't I pick a custom date range?
This release has five presets. Use Reports for anything outside them.
Why is there no per-channel breakdown?
Dashboard is organisation-wide. Use Reports for per-channel analysis.
Why does the Analytics page say "satisfaction" but we don't run formal surveys?
The metric here is derived from resolution and reopen rates, not from a survey. For true customer-satisfaction scores you'd need to wire survey campaigns into the workflow.
Why don't I see my colleague's calls in the agent table?
The agent table counts message volume across chat channels. Calls are tracked separately in the Calls module.
Why does the refresh take several minutes on our largest organisation?
On very large data sets the computation is slow. If this is consistent for you, request the roadmap item that makes it incremental.
Related modules & next steps
- Reports — raw CSV export for anything beyond the dashboard.
- Home (Unified Inbox) — the primary data source.
- Team Members — drill-down on individual agents.
- Campaigns — broadcast-level progress (separate from this page).
Updated about 4 hours ago