March Code
Sales and demand analytics

Revizor: AI sales and demand analytics on top of Bitrix24

An analytics platform on top of Bitrix24 (a CRM popular in Russia and Eastern Europe): AI analyzes calls and chats, scores every deal and every sales rep's work, maps demand by city and product, collects complaints for production, and checks CRM data against what was actually said to the customer.

Client: Manufacturing company, RussiaAIAutomation
Revizor: AI sales and demand analytics on top of Bitrix24

100,000+

calls processed by AI

30,000+

deals and leads analyzed

6 weeks

from zero to production

100%

verifiable numbers

01

Challenge

If you have a sales team and a CRM, this picture is probably familiar. Reps fill in deal cards on the run, and not always honestly. The reports look nice, but you're nervous about making decisions based on them. And the truth about every deal lives in exactly one place: call recordings nobody ever listens to. With a hundred inquiries a day, listening to them would take a full-time hire.

The client is a manufacturing company with two sales offices and thousands of inquiries a year from Avito (Russia's largest classifieds site), its website, messengers and phone. Its owner couldn't answer four simple questions:

  • how many customers went to competitors, and whose fault it was;
  • which ad channel brings buyers, and which brings junk traffic for the same money;
  • which objections actually come up in conversations, and what reps do with them;
  • what stage each deal is really at, rather than the box ticked in the CRM.

The owner summed up the task in one sentence: “I want to see the truth about my sales team.” We took it literally and built a system that listens to every call.

By agreement, we publish this case without the client's name; screenshots were taken in demo mode, with the product, cities, names and numbers replaced.

02

Solution

A system that listens to every call and stands behind its numbers

Revizor connects to the working CRM (here, the on-premise edition of Bitrix24) and pulls in everything: deals, leads, call recordings, messenger chats. The neural network transcribes conversations by role (“rep / customer”), breaks every deal down into 53 structured facts (need, city, objections, reason for loss, promises) and turns them not into “pretty charts” but into answers: where we're losing, who's losing, what to do today.

The system's main rule: every number is clickable. A metric drills down to a list of deals, a deal to the conversation transcript, an AI conclusion to the customer's own words. People trust a report they can verify in two clicks, and they make decisions based on it.

What management sees every morning

One screen instead of a stand-up
Today's priorities from AI
  • For every active deal, what to do right now: call back, push to close, send a quote
  • Sorted by importance: the head of sales hands out tasks in 5 minutes instead of spending an hour on deal cards
  • A customer summary right in the row, without opening the CRM
Said it, did it
Every conversation under control
  • AI checks every conversation against a 17-point sales checklist, with quotes
  • Promises to customers are tracked: if a rep says “I'll send the estimate today” and doesn't, you see it right away
  • The score is built on the rep's own words, not on the manager's impression
Advertising without the spin
Traffic quality based on facts
  • Every inbound request is scored on a 100-point scale: volume, location, whether there's a contact
  • The rep's work doesn't affect the lead score, so the ad agency has nowhere to hide
  • A drop in quality shows up the day it happens, not in an end-of-month report
Geography and product
Demand, as customers voice it
  • A demand map by city with the dealer network: where to put ad spend, where to open a warehouse
  • Which collections and colors customers name out loud: the structure of demand for production and purchasing
  • Complaints from conversations, sorted by defect category, without a single survey

How it works under the hood

CRM → data mirrors

46 tables from a MySQL replica of Bitrix24: nightly reload, change detection, self-healing after failures

Ears: WhisperX

Transcription of calls and voice messages with speaker diarization by role, on a GPU, with no per-minute fees to external services

Brain: LLM pipeline

Claude / DeepSeek with automatic failover, queues and caching: 53 fact fields with quotes, for pennies per deal

Data marts and web app

39 PostgreSQL data marts, 33 pages in Next.js: reports, a management cockpit, a pipeline monitor

Why even the reps trust the numbers

A key design decision: AI returns only facts with quotes, and the scores come from an open formula with weights that management adjusts in the settings without a developer. No “AI opinion”: behind every score there's a line from the conversation and simple arithmetic. Weight changes apply instantly, without re-running the analysis.

03

The system from the inside

Real screens of a working system, not mockups. Click to take a closer look

AI analysis
Every lead is scored before a rep picks up the phone: quality on a 100-point scale, segment, warmth and a rating of the rep's work, right in the list
AI checked the conversation against a 17-point checklist, with a status and the rep's quote for each item. The system remembered the promise “I'll send the estimate today” and will follow up on it
Full call transcript by role plus an AI summary: a manager “listens” to the conversation by reading it in 20 seconds instead of 12 minutes of audio
Analytics
Demand map by city and dealer network: AI pulls the city out of every conversation, so you can see where to put ad spend and where to open a warehouse or bring on a local representative
Feedback for production without a single survey: AI picks out complaints from all conversations and sorts them by defect category
Real product demand in customers' own words: which collections and colors come up in calls, and what share of those deals are won
Control
A days × hours heat map of when reps actually call and message: morning gaps and workload imbalances are visible at a glance
The system checks the CRM against real conversations: made-up cities, wrong sources and empty fields are found automatically
Pipeline
Real-time pipeline monitor: transcription, AI analysis, data health. Transparency instead of a black box
04

Results

100,000+

calls processed by AI

Every call and voice message is transcribed by role (“rep / customer”), plus 555,000+ chat messages in the same pipeline

30,000+

deals and leads analyzed

For each one, the LLM returns 53 structured fields: need, objections, reason for loss, the rep's promises, all with quotes

6 weeks

from zero to production

The full cycle (data pipeline, AI analysis, 39 data marts and a 33-page web app) built by one developer working with an AI assistant

100%

verifiable numbers

End-to-end drill-down: any metric opens up into a list of deals, and a deal into the conversation transcript. The report becomes a tool, not just a picture

05

In-depth breakdown

What changed for the business

  • Management's morning starts with one screen: today's priorities instead of an hour going through deal cards and stand-ups run on gut feeling.
  • Marketing learns about a drop in traffic quality the day it happens, not from an end-of-month report when the budget is already spent.
  • Conversations with the sales team moved from emotions to facts: for every lost customer there's a reason, a person responsible and a quote from the conversation.
  • Production gets customer complaints sorted by defect category, without a single survey or a game of telephone.
  • The reps accepted the scoring because it's built on their own words, and items that don't apply are marked “not applicable” rather than “failed”.

Engineering decisions we're proud of

Honest metrics over pretty ones
  • 65% of “quality” leads turned out to be empty: the formula started at 100 points, and there was nothing to deduct points for
  • We added a “not scored” status: thousands of phantom leads dropped out of the statistics, and the numbers became uncomfortable but real
“Not applicable” ≠ “failed”
  • The first version penalized reps for “didn't handle objections” when there were no objections at all
  • A third status in the checklist, and the reps started trusting the score instead of pushing back on it
The truth vs. the CRM
  • The system checks what the rep entered against what the customer actually said in the conversation
  • It finds made-up cities, wrong lead sources and deals stuck at a stage the negotiations moved past long ago
Built to survive failures
  • The pipeline survives an LLM provider outage, a lost connection to the CRM and hung processes
  • The queue isn't lost, jobs are replayed, workers restart automatically

Want to hear your sales team the same way?

A system like this is built on top of the CRM you already use (Bitrix24, HubSpot, Pipedrive, Salesforce or a custom one) with no migration and no disruption to your processes. We start with a pilot on your call recordings: within a few weeks, you'll hear for the first time what's really happening in your sales. Leave a request below, and we'll show you the system live and estimate the impact at your volumes.

Screenshots were taken from the live system in demo mode: the product, cities, names and numbers were replaced using deterministic coefficients, so the client's real data can't be reconstructed.

Project technologies

PostgreSQL 16PythonFastAPIWhisperXClaude / DeepSeekNext.jsTypeScriptTailwindshadcn/uiRechartsBitrix24 (MySQL)DockerYandex Maps API

Want a similar result?

Pilot from $3,900, prototype free

Prices are indicative and not a binding offer.

We build an agent prototype for one scenario using your examples, so you can judge answer quality before signing.

Step 1 of 2 · Task