/
Start a conversation
Remote · GMT+6 · Available for EU & US engagements

Revenue & Margin
Recovery.

I find where revenue, margin and customers leak out of commerce operations — dormant buyers, pricing anomalies, support backlogs, invisible margin — then rebuild those workflows with AI, automation and human oversight. Core methods proven on my own cross-border operation first.

8
Years running own ops
~45k
Support emails in archive
1,400+
Automated tests in product code
~$21k
combined historical LTV of four re-engaged customers
Point of view

Automation doesn't break because of technology. It breaks from the absence of operational logic.

AI doesn't make decisions. It makes them visible.

Platforms are making bots free. Value moves to where data and control live.

Growth without capacity control is debt that comes due.

Approach

How an engagement runs.

Every engagement starts with a paid, fixed-scope diagnostic. Implementation begins only once the numbers are on the table. Fixed scope, prepaid. No free pilots, no open-ended retainers up front.

Diagnose

Revenue Leakage Diagnostic

2–4 weeks, fixed fee. A margin leakage map reconciled against control totals, dormant customers ranked by historical value, pricing and discount anomalies, operational bottlenecks ranked by cost — and a red-list of processes that must stay human.

Build

Implementation Sprint

A fixed-scope rebuild of the workflows the diagnostic priced: order flows, support triage, customer re-engagement, margin reporting. API integrations and LLM function calling — with error handling, monitoring and human approval gates where it matters.

Control

Control Layer

Ongoing control after handoff: synthetic tests, alerting, drift checks, a monthly health review. The system keeps running when nobody is watching — and escalates to a human where it should not decide alone.

Selected cases

On my own books first. Then on the client's.

Six systems from my own commerce operation, where the methods were built and proven. One is live and public — you can try the assistant right now. Every case figure traces to an acceptance record, a benchmark or a dated run, or is labelled as my own recorded outcome. Sensitive context is anonymized.

Own storefront · Live · Public
PrestaShop · UK storefront fibers.hair
Live
try it yourself

Grounded Shopping Assistant

Problem

Generic chat widgets often can't see the store's catalog, orders or policy pages — and answer confidently anyway. The website channel stays uncovered; the data stays out of the owner's hands.

Solution

Self-hosted PrestaShop 8 module with LLM function calling: live catalogue search with ranked retrieval, answers grounded in CMS/policy pages, privacy-gated order lookup (reference + email, no enumeration). Multilingual.

Result

Deployed on a public storefront. A retrieval miss — exact products not being found — was reproduced against the real catalogue and fixed with a ranked-retrieval and grounding release: top-1 retrieval 27% → 92% on a frozen 140-question local hold-out (n=74), and 5 of 5 traced question → source → answer chains accepted on the live server. An embeddings-based search stage was tested and rejected: it added false sources to questions the store cannot answer. Business effect is not claimed.

Try it live — fibers.hair
PrestaShop· PHP· OpenAI API· Function calling
Own product · Live-proven
PrestaShop 8.2 → 9.1 · real catalog
160/160
products reconciled

Catalog Migration & Transformation Engine

Problem

Moving a catalog between stores is usually manual or a one-off script: a second run creates duplicates, a mid-way failure leaves the store half-migrated, and there is nothing to verify the result against but eyesight.

Solution

A deterministic migration engine: whole-batch fail-closed preflight, stable identity and a local state layer for mappings, parent-first category-tree replication, full field-level verification after every write, no delete operations, and fully idempotent reruns. On top of it, an MCP control plane: plan before mutation, approval binding, four-class mutation accounting. On the same pipeline sits an AI transformation layer for moving a catalog between markets: content and imagery generated under explicit policy, every component carrying provenance and a fingerprint, checked against source facts and image QA, then deterministically materialized into an immutable package.

Result

A real migration of 160 products and 22 business categories from PrestaShop 8.2 to 9.1: 22/22 categories verified, 154/154 category-field checks, 160/160 products reconciled on reference, price, descriptions, relations, stock and images — zero mismatches. The source stayed read-only. An immediate rerun produced zero writes. The transformation layer was proved on the same catalog and taken to a live storefront: 705 of 705 components accepted, a read-only backup taken before any change, then 22/22 categories and 160/160 products verified field by field with zero mismatches, products staged inactive pending owner activation, and an immediate rerun producing zero writes. The codebase carries 1,400+ automated tests. The MCP control plane was accepted live against a real PrestaShop 9.1.5 target: 32 of 32 checks in 26 seconds, including a genuine ambiguous-write recovery.

Python· PrestaShop Webservice API· MCP· SQLite· pytest· LLM transformation
Own operation
Cross-border e-commerce · 488 → 46 → 4
~$21k
combined historical LTV · owner-recorded

Dormant Customer Recovery

Problem

Customers go quiet gradually: nothing breaks, so nobody notices. There was no segmentation by historical value and no systematic re-engagement.

Solution

Deterministic extraction over order and email history (~36.6k emails, ~6.4k order rows): dispatch risk, payment issues, reactivation candidates. Then 46 dormant-customer case files generated automatically — order, margin and correspondence history and a suggested next step. I decided whom to contact; every message went out only after human approval.

Result

488 reactivation candidates → 46 case files → four dormant customers ordered again. Together they represent approximately $21k in combined historical lifetime value. This is my own recorded outcome, and the figure is those customers' historical value — not revenue attributed to the outreach: there was no control group.

Python· Deterministic extraction· Human approval gate
Own operation
~45,000 emails · 10 inboxes · 4 languages
~45k
emails

Support Triage, Measured Before Automated

Problem

~45,000 emails across 10 inboxes in four languages over eight years of the operation. Inbox volume was visible, the operational signal was not: payment problems, delivery delays and compensation requests were buried in one queue.

Solution

Deterministic extraction over the archive (36.6k emails reconciled with ~6.4k order rows) into operational views — payment issues, dispatch risk, open issues — feeding a capacity-aware prioritized queue. Multilingual response drafts are prepared by the system and held for human approval — refunds, reships and outbound sending never go out unattended. Before automating further, an LLM classifier was measured once on 280 human-labelled real threads with preregistered thresholds.

Result

One recorded run produced a 356-row prioritized queue and 278 response drafts in four languages, with refunds, reships and outbound sending held behind human approval. The benchmark showed why the rest stays human: message-class accuracy 0.90 but macro-F1 0.36, priority accuracy 0.28 — under the preregistered rule only 4 of 280 items qualified for auto-handling, so 98.6% went to a person.

Python· Rule-based triage· Anthropic API (evaluation)· Human-labelled benchmark
Own operation
Cross-border, SKU-heavy, multi-store e-commerce · 8 years
~$838k
order history reconciled

Margin Intelligence Loop

Problem

Margin by country looked fine in aggregate and wrong in the detail: one order shipped as several parcels, revenue sat on one line, replacement shipments looked like losses. Compensation shipments were mixed into the commercial baseline.

Solution

A deterministic reconciliation module in Python: two-level control-total reconciliation (shipment subtotals and yearly totals), commercial and compensation margin separated, multi-shipment orders and split-revenue rows resolved, and an audit gate that reports discrepancies instead of smoothing them. No LLM in the numeric path.

Result

~$838k of own order history reconciled (2019–2026, September-2026 export, 6,542 ledger rows). Four documented classes of discrepancies surfaced rather than smoothed (verdict PASS_WITH_FLAGS). Compensation shipments separated from the commercial baseline. No effect on margin or pricing is measured or claimed.

Python (stdlib)· Control totals· Audit gate
Own operation
Analytics on an 8-year dataset
Gate
before any decision

Trustworthy LLM Analytics

Problem

LLM analytics on my own data produced plausible, well-formatted numbers that did not reconcile with the source. An unverifiable metric is more dangerous than no metric: the owner makes decisions based on it.

Solution

Control-total reconciliation introduced before any AI-derived metric can reach a decision: control totals, hierarchy-of-truth checks against primary data, and gates that pull unverifiable metrics out.

Result

My own recorded incident, with no artifact: the wrong numbers were caught before anyone relied on them. The same rule now lives in the margin-reconciliation module above: the source system wins, and a figure that does not reconcile is reported, not used. Every case figure on this page traces to a claims ledger with evidence pointers; where the evidence is my own recorded outcome rather than an artifact, the card says so.

Python· Control totals· Hierarchy of truth
System boundaries

AI does not make financial decisions. Financial logic lives in code, not in a language model; AI-derived numbers reconcile against control totals before anyone acts on them.

Where a benchmark shows the model is unreliable, the design routes to a person: on 280 real support threads, 98.6% went to a human. Final decisions always rest with the owner.

Sensitive details and client data are never published. Numbers are real, context is anonymized.

Principal

Every decision sits with one person.

Architecture, priorities and quality control stay with the principal. Delivery runs through documented specification, engineering build, testing and manual approval of critical actions.

Murat Chiketaev — Principal, Ordo Tutum
Principal

Murat Chiketaev

AI Transformation & Solutions Consultant · Commerce Operations

Twenty-five years in high-friction commercial operations; the last eight running my own cross-border e-commerce: 36 countries, multilingual support, multi-jurisdiction payments, cross-border, SKU-heavy, multi-store logistics — a business that ran without daily owner presence. I own the technical layer of that operation too: the PrestaShop storefronts were installed, configured, upgraded and debugged by me. Before that — FMCG and distribution.

Since 2025 that ownership has become code: Python services, LLM integrations with function calling and hard guardrails, automation pipelines over live business data. I work through a documented agentic engineering workflow — scoped agent permissions, versioned task briefs, evidence gates and independent review — which is how a single principal ships systems of this size without cutting verification. My core AI methods were proven on my own operation first — with my own money and my own mistakes — before being packaged as reusable solutions.

“I work where AI creates measurable control, not where it adds noise.”

36
countries
10
support inboxes
7.5k+
orders
Contact

I'm selective about the work I take. Tell me the context — I'll tell you straight whether it's a fit.

Location

Bishkek, Kyrgyzstan

Remote, async, written-first. Available to EU and US teams.

Engagements

Open to selected senior AI transformation roles, embedded consulting and contract engagements.

Working rhythm

First contact is a short written brief. If it's a fit — a fixed-fee Revenue Leakage Diagnostic (2–4 weeks), then implementation. Fixed scope, prepaid. No free pilots.