Live AI case · Manufacturing · fences & gates · ~₽160M a year

AI implementation in fence manufacturing: 636 prices out of the red and 84% of leads that never reached a site survey

An AI implementation case in fence manufacturing: a full-cycle fence and gate maker with its own workshop and seven installation crews, about 30 people, roughly ₽160M a year in turnover and about 4,200 leads a season. In five weeks the corporate Claude became the owner’s working tool: it is connected to seven company systems, rebuilt a year of financials from source documents, took the website price calculator out of the red, found where leads are lost, reviews the sales managers’ work every morning and, since October 20, answers customers on Avito on the night shift. Part of the effect is already working; part is still a calculation that can be checked against facts in spring 2027.

Published · Breakdown by Anton Ro Baten

Case at a glance

Company
Full-cycle fence and gate manufacturing and installation: own workshop, own crews, automation, pile foundations
Scale
About 30 people · 7 crews · ~₽160M a year · ~4,200 leads a season
Request
See the real profit and find where money and leads are lost: the data sat in five disconnected systems
Timeline
5 weeks · mid-September to October 21, 2026
Status
Implementation continues; the calculated effect of the new prices will be checked against facts in spring 2027
  • 636
    fence and gate options in the website calculator — none in the red
  • +24%
    profit at +2.4% price — a calculation on the same January–September orders
  • 16%
    of leads reached a site survey, while 91% of surveys became contracts
  • 9:00
    by this time the head of sales has a review of every call of the day, per manager
Implementation timeline
Five weeks: from the keys to the night shift

PromptSum up the five weeks of the rollout — for the owner.

  1. Week 1
    Environment

    Workspace, single sign-on, connectors to the CRM, Avito and 1C

  2. September 22
    Financial check

    the “−₽1.5M” turned out to be ₽13.7M left in the company

  3. October 7
    Prices from cost

    636 options — none in the red

  4. October 9
    Manager review

    every call of the day — by 9:00

  5. October 20
    Night shift

    an AI manager in Avito chats

Point A: where they started

  • The data sat in five disconnected systems: the CRM, Avito, the 1C accounting of two sole-proprietor entities, an installation spreadsheet and the website. A simple question meant merging spreadsheets by hand.
  • Nobody saw the real profit: more than half of the expense invoices in 1C were stuck as drafts, and the two entities’ costs were never consolidated.
  • Website prices had grown historically: nobody knew which fence made money and which sold at a loss.
  • Nobody listened to calls. The owner personally pulled postponed leads, wrote to customers and assigned follow-ups.
  • The goal of “15 crews and a second site” existed without any calculation of what it runs into.
  • The keys to the infrastructure were not with the owner: a contractor controlled the website and the domain, there was no corporate email, and work lived in personal mailboxes. A year earlier a manager left with the access, and passwords were changed by hand.
Company environment · week 1
The keys belong to the owner

PromptWho holds the keys to the website, the domain and email right now?

  • Who holds the keys

    Before: A contractor controlled the website and the domain; work lived in personal mailboxes

    After: The owner is the super administrator of the corporate environment

  • Email

    Before: There was no corporate email

    After: Email on the company domain — same address

  • When someone leaves

    Before: A manager left with the access — passwords were changed by hand

    After: Access is granted and revoked with one button

  • Data

    Before: Stays with the person who left

    After: Stays with the company

