CRM / Bitrix24 · BI dashboard
A custom BI dashboard on top of Bitrix24
Client:
lada-dabracar.by
Category: CRM / Bitrix24
Stack: PHP, Bitrix24 D7, SQL reports, TTL cache, whitelisted AJAX
Timeline: 4–6 weeks
Problem
At the LADA dealership lada-dabracar.by, management and the call center needed a single "inquiry to visit to sale" funnel on top of Bitrix24 — the CRM's built-in reports did not cover that view.
Constraints
Some classic call-center metrics (SL/ASA/ATA) simply cannot be computed without telephony data; mixing different date sources (lead vs. visit) skews percentages unless kept separate.
What I did
- 20 parameterized SQL reports on top of live CRM data with safely substituted filters
- A "lead to visit to deal to sale" funnel with intermediate metrics (contact rate, occupancy, etc.)
- A multi-level TTL cache with stale fallback and locks — the dashboard never hits the CRM with heavy queries directly
- 33 whitelisted AJAX actions with permission and session checks
- Honest documentation of the limitations of every disputable metric instead of dressing up the numbers
Screenshots
Screenshot coming soon
Dashboard overview tab: the inquiry-to-visit-to-sale funnel
Screenshot coming soon
Calls and agents tab
Screenshot coming soon
Directions tab with a metrics breakdown
Architecture
Live Bitrix24 data
→ SQL reports
→ Cache layer (live/cached/pre-aggregated)
→ Tabbed dashboard
Result
Management and the call center got a single tabbed funnel dashboard (overview/visits/calls/agents/directions) instead of Excel exports — with caching and clearly documented metric limitations.
What can be reused
Live/cached/pre-aggregated report provider layer
TTL cache with stale fallback for heavy SQL reports
Approach to honestly documenting metric limitations