Configuring Seller Analytics on a 1C-Bitrix Marketplace

A seller on a 1C-Bitrix marketplace only sees aggregate numbers—total revenue and order count across the entire store. They need clear insight: which products bring profit or loss, at what prices they sell, earnings after platform commissions, and the return rate. Standard trade reports in `/bitrix/

Our competencies:

Frequently Asked Questions

A seller on a 1C-Bitrix marketplace only sees aggregate numbers—total revenue and order count across the entire store. They need clear insight: which products bring profit or loss, at what prices they sell, earnings after platform commissions, and the return rate. Standard trade reports in /bitrix/admin/sale_reports.php do not differentiate sellers and lack per-product detail. We developed a dedicated analytics module right in the seller's personal cabinet, using the built-in tables mp_sub_orders and mp_finance_log. The module is built on D7 ORM and tagged caching, ensuring dashboard response times as low as 200 ms. We hold a 1C-Bitrix certificate and have years of integration experience—over 50 projects on this platform. Our analytics gives full control over revenue, commissions, and returns, enabling a net profit increase of 15–25%. Every day the system processes thousands of sub-orders, calculating key metrics in real time. Thanks to Bitrix agents, heavy aggregations are cached, while operational data is computed on the fly. The proposed marketplace reporting includes granular detail per seller and per product.

How to Gather Data for Seller Analytics

Analytics is built on data from several tables. Below are the sources and their purposes:

Table Data
b_sale_basket / mp_sub_orders Sales, returns, quantity, prices
mp_finance_log Commissions, payouts, balance
b_iblock_element (filter UF_VENDOR_ID) Product views (if counter connected)
mp_vendor_reviews Rating, review dynamics

These datasets are joined by VENDOR_ID and period. To speed up queries, we use a documented indexing approach—a composite index (VENDOR_ID, CREATED_AT, STATUS). For integration with accounting systems, we use the CommerceML format, which automatically syncs products and orders without manual data entry.

Which Metrics Are Calculated

Revenue for the period — SUM(PRICE * QUANTITY) over the seller's sub-orders, grouped by day for a dynamics chart. Top products — GROUP BY PRODUCT_ID, ORDER BY SUM(QUANTITY) DESC, showing top 10 with revenue and sales count. Return rate — ratio of sub-orders with status refunded to total (typically 2-5%). Net profit — revenue minus commissions (from mp_finance_log) minus return costs. Conversion by status — percentage of successfully completed sub-orders, averaging 10-15%. A conversion funnel shows how many orders pass each stage from cart to payment. All metrics respect access rights: sellers see only their own data. Bitrix agents cache heavy aggregations once per hour.

A second table shows formulas and update frequency:

Metric Formula Update
Revenue SUM(PRICE*QUANTITY) Real-time (current day) / cached hourly (aggregated)
Net profit Revenue - commissions - returns Hourly
Top products GROUP BY PRODUCT_ID Hourly

Why Query Performance Matters

Aggregating queries on tables with millions of records is a bottleneck. For date-range analytics, a composite index is essential:

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

Heavy aggregations (yearly totals, all-products ranking) are moved to cache, refreshed via CAgent::AddAgent(). Operational data for the current day is computed on each request. Our approach is 2x faster than standard solutions due to tagged caching, reducing dashboard response time to 200 ms.

How to Build the Dashboard Step by Step

  1. Create a component custom:analytics.dashboard based on Component 2.0, including JS (Chart.js) and CSS.
  2. Set up an agent to cache aggregated data: CAgent::AddAgent('CAnalyticsAgent::AggregateSales();', 'analytics', 'N', 3600).
  3. Design the dashboard: four cards (revenue, orders, average order value, returns), a revenue dynamics chart, and a top-10 products table.
  4. Add AJAX loading for real-time data and an export button to XLSX via PhpSpreadsheet.

Dashboard Interface

The dashboard displays: revenue for the last 7 days, number of orders, average order value, rating—4–6 key figures prominently displayed. A line chart (Chart.js) for revenue dynamics and a top-10 products table. All data loads via AJAX. A period filter (yesterday/7d/30d/quarter/custom) and an export button are mandatory. Export is implemented via PhpSpreadsheet (XLSX) or CSV. Savings from implementation can reach up to 20% of turnover by discontinuing unprofitable products and optimizing prices.

What's Included in the Work

  • Analytics module with seller personal cabinet
  • Dashboard with 6 key figures, chart, and top-products table
  • Period filter and export to Excel/CSV
  • User manual and employee training
  • 12-month warranty on the module

Timeline and Cost

Basic analytics (revenue, top products, order metrics) with charts — 1–2 weeks. Extended analytics with funnels, cohort analysis, and forecasts — 3–5 weeks. Cost is calculated individually, depending on integration complexity. Request implementation—we will assess your project within one day. Get a consultation for your scenario. For an accurate estimate, access to the store's data structure is needed.