What we did

  1. An environment, not a chatbot

    The first three sessions went not into AI but into the foundation. Corporate Google Workspace on the company domain with the owner as the super administrator; email moved without changing the address; single sign-on (SSO); a Claude Team plan; one working environment for everyone. Access is granted and revoked with one button, and the data stays with the company, not with whoever left.

  2. Our own connectors to the CRM, Avito and 1C

    There was no ready connector to amoCRM for the task, so we wrote our own integration: a separate $6-a-month server, Docker, a secure connection on a company subdomain. The same for Avito (about 55 functions) and 1C (a separate read-only “AI analyst” user). Claude works with the data directly, without exports.

  3. Safeguards from day one

    Any change in the CRM, on Avito or in prices is shown as a preview and applied only after the owner confirms. Messaging customers is allowed only for deals with a dedicated tag, with quiet hours, a limit on unanswered messages and no duplicates. Customer phone numbers are hidden and every action is logged. Before touching prices, a full copy of the calculator settings was taken — more than 1,100 fields, rollback in minutes.

  4. A year rebuilt from source documents

    More than 40 exports from 1C and the CRM for the year: profit and loss reports, invoices, cash and bank of both entities, piece-work orders, payroll, the sales funnel. Four independent revenue sources — sales, reports, receipts and purchases — matched each other.

  5. Prices from cost

    A cost model: purchasing, crew rates, delivery, site survey, the manager’s commission, taxes, rent, the winter payroll and advertising at ₽9,652 per deal. The bar is a margin of at least ₽20,000 per crew-day. Installation rates and minimums were changed, material prices were not; every change was checked with a live calculation on the website.

  6. A daily review of the sales managers

    Every night all calls of the day are transcribed and the chats analysed. By 9:00 the head of sales has a document per manager in the CRM: metrics, what worked, what to fix, a breakdown of every call and a ready message to the customer to book a site survey. Done by hand from October 9 to 19, then on a schedule.

  7. An AI manager on the night shift

    Trained on 35 calls of the best manager and the department’s chats: strong techniques kept as they are, mistakes fixed — a conversation always ends with a survey date or a callback. Tested in a dialogue where the head of sales played the customer, then the owner corrected every step. Since October 20, from 21:00 to 9:00 it answers Avito chats, prices the job with the calculator, books surveys no earlier than the next day and sends a report in the morning. It works under the head of sales’ supervision, and the company does not hide it.

  8. Purchasing, finance, strategy

    The supplier order is assembled from the installation schedule, with unclear items — colour, thickness, quantity — flagged separately. An expense report for both entities: 1,954 payments in 22 categories; a passport of the 1C database. The 2027 strategy starts from a Point A confirmed by the owner: 10 crews by June, four priorities, roles and a 90-day plan.

Connected systems
Seven systems — no exports

PromptShow me what is connected and what you are allowed to do.

Claude · corporate environment
  • amoCRMwrites after confirmation

    Funnel, lost deals, calls, estimates, survey booking, chats

  • Avito · ~55 functionschanges with log and rollback

    324 listings, spend, chats, reviews, bids, competitors

  • 1C: operations and accountingread-only

    Documents, postings, balances; a separate “AI analyst” user

  • Website calculatorcalculation

    Prices any fence or gate the way the customer sees it

  • Installation scheduleread-only

    701 installations, 668 linked to deals; crews and materials

  • Google Workspaceread and write

    Email, calendar, Drive, knowledge base, portfolio

  • Browserwith confirmation

    Website admin and web dashboards

  • Messages to customers only for deals with a dedicated tag
  • Before any price change — a copy of 1,100+ fields, rollback in minutes
  • Customer phone numbers hidden, every action logged
Daily review · every manager
By 9:00 the head of sales knows what to fix
What keeps repeating in calls
  • The customer asks “when can you come?” — and is not offered two specific dates
  • A discount comes up before the customer objects to the price
  • “From 30,000” in the listing falls apart in the very first call
  • Promises differ from the contract — so one set of terms was written
Ready message to the customer

Hello! About your fence: the surveyor can come on Thursday from 10 to 12 or on Saturday from 14 to 16. Which suits you better?

Estimate check: ₽176,300 in the CRM differed from the calculator by ₽6,300 — inside was a ₽1,000 shortfall: 100×100 posts priced as 80×80.

AI manager · test with the head of sales
A conversation always ends with a survey date

PromptHow did the AI manager’s first night go?

  1. Customer · played by the head of sales

    I need a sliding gate with automation. How much?

  2. AI manager

    Two quick questions: how wide is the opening, and which infill — profiled sheet or 3D panel? I’ll price it turnkey.

  3. Customer

    A bit pricey. A competitor is cheaper.

  4. AI manager

    Recalculated for your request: ₽135,680. Without automation — ₽107,180. Let’s compare the packages item by item: frame, automation, warranty. The surveyor can come on Thursday or Friday.

  • ₽144,080
  • ₽137,180
  • ₽135,680
  • no automation ₽107,180
The owner’s rules
  • First 2–3 clarifying questions, then the price
  • Default sliding-gate frame — 60×40
  • On “too expensive” — compare packages, not a new discount
  • No false promises like “I’ll pass it on in 15 minutes”

Since October 20 the AI manager covers Avito chats from 21:00 to 9:00 under the head of sales’ supervision. On the first night it continued a manager’s conversation with no price mismatch and stayed silent where a customer’s reply was pending.

What AI found in the data

  • Only 16% of leads reached a site survey, while 91% of surveys became contracts. The bottleneck is the first contact, not the contract price or the surveyor. Avito chats are the worst at 8%, and the main reason is silence (70 of 104 such losses company-wide).
  • Of 35 “they will get back to us” losses, 28 were phone calls: the price was named, the next contact was not set.
  • Response time is 4–14 minutes during working hours, but one in ten evening Avito leads waited about 11 hours for an answer until morning.
  • Long fences on the website sold at a loss of up to −5%, chain-link at up to −41%. Work on 90 m cost ₽159,176 and on 91 m ₽124,522: 100 metres came out cheaper than 90. Channel steel sold at ₽1,500 per metre — below the purchase price.
  • The installation minimum was calculated as ₽42,000 instead of the intended ₽15,000; a sliding-gate frame cost differently in two calculators — ₽22,000 and ₽24,000.
  • The workshop is loaded at 68% and the surveyor at 46%: the “welders are the bottleneck” hypothesis was disproved, and a second surveyor is not needed yet. Crews are loaded at 87% over the season — 110–119% in summer and 35–80% in spring and September: 189 free crew-days.
  • Overhead is ₽41,904 for every crew working day: an order can now be priced by crew-days.
  • Advertising is ₽7.2M a year at ₽1,720 per lead; an Avito deal costs half as much as one from Yandex Direct.
  • Sliding gates with automation are ₽20–40K more expensive than competitors’: this explained the managers’ complaint that “we lose on automation”.
  • On Avito, fences were listed under “Goods”, so for “turnkey fence” searches the company ranked 32nd–64th or not at all. Some listings spent ₽1,800–2,640 per contact versus ₽45–315 for the working ones; about ₽12K went to job-vacancy listings.
  • The growth ceiling: tax regime limits, the long GAZelle truck and survey capacity converge at ~10 crews. The goal of “15 crews” moved to 2028.
  • A ₽176,300 estimate in the CRM differed from the calculator by ₽6,300, and inside the difference was a ₽1,000 shortfall: 100×100 posts priced as 80×80. Managers sometimes edit PDF estimates by hand, so the CRM amount differs from what the customer received.
Business X-ray · confirmed by the owner
What is now known about the company — in numbers

PromptWhat do we now know about the business — in numbers?

  • Lead → survey
    16%

    91% of surveys become contracts: the bottleneck is the first contact

  • Crew load
    87%

    110–119% in summer, 35–80% in spring and September: 189 free crew-days

  • Workshop
    68%

    the “welders are the bottleneck” hypothesis is disproved

  • Surveyor
    46%

    a second surveyor is not needed yet

  • Overhead
    ₽41,904

    for every crew working day

  • Advertising
    ₽7.2M

    a year; ₽1,720 per lead, an Avito deal costs half as much as Yandex Direct

  • Website prices
    down to −41%

    chain-link at a loss; long fences down to −5%

  • Growth ceiling
    ~10 crews

    tax regime, the long GAZelle truck and surveys; the goal of “15” moves to 2028

  • 1C records
    62,955

    postings since May 2024, 45 of them dated in the future

Two cross-checks matched on their own: ₽7.2M of advertising ÷ ₽1,720 = 4,186 leads against the company’s “about 4,200”; Avito spend is 3.3% of the channel’s contract total against an independent “about 3.8%”.

Funnel · September, 582 leads
Where leads are lost: how many reached a site survey

PromptWhere are we losing customers? Be honest — after the CRM fix.

  • Avito chat208 leads
    8%

    silence: 70 of 104 such losses

  • Call to the main number98 leads
    18%

    “they will get back to us” with no next contact set

  • Avito call89 leads
    19%

    “they will get back to us” — 17 losses

  • Website and calculator48 leads
    29%

    price

  • Separate ad number44 leads
    0%

    spam — 43 of 44

  • Word of mouth19 leads
    63%

