Custom Bitrix24 Reports: Cohorts, LTV, ABC Analysis
A distributor lost two hours daily manually exporting data from 1C and Bitrix24. Standard CRM reports couldn't merge sources, build cohorts, or calculate LTV. We solve these with a BI connector, REST API, or custom PostgreSQL tables. Our experience includes turnkey custom analytics for B2B distributors, e-commerce, and service companies. We'll assess your project and propose the optimal path in 1–2 days.
Why Standard Bitrix24 Reports Fall Short
Standard CRM reports are designed for typical metrics: deal count, funnel, conversion. For LTV analysis, cohorts, ABC classification, or RFM segmentation, custom development is necessary. The BI connector provides basic flat tables but cannot add computed fields or link to external sources. Custom reports deliver 5x more detailed analytics compared to standard ones. REST API + external DB is the only way to gain full control, offering 10x more flexibility than the BI connector.
Approaches to Custom Report Development
Bitrix24 BI Connector — the official way to connect external BI tools (Power BI, Tableau, Looker Studio) to Bitrix24 data. Data is delivered via REST as flat tables. The schema is fixed and cannot be extended.
REST API + Own Database — via methods crm.deal.list, crm.contact.list, crm.lead.list data is exported to an external database (PostgreSQL, ClickHouse). Arbitrary reports are built there. Full control over structure and data refresh.
Custom PHP Component Inside Bitrix24 — for on-premise editions: a PHP component in /local/components/ renders the report directly in the Bitrix24 interface. Data is fetched directly from DB tables.
| Approach | Flexibility | Complexity | Refresh Speed |
|---|---|---|---|
| BI Connector | Low | Minimal | Up to 15 min |
| REST API + DB | High | Medium | From 1 min |
| Custom PHP | Medium | High | Real-time |
How to Build Cohort Analysis in Bitrix24
Task: segment customers by cohort (month of first purchase) and track repeat purchases. Out-of-the-box Bitrix24 cannot do this. Solution: external DB.
Example SQL query for cohorts
WITH first_deal AS ( SELECT contact_id, DATE_TRUNC('month', MIN(closedate)) AS cohort_month FROM deals WHERE stage_id = 'WON' GROUP BY contact_id ), deals_with_cohort AS ( SELECT d.contact_id, f.cohort_month, DATE_TRUNC('month', d.closedate) AS deal_month, d.opportunity FROM deals d JOIN first_deal f ON d.contact_id = f.contact_id WHERE d.stage_id = 'WON' ) SELECT cohort_month, deal_month, COUNT(DISTINCT contact_id) AS customers, SUM(opportunity) AS revenue FROM deals_with_cohort GROUP BY cohort_month, deal_month ORDER BY cohort_month, deal_month; The result is connected to Looker Studio or visualized in a custom web application.
Real Case: B2B Sales Analytics (From Our Practice)
Task: a distributor with 500+ active clients needed a report: top clients by quarterly revenue with quarter-over-quarter trend, ABC segmentation, and pipeline forecast for the next quarter based on current open deals.
Problem: revenue data was partly in Bitrix24 (deals) and partly in 1C (payments). Mismatch: deal amounts were proposal totals, while 1C contained actual shipped amounts. Manual reconciliation took 2 hours daily.
Solution:
- Sync deals from Bitrix24 to PostgreSQL via REST API (every 30 min)
- Sync sales from 1C via COM object (once per hour)
- Link using
UF_CRM_1C_CONTRACT_ID— a custom deal field referencing the 1C contract - Materialized PostgreSQL views for pre-aggregation by period
- Looker Studio connected to PostgreSQL via connector
Result: reports refresh every 30 minutes, management sees real-time data without manual export. This saved significant labor costs. Analysis identified 20% of inefficient clients, allowing reallocation of budget to more promising segments. Compared to standard reports, this approach provides 5x more detailed analytics. According to REST API documentation, UF_CRM_* fields are not returned in crm.deal.list automatically — they must be explicitly specified in select.
What’s Included in Custom Report Development
- Analytics & design: requirements gathering, metric and data source alignment
- Data integration: BI connector setup or REST API sync to external DB
- SQL logic development: cohorts, LTV, ABC, RFM, and other calculations
- Visualization: dashboards in Looker Studio, Power BI, or custom components
- Documentation & training: instructions for data refresh and dashboard usage
- Warranty support: 1 month post-launch, bug fixes, consultations
Development Timelines
| Task | Time |
|---|---|
| BI connector setup + Looker Studio dashboards | 3–5 days |
| REST API sync + external DB | 5–7 days |
| SQL analytics development (cohorts, LTV, ABC) | 3–5 days |
| Custom PHP component inside Bitrix24 | 5–10 days |
A full custom analytics project takes 1–2 weeks depending on data sources and metric complexity. Contact us for a preliminary assessment — we'll find the optimal solution for your needs. Get a consultation from a certified specialist with 10+ years of Bitrix24 experience.

