SuperAPI AI Directory

linkfox-mpstats-ozon-brand-products

Design & creation

View repository

Updated 10-16 00:00

About this skill

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

Parameter Type Required Description
brandName string yes Ozon brand display name (Russian or Latin)
startDate string no Stats window start, YYYY-MM-DD; latest = yesterday
endDate string no Stats window end, YYYY-MM-DD; latest = yesterday
page integer no Page number, starts at 1
pageSize integer no Rows per page, 1-100, default 100
sortField string no snake_case column: sales, revenue, final_price, balance, rating, ...
sortDirection string no asc or desc
currency string no Currency code, default RUB; e.g. USD, EUR, CNY
currencyRate integer no Custom rate when non-default currency is used
includeFbs boolean no Include FBS data
filters array no Numeric 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).

How to call

  • API endpoint:POST /mpstats/ozon/brandProducts(for complete parameters/response/error codes see references/api.md)
  • Python script:python scripts/mpstats_ozon_brand_products.py '<JSON 参数>' [--inline]
  • Cost constraints: This tool consumes compute; by default, the same parameter combination in the same session is called only once, and the script has a 24h local cache. On failure/empty results, do not automatically switch keywords, paginate, or change the zip code to probe continuously; if you need to continue searching, first explain to the user that additional consumption will be incurred.

Output strategy (script default behavior):

  • Alwayswrite the complete response to <cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-mpstats-ozon-brand-products-<timestamp>.json(<cwd> is the working directory when the script is executed, which in Claude Code is the current project directory;<session> is taken from the environment variable SESSION_ID, automatically aggregated according to the user's task;writing to /tmp is prohibited, if the current directory is not writable, report an error)
  • Response body ≤ 8 KB: after saving to disk, print the complete JSON to stdout
  • Response body > 8 KB: after saving to disk, stdout outputs only a summary (top-level fields, common counts such as total/costToken, the length of the largest list field + the first 3 samples)
  • Add --inline to force full printing to stdout (also saved to disk)

Data reading suggestions: first look at the summary to determine whether it is sufficient; when specific fields are needed, prefer to use jqorConvertFrom-Json to extract on demand from the saved json file, avoiding bringing the entire JSON into the context.

Resolve authentication and compute issues

When the following abnormal situations occur, use references/onboarding.md to guide problem resolution:

Abnormal situations

  • API Key not configured: the environment variable is not configured LINKFOX_AGENT_API_KEY, and LINKFOXAGENT_API_KEY。
  • Response 401 or 402 status code
  • Response indicates insufficient compute or balance: the message contains "insufficient compute balance/insufficient billing/insufficient balance/quota exceeded/insufficient balance/package expired/recharge required/please recharge", or content with a similar meaning.

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 context — revenueSharePercent 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 "converted to 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 window — endDate 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 Says Scenario
"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.

Compute consumption rules

Billed according to dynamic rules: compute consumption = 12. Empty list returns 0

Important: the service of this skill is dynamically calculated by a multiplier and may consume a large amount of compute at once. The user must be reminded, and the user decides whether to continue.

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.


For more high-quality, professional cross-border e-commerce skills, set LinkFox Skills.