September leads are still being worked: shares compare across channels but run higher than the annual 16%. Junk is 160 of 420 losses; price is about a quarter, evenly across channels.

Calculator audit · price of the work
At a length boundary the price collapsed: 91 metres cheaper than 90

PromptCheck the website calculators against real deals.

−₽34,654 for one extra metre

  • ₽159,176
  • ₽124,522
  • 90 metres
  • 91 metres

And 100 metres came out cheaper than 90. Length boundaries moved into the settings and were checked in every calculator; the installation minimum was recalculated from cost, channel steel raised from ₽1,500 to ₽2,800 per metre.

Point B: results

Website calculator prices — since October 7

MetricResult
Fence and gate options at a loss after all costslong fences down to −5%, chain-link down to −41% → 0 of 636
Price for the customer+2.4% on average; mid-length fences got slightly cheaper
Left in the company on January–September orders (calculation)₽13.7M → ₽17.0M · +₽3.3M · +24%
Margin per crew-day: 3D panels, 10 m₽7,800 → ₽18,600
Same, 30 m₽12,300 → ₽23,000
Same, 100 m₽16,900 → ₽21,800
November–December: long fences adjusted for short days (calculation)down to −13% · ≈ +₽0.6M

Sales department

MetricResult
Review of the managers’ callsnobody listened to calls → every call and chat of the day — by 9:00, per manager
Avito chats in the evening and at nightone in ten evening leads waited ≈11 hours → an AI manager answers from 21:00 to 9:00
Transcribing one call139 seconds → 25–80 seconds
Customer terms: survey, warranties, payment, installation queue, refundspromises differed from the contract → one set of terms for managers and AI

Avito: end-to-end analytics down to the contract amount, July → September

MetricResult
Cost per contact₽1,095 → ₽382
Spend per contract₽8,850 → ₽3,487
Contracts and their total20 · ₽3.2M → 39 · ₽7.5M
Deals linked to listings11% → 52% in October

Why +2.4% on price gives +24% on profit: profit is about a tenth of turnover, and the mark-up is shared with nobody and goes into it in full. Hence the tenfold leverage — and the answer to why a ₽160M business should go through 1,100 calculator fields.

Prices from cost · since October 7
Margin per crew-day: 3D panels

PromptWhat do the new prices give on this year’s orders?

  • 10 metres
    Before₽7,800After₽18,600
  • 30 metres
    Before₽12,300After₽23,000
  • 100 metres
    Before₽16,900After₽21,800

The bar is at least ₽20,000 per crew-day. Installation rates and minimums changed; material prices did not.

Profit on the same orders · January–September · calculation
+2.4% on price is +24% on profit
  • Left in the company+₽3.3M
    Old₽13.7MNew₽17.0M

Profit is about a tenth of turnover, and the mark-up is shared with nobody and goes into it in full: hence the tenfold leverage. Calculated on actual orders with the same number of customers; to be checked against facts in spring 2027.

Avito · end-to-end analytics down to the contract
Cost per contact fell almost threefold

PromptDoes Avito pay off? Show the analytics down to the contract amount.

  • ₽1,095
  • ₽716
  • ₽382
  • ₽569
  • July
  • August
  • September
  • October 1–12

Spend per contract — ₽8,850 → ₽3,487, deals linked to listings — 11% → 52%. We don’t credit AI with the drop: the new bids are only prepared, and October has not matured.

How we measured

  • On September 22 the first estimate on incomplete data showed a loss of about ₽1.5M: costs ran ahead of revenue, and prepayments for unfinished work created the feeling of money. That figure was not accepted as a result, and the year was rebuilt from source documents.
  • The verified picture: ₽13.7M stays in the company for January–September, about ₽15.5M for 12 months — after the owner’s salary.
  • Two cross-checks matched on their own: ₽7.2M of advertising ÷ ₽1,720 per lead = 4,186 leads against the company’s “about 4,200”; ₽459K of Avito spend for July–September is 3.3% of the channel’s contract total against an independent estimate of “about 3.8% of revenue”.
  • +₽3.3M is a calculation: the new prices applied to actual January–September orders, assuming the number of customers does not change. It will be checked against 1C and the CRM in spring 2027.
  • The funnel is September: 582 leads in the main funnel after the CRM accounting was fixed. These leads are still being worked, so the shares compare across channels but run higher than the annual 16%.
  • Every figure was cross-checked against several sources and confirmed by the owner.
Financial check · January–September
The first figure was wrong

PromptThe first estimate showed minus one and a half million. Is that true?

First estimate · September 22
−₽1.5M

Incomplete data: invoices stuck as drafts, the two entities’ costs never consolidated

Verified figure
₽13.7M

left in the company for January–September, about ₽15.5M for 12 months — after the owner’s salary

Four independent revenue sources
  • Salesmatches
  • Profit reportsmatches
  • Receiptsmatches
  • Purchasesmatches

More than 40 exports from 1C and the CRM for the year. On dirty data AI gives a convincing and wrong answer: first check where the data lives, only then trust it.

What AI does not get credit for

  • We don’t credit AI with the drop in Avito cost per contact from ₽1,095 to ₽382 or with the growth in September contracts: the new listing bids are only prepared so far, and October contracts have not matured.
  • Decisions on prices, bids and messages to customers are made by the owner: AI shows every change as a preview and applies it only after confirmation.

What didn’t work

  • Two figures turned out wrong: the first financial estimate showed a ≈₽1.5M loss instead of ₽13.7M staying in the company, and the first CRM report showed “99% of leads unanswered” because calls and chats were stored on contacts, not on deals.
  • Three calculations diverged from reality: gate bundling distorted the mark-ups in 1C, a 5% target slipped into the model instead of 2%, and for fences with sliding gates the calculator applies a lower minimum. All three were caught by checking against the website before any decision.
  • Two incidents in the website admin: 3D panel prices were zeroed and the thickness list collapsed. Both were fixed quickly; now there is a reference copy before changes, test edits only with consent, and a reload and check after every save.
  • Mass data collection from Avito through the browser triggered an IP block. Since then — the official API, and the browser only in small portions.
  • Of three stalled deals Claude handles in messengers, one is lost: the customer had already installed a cheaper gate from a competitor. Two are being negotiated.

What’s next

  • Automate the first contact: response time, a task for the next contact, follow-ups without the owner. The goal is lead-to-survey conversion from 16% to 22%.
  • A night bot in messengers for tagged deals, a voice bot for missed calls (the prototype is ready) and a customer bot on the knowledge base.
  • Early booking for the 2027 season from the base of lost leads and past customers — for the 189 free crew-days; a recalculation of fences with sliding gates.
  • Management reports from 1C: an audit of counterparties and balances, then profit and loss, cash flow and monthly balances.
  • A measurement in three to four weeks against the September baseline: “Avito chat → survey” conversion (8%), “they will get back to us” losses (28 of 35), night leads handled by the AI manager, cost per contact, contracts and their total at the same budget (39 contracts, ₽7.5M).
  • The 2027 goal is 10 crews by June and about ₽30M staying in the company versus ₽15.5M now.
Effect of the implementation
What is done — apart from what is calculated

PromptSum up the effect. Separate what is done from calculations — no embellishment.

  • DoneAll 636 calculator options are at zero or above after all costs—
  • CalculationThe same January–September orders at the new prices+₽3.3M over 9 months
  • CalculationNovember–December: long fences adjusted for short days instead of a loss of up to −13%≈ +₽0.6M
  • Potential“Avito lead → survey” from 12% to 20% at the same budget≈ ×1.5 contracts
  • Potential189 free crew-days — early booking for the seasonmethod to be checked
  • 2027 goal10 crews by June≈₽30M vs ₽15.5M

Takeaways for your business

  1. AI in a mid-sized business starts not with a chatbot but with the question of who holds the keys to the infrastructure, where the data lives and whether it can be trusted.
  2. On dirty data AI gives a convincing and wrong answer: the first estimate showed a loss where the company makes ₽13.7M. Cross-check the sources first, then draw conclusions.
  3. Price is the shortest lever on profit if it is calculated from cost: with profit at a tenth of turnover, +2.4% on price gives +24% on profit.
  4. Look for the bottleneck in the funnel, not in feelings: “the welders can’t keep up” and “we need a second surveyor” were not confirmed, while 84% of leads were lost before the survey.
  5. Changes in live systems only with a copy and a check after every save.
All cases