← Back to list

How We Solved the Vendor–Dealer Data Conflict with Federated Architecture: A Rostselmash Case Study…

A 4-person team, 120 hours, and a hybrid CMS strategy that saved both brand compliance and dealer revenue in Russian agriculture.

Oleg Linkov (WEBFORMULA.PRO) · 2026-02-06 07:16 · 0 claps · 5.6 min read
#marketing #ai #bitrix #agritech #seo
Open on Medium ↗
Wiki topics: AI · AI · General ECO · Economy · General CUL · Culture & Media SEO · SEO & SEM MKT · Marketing · General 🏛️ · Architecture

How We Solved the Vendor–Dealer Data Conflict with Federated Architecture: A Rostselmash Case Study (85 Regions, 50K SKUs)

A 4-person team, 120 hours, and a hybrid CMS strategy that saved both brand compliance and dealer revenue in Russian agriculture.

— -

The Russian agricultural machinery market dropped 25% year-over-year in early 2026. Chinese brands — Zoomlion, Lovol, YTO — were eating into market share fast. For Rostselmash, one of Russia’s largest agricultural equipment manufacturers, the response was digital expansion into the regions. But their compliance framework was quietly killing their dealer network’s online presence.

This is the story of how a team of four (analyst, developer, SEO specialist, and project manager) built a federated data architecture in 120 working hours — preserving the manufacturer’s brand safety while giving 85 regional dealers the tools they actually needed to sell.

We’re not selling a “success story” here. January 2026 marks the end of the technical build, not the business outcome. The real test comes in July 2026, at the peak of the harvest season.

— -

The Methodological Foundation: Why Automation Was Non-Negotiable

Everything described below — the 85-subdomain generation, Python scripts for geocoding, AI enrichment of 50K SKUs — wasn’t automation for automation’s sake. It was the foundation for implementing DSAC (Dynamic Seasonal Adaptive Content), a proactive marketing methodology designed specifically for the agricultural sector.

The core problem: traditional digital marketing in agribusiness is reactive. Dealers start advertising combines in May, when the farmer has already made their purchase decision 2–3 months prior. We built a preemptive model: content launches are tied to agroclimatic cycles in each region, 90 days before peak demand.

Why automation matters: Manually executing the DSAC matrix (85 regions × 12 months = 1,020 unique content blocks) would require 340+ hours of work. Python automation reduced this to 15 hours, enabling nationwide scale.

— -

Chapter 1. The Architectural Dead End: When Compliance Kills Business

The Problem

In late 2025, Rostselmash rolled out a 47-page “Dealer Website Standard 2026.” It regulated everything — colors (#101010, #D0043C), catalog structure, and content. The critical requirement: complete duplication of equipment data from the main site via a JSON feed, updated daily and overwriting any local changes.

What this meant technically:

  • Bitrix CMS’s OnBeforeIBlockElementUpdate event didn’t block feed overwrites by default
  • The vendor’s contractor implemented synchronization as “Full Overwrite”
  • Any SEO edits by the dealer (Title, Description) were wiped within 24 hours

The audit results (yugprom.ru, December 2025):

  • Organic traffic for geo-queries: down 73% (Yandex merged the dealer site with the main site as a duplicate)
  • Conversion rate: 0.05% (the site functioned as a reference catalog, not a sales tool)
  • Identity crisis: customers couldn’t see why they should buy from a specific dealer

| Area | Standard’s Requirement | Reality (Yandex) | Consequence | | — — — | — — — — — — — — — — — | — — — — — — — — — | — — — — — — -| | Catalog | Full feed duplication | Penalized as affiliate content | 40% traffic loss | | Analytics | Yandex.Metrica required | 80% data lost (privacy law opt-in) | ROI unmeasurable | | Value Prop | Rigid template, no local content | Site = “reference book,” not a store | Conversion < 0.1% |

The Solution: Federated Model

Instead of fighting the feed, we separated responsibilities:

  • Main domain (rostselmash.com): The catalog of record. The Brand Hub. Global data — specs, photos, videos.
  • Subdomains (city.rostselmash.com): Points of sale. Local data — warehouse stock, service options, leasing.

We built a **Lock/Edit architecture at the Bitrix infoblock property level:

  • Lock fields (from feed): Name, SKU, Base description, Photos — overwritten by the feed
  • Edit fields (dealer-controlled): LOCAL_SEO_TITLE, LOCAL_DESCRIPTION_APPEND, DEALER_COMMERCIAL_BLOCK — protected from overwrite

This preserved brand consistency while giving dealers the autonomy they needed.

— -

Chapter 2. Technical Core: Sphinx Instead of Default Search

The Parts Lookup Problem

A B2B customer knows the exact part number. They search for RSM 101–05–02. But the database stores it as RSM-101.05.02 (different separators). Bitrix’s default MySQL Full-Text Search can’t handle special character morphology.

The Fix: Manticore Search (Sphinx Fork)

index bitrix_catalog {
 source = bitrix_catalog_source
 path = /var/lib/manticore/data/catalog

# Character table: digits and Cyrillic
 charset_table = 0..9, A..Z->a..z, _,
 U+410..U+42F->U+430..U+44F

# CRITICAL: ignored characters
 ignore_chars = -,., /, \, _

min_word_len = 1
 morphology = lemmatize_ru_all
 min_prefix_len = 3
}

Result: Search now finds items regardless of how the part number is typed — RSM101, RSM-101, or RSM 101 all return the same product.

— -

Chapter 3. AI Content Generation for “Blind” Catalogs

The Problem

50,000 spare part SKUs in 1C (Russian ERP). Only 5% had photos. Descriptions were copy-paste entries like “Shaft 10.01.05.” The catalog looked like a raw Excel spreadsheet — a UX disaster. Parsing Rostselmash’s official parts portal was prohibited by vendor policy.

The Solution: OpenAI Batch API

We used GPT-4o-mini via the Batch API (50% cheaper than standard API, 24-hour processing window).

The pipeline:

  1. Export CSV from 1C (SKU, Name)
  2. Generate JSONL file for OpenAI
  3. Submit batch (limit: 50K requests)
  4. Import results into a Bitrix infoblock property (AI_DESCRIPTION)

The engineered prompt:

Act as a Rostselmash engineer.
Product: {name} (SKU: {sku}).
Tasks:
1. Write a part description (2–3 sentences)
2. Assign a category (Hydraulics, Transmission, etc.)
3. Specify the relevant standard (GOST), if obvious.
Response format: JSON {description, category}

This turned 50K dead-end catalog entries into structured, searchable product descriptions — without a single copywriter.

— -

Chapter 4. The “Preemptive Wave” Strategy (DSAC)

The Query Fanout Concept

AI systems (ChatGPT, YandexGPT) decompose complex queries into sub-queries. If a site covers all sub-queries, it becomes the primary source for synthesizing the answer. We designed content to capture these fanout patterns.

DSAC: Dynamic Seasonal Adaptive Content

The problem: a farmer chooses equipment 2–3 months before the season. Traditional marketing reacts after the fact.

The solution: proactive content deployment mapped to a seasonality matrix.

| Month | Region | Trigger | DSAC Content Example | | — — — -| — — — — | — — — — -| — — — — — — — — — — -| | January | Krasnodar | Prep for ultra-early sowing | “February windows are coming. Update your tractor fleet now” | | May | Omsk Oblast | Siberia: sowing season start | “Short season? RSM 2375 tractors run 24/7” | | August | Krasnodar | Row crop harvest | “Zero-loss sunflower harvest: Sun Stream header settings” |

Technical implementation:

The content calendar lives in Google Sheets. A Python script (schedule_dsac.py) checks the calendar weekly and publishes articles via Bitrix REST API.

— -

Chapter 5. The Subdomain Factory: Automation at Scale

Rejecting Manual Work

The task: deploy 85 subdomains with unique content. Manual work estimate: 340 hours (85 × 4 hours per region).

Python Automation

Geocoding dealer locations (get_coordinates.py):

We used the Yandex Geocoder API to pull coordinates from CRM addresses:

import requests

def geocode_address(address):
 url = “[https://geocode-maps.yandex.ru/1.x/](https://geocode-maps.yandex.ru/1.x/)"
 params = {
 “geocode”: address,
 “apikey”: YANDEX_API_KEY,
 “format”: “json”
 }
 response = requests.get(url, params=params)
 data = response.json()
 try:
 pos = data[‘response’][‘…’][‘Point’][‘pos’]
 lon, lat = pos.split()
 return float(lat), float(lon)
 except (KeyError, IndexError):
 return None, None

Result:

  • 85 Schema.org markup files generated in 15 minutes
  • Imported into Bitrix templates via API

— -

Conclusion: What We Built (and What We Haven’t Proven Yet)

Built in 120 hours:

  • Federated data architecture (Lock/Edit) on Bitrix CMS
  • Network of 85 regional subdomains with auto-generated Schema.org
  • Manticore Search index for 50K SKUs with special character handling
  • AI-powered descriptions via Batch API (saving 400+ hours of copywriting)
  • 12-month DSAC proactive content matrix

Checkpoint: July 2026 (peak harvest season).

Why this matters now:** SEO has a 3–6 month compounding effect. Subdomains launched in January should rank by May — exactly when equipment sales begin. ROI will be measured through CRM analytics: leads from subdomains vs. main domain, average deal size, and geographic distribution of inquiries.

Technical debt (Q2 2026 backlog):

  • Server-Side Tracking implementation (privacy law compliance)
  • A/B testing of DSAC copy via Bitrix Marketing
  • Yandex.Business API integration for real-time warehouse stock sync

— -

This case study was prepared by the YUGPROM digital team — January 2026.

Have questions about federated architecture for dealer networks or DSAC methodology? Let’s connect in the comments.

About the Author

Oleg Linkov — Founder of Webformula, a digital agency specializing in AgroTech digital transformation since 2012. Creator of the DSAC (Dynamic Seasonally-Adaptive Content) methodology — an industry framework for managing seasonal content in agriculture.

📩 Telegram: @Digitalwf — AgriTech digital strategy, case studies, and behind-the-scenes updates.

📖 Full DSAC methodology breakdown: webformula.pro

— -

tags: AgriTech, Digital Marketing, SEO, B2B, Case Study


메타데이터
post_id
c3e5044deea2
slug
how-we-solved-the-vendor-dealer-data-conflict-with-federated-architecture-a-rostselmash-case-study-c3e5044deea2
url
https://medium.com/@Webformula.pro/how-we-solved-the-vendor-dealer-data-conflict-with-federated-architecture-a-rostselmash-case-study-c3e5044deea2
canonical_url
https://medium.com/@Webformula.pro/how-we-solved-the-vendor-dealer-data-conflict-with-federated-architecture-a-rostselmash-case-study-c3e5044deea2
author_url
https://medium.com/@Webformula.pro
status
ok
fetched_at
2026-08-16 06:50:00