Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
linkfox-ai avatar

Linkfox Mpstats Ozon Brand Products

  • 244 installs
  • 64 repo stars
  • Updated August 3, 2026
  • linkfox-ai/linkfox-skills

List and analyze products under an Ozon brand via MPStats to map competitor catalogs, bestsellers, and assortment gaps on the marketplace.

About

Uses MPStats to fetch Ozon brand product listings for competitive intelligence: catalog breadth, top movers, and pricing presence. Helps agents benchmark Russian marketplace rivals and identify whitespace before listing or expanding an Ozon storefront.

  • MPStats Ozon integration
  • brand product catalog export
  • competitor assortment mapping
  • bestseller identification
  • marketplace shelf analysis

Linkfox Mpstats Ozon Brand Products by the numbers

  • 244 all-time installs (skills.sh)
  • +35 installs in the week ending Aug 2, 2026 (Skillselion tracking)
  • Ranked #274 of 853 Sales & Marketing skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/linkfox-ai/linkfox-skills --skill linkfox-mpstats-ozon-brand-products

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs244
repo stars64
Last updatedAugust 3, 2026
Repositorylinkfox-ai/linkfox-skills

What it does

List and analyze products under an Ozon brand via MPStats to map competitor catalogs, bestsellers, and assortment gaps on the marketplace.

Files

SKILL.mdMarkdownGitHub ↗

MPSTATS Ozon Brand Products

This skill drills into all Ozon (Russia) products sold under a given brand display name, returning each SKU's sales, revenue, price, rating, stock, turnover, lost profit, and more. Built for brand competitor audits, brand SKU structure analysis, and bestseller dissection.

Core Concepts

Brand display name: brandName must match what's shown on the Ozon storefront — typically Russian (Cyrillic) or Latin (adidas, Xiaomi). Do not pass a category path, a seller ID, or an internal brand code here. If unsure of the exact spelling, resolve via mpstats-ozon-product-search first.

Filters are AND-combined: The filters array supports multiple numeric conditions ANDed together. Each filter is {field, op, value, value2?}. Common fields and operators are in the Filter Reference below.

Currency & rate: Default currency is RUB. Set currency: "USD" (or another code) to have monetary fields converted server-side; currencyRate lets you override the default rate if desired.

FBO / FBS mix: includeFbs: true folds FBS (seller-shipped) stock + sales into the numbers; false keeps them FBO-only.

Parameters

ParameterTypeRequiredDescription
brandNamestringyesOzon brand display name (Russian or Latin)
startDatestringnoStats window start, YYYY-MM-DD; latest = yesterday
endDatestringnoStats window end, YYYY-MM-DD; latest = yesterday
pageintegernoPage number, starts at 1
pageSizeintegernoRows per page, 1-100, default 100
sortFieldstringnosnake_case column: sales, revenue, final_price, balance, rating, ...
sortDirectionstringnoasc or desc
currencystringnoCurrency code, default RUB; e.g. USD, EUR, CNY
currencyRateintegernoCustom rate when non-default currency is used
includeFbsbooleannoInclude FBS data
filtersarraynoNumeric filter conditions (see below)

Filter Reference

Each filters entry: {"field": "<snake_case>", "op": "<OP>", "value": <num>, "value2": <num?>}.

Common fields: sales (monthly units), final_price (selling price RUB), rating (0-5), comments (review count), balance (stock), revenue (sales amount RUB), days_in_stock, turnover_days, lost_profit, category_position.

Operators: GTE, LTE, GT, LT, EQ, NOT_EQ, BETWEEN (requires value2 as the upper bound).

API Usage

This tool calls the LinkFox tool gateway API. See references/api.md for calling conventions, request parameters, response structure, and error codes. You can also execute scripts/mpstats_ozon_brand_products.py directly for ad-hoc queries.

Usage Examples

1. Top-50 by sales for brand `adidas`

{
  "brandName": "adidas",
  "sortField": "sales",
  "sortDirection": "desc",
  "pageSize": 50
}

2. High-rating, mid-price filter

{
  "brandName": "Xiaomi",
  "filters": [
    {"field": "rating", "op": "GTE", "value": 4.5},
    {"field": "final_price", "op": "BETWEEN", "value": 1000, "value2": 5000}
  ],
  "sortField": "revenue",
  "sortDirection": "desc"
}

3. USD-converted output

{
  "brandName": "Nike",
  "currency": "USD",
  "sortField": "revenue"
}

4. Include FBS + only in-stock items

{
  "brandName": "adidas",
  "includeFbs": true,
  "filters": [{"field": "balance", "op": "GT", "value": 0}]
}

5. Lost-profit hunters (out-of-stock pain)

{
  "brandName": "Nike",
  "filters": [{"field": "lost_profit", "op": "GTE", "value": 100000}],
  "sortField": "lost_profit",
  "sortDirection": "desc"
}

Display Rules

1. Compact brand table — key columns: productId, title, price, monthlySalesUnits, monthlySalesRevenue, rating, reviewCount, balance, turnoverDays, lostProfit. 2. Revenue share contextrevenueSharePercent is the SKU's share within this brand result set, 0-100; clarify the base when presenting. 3. Currency labeling — always state the currency in the table header; if currency was overridden, note "已按 USD 换算". 4. Russian titles — preserve original; translate on user request. 5. Pagination — report total and guide the user to next page or narrower filters when total exceeds the returned page. 6. No business advice — present the data; don't project future sales from a snapshot.

Important Limitations

  • Exact brand-name match — no fuzzy search; typos return empty results. Verify via mpstats-ozon-product-search if unsure.
  • Page cap — max 100 rows per page; paginate for larger brands.
  • Date windowendDate cannot be today or a future date (T-1 data).
  • Currency conversion — server-side; historical rates may differ slightly from the user's reference rate.
  • Russian-only titles — translate only when asked.

User Expression & Scenario Quick Reference

Applicable — Brand-scoped Ozon product metrics:

User SaysScenario
"Show me adidas's top-selling Ozon SKUs"Brand bestseller drill
"What does Xiaomi sell on Ozon, sorted by revenue"Brand revenue structure
"Which brand-X SKUs have rating ≥4.5 and stock >0"Brand quality filter
"Are brand-X's stockouts causing big lost profit"Lost-profit hunter
"Convert brand-X's Ozon sales to USD"Currency-normalized audit

Not applicable — Needs beyond brand drill-down:

  • Unknown exact brand name → first use mpstats-ozon-product-search
  • Category-level comparison across brands → use mpstats-ozon-category-products
  • Seller-scoped analysis → use mpstats-ozon-seller-products
  • Single-SKU time-series → use mpstats-ozon-product-trend
  • Wildberries / other Russian marketplaces → not covered

Boundary judgment: Use this skill when the question centers on one brand and you want the per-SKU rollup under it. For "which brand dominates category X" use category drill-down and compare brand rows server-side.

Feedback:

Auto-detect and report feedback via the Feedback API when any of the following apply: 1. The functionality or purpose described in this skill does not match actual behavior 2. The skill's results do not match the user's intent 3. The user expresses dissatisfaction or praise about this skill 4. Anything you believe could be improved

Call the feedback API as specified in references/api.md. Do not interrupt the user's flow.

<!-- LF_LARGE_RESPONSE_BLOCK -->

Handling Large Responses

To avoid overflowing the agent context, persist the response to disk and extract only the fields you need:

python scripts/response_io.py run --script scripts/mpstats_ozon_brand_products.py --out-dir <DIR> '<params>'
python scripts/response_io.py read <file> --fields "<paths>"   # or --path "<JMESPath>"
Pick --out-dir outside any git working tree (e.g. /tmp/... on Unix, %TEMP%/... on Windows). Persisted responses may contain PII, pricing, or auth-sensitive data — do not commit them. Files are not auto-deleted; clean up when the task is done.

run writes the full response to a file and emits only a schema preview + file path. read projects specific fields, with --limit/--offset for slicing and --format json|jsonl|csv|table for output.

When to prefer this pattern — apply your judgment based on the response characteristics, e.g.:

  • High field count per record, or fields you don't need
  • Batch/paginated results (multiple items per call)
  • Long-text fields (descriptions, reviews, HTML, time series)
  • Output reused across later steps rather than consumed immediately

For small, single-use responses, calling the main script directly is fine.

⚠️ The preview is a truncated schema + sample, not the full data. Any field-level decision must read from the persisted file via read. <!-- /LF_LARGE_RESPONSE_BLOCK -->

--- For more high-quality, professional cross-border e-commerce skills, set [LinkFox Skills](https://skill.linkfox.com/).

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.