Setting up seller analytics on the 1C-Bitrix marketplace

Our company is engaged in the development, support and maintenance of Bitrix and Bitrix24 solutions of any complexity. From simple one-page sites to complex online stores, CRM systems with 1C and telephony integration. The experience of developers is confirmed by certificates from the vendor.
Our competencies:
Development stages
Latest works
  • image_website-b2b-advance_0.png
    B2B ADVANCE company website development
    1173
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Website development for FIXPER company
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Development based on Bitrix, Bitrix24, 1C for the company Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Development based on 1C Enterprise for MIRSANBEL
    745
  • image_crm_dolbimby_434_0.webp
    Website development on CRM Bitrix24 for DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Development based on Bitrix24 for the company TECHNOTORGKOMPLEKS
    976

Seller Analytics Setup on 1C-Bitrix Marketplace

A seller needs to understand what sells, at what prices, what the return rate is, and how much they earn after platform commission. In 1C-Bitrix, standard trade reports at /bitrix/admin/sale_reports.php show data for all orders without seller differentiation. We need a separate analytics system in the personal account.

Data Sources

Seller analytics is built on data from multiple tables:

  • b_sale_basket / sub-orders mp_sub_orders — sales, returns
  • mp_finance_log — commissions, payouts, balance
  • b_iblock_element with filter UF_VENDOR_ID — product views (if counter is enabled)
  • mp_vendor_reviews — rating and review dynamics

Key Metrics and Implementation

Revenue for periodSUM(PRICE * QUANTITY) by seller's sub-orders for selected period. Grouped by days/weeks/months for dynamics graph.

Top productsGROUP BY PRODUCT_ID, ORDER BY SUM(QUANTITY) DESC by sub-order positions. Show top-10 with revenue sum and quantity.

Return percentageCOUNT(*) WHERE STATUS = 'refunded' / COUNT(*) * 100 by sub-orders for period.

Net profitrevenue - commissions - refunds for period. Taken from mp_finance_log by summing operations by type.

Status conversion — how many sub-orders completed successfully vs cancelled/returned.

Analytics Query Performance

Aggregating queries on large tables are slow. For analytics with date ranges, composite index is needed:

CREATE INDEX idx_sub_orders_vendor_date
ON mp_sub_orders (VENDOR_ID, CREATED_AT, STATUS);

Heavy aggregations (year totals, top across all products) are moved to cache with hourly updates via Bitrix agent (CAgent::AddAgent()). Operational data (current day) — calculated on each request.

Analytics Interface

Minimal dashboard: 4–6 key numbers (7-day revenue, order count, average check, rating), line graph of revenue dynamics, top products table. Charts — Chart.js or ApexCharts, data via AJAX.

Period filter (yesterday / 7 days / 30 days / quarter / custom range) — mandatory element.

Excel export — via PhpSpreadsheet or via built-in Bitrix CSV export.

Timeline

Basic analytics (revenue, top products, order metrics) with charts — 1–2 weeks. Advanced analytics (funnels, cohort analysis, forecasts) — 3–5 weeks.