name: linkfox-mpstats-ozon-product-trend description: MPSTATS Ozon 俄罗斯站单个 SKU 的分日时间序列表现。按日期粒度返回一个 Ozon 商品的销量、价格、库存、评分等指标,可选附带搜索位次/可见性数据,用于验证增长趋势、季节性、异常波动。当用户提到 Ozon 趋势、Ozon 销量趋势、Ozon 价格走势、Ozon 分日数据、Ozon 库存走势、Ozon 搜索位次、Ozon 商品历史、MPSTATS trend, Ozon daily performance, Ozon time series, Ozon search visibility, Russian marketplace product history 时触发此技能。即使用户未明确说"MPSTATS",只要意图是看某个 Ozon 商品的分日/时间段走势,也应触发此技能。
MPSTATS Ozon Product Trend (Daily Time-Series)
This skill returns a daily time-series of a single Ozon (Russia) SKU — sales units, price, stock, rating, and optionally search-position / visibility metrics. It is the go-to for validating growth, seasonality, or anomalies for a specific product.
Core Concepts
Single-SKU scope: Each call analyzes exactly one productId. For batch per-SKU snapshots (period aggregates), use mpstats-ozon-product-detail instead.
Daily granularity: The response is an array of daily points (top-level field data) across the [startDate, endDate] window. Each point carries a hasData boolean — if hasData=false, the day has no observation (distinct from sales=0 with hasData=true).
T-1 delay: MPSTATS trend data is delayed by one day; the latest selectable end date is yesterday. Today or future dates are rejected.
Search-visibility add-on: Set includeSearchStats: true to append search-position / visibility signals. Some niches (especially small categories) may not have search-stats coverage — expect partial or empty fields in those cases.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| productId | integer | yes | Ozon SKU (numeric) |
| startDate | string | no | Window start, YYYY-MM-DD; latest = yesterday |
| endDate | string | no | Window end, YYYY-MM-DD; latest = yesterday |
| includeFbs | boolean | no | Include FBS data alongside FBO |
| includeSearchStats | boolean | no | Attach search position / visibility signals |
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_product_trend.py directly for ad-hoc queries.
Usage Examples
1. Monthly trend for a SKU
{
"productId": 1786874757,
"startDate": "2025-03-01",
"endDate": "2025-03-31"
}
2. Trend with search visibility
{
"productId": 1786874757,
"startDate": "2025-02-01",
"endDate": "2025-02-28",
"includeSearchStats": true
}
3. Combined FBO+FBS trend
{
"productId": 151623766,
"startDate": "2025-01-01",
"endDate": "2025-01-31",
"includeFbs": true
}
How to Chain with Other Ozon Skills
- Discovery → trend: Use
mpstats-ozon-product-searchto find a SKU, then check growth / volatility here before committing. - Aggregate vs time-series:
mpstats-ozon-product-detailgives a one-number-per-metric period view; this skill shows the day-by-day shape behind those numbers. - Drill-down → trend: After
brand-products/category-products/seller-productssurfaces a hot SKU, use this skill to validate whether the hotness is recent, seasonal, or sustained.
Display Rules
- Prefer a simple table or sparkline-friendly output — one row per date with
date,price,sales,balance,rating,comments; do not overfit a 90-point series into a single paragraph. - Use
hasDatato distinguish gaps from zero sales —hasData=falsemeans the day has no observation; don't report it as a zero-sale day. - Call out anomalies — large single-day spikes or stockouts (
balance=0runs wherehasData=true) should be flagged factually, not as buying advice. - Currency is RUB unless upstream layer is already converting (the
currencyfield per point carries the symbol, e.g.₽); state the currency when showing price movement. - Revenue is not returned per day — if the user asks for daily revenue, estimate via
sales * priceand note it's an estimate. includeSearchStatsgaps — when no search-visibility fields come back, note "搜索位次数据在该赛道暂不可用" rather than silently omitting.- No business advice — present the shape; leave "should we buy this listing?" to the user.
Important Limitations
- Single SKU per call — cannot pass a list of
productIds; loop at the Agent layer if needed. - T-1 data —
endDatecannot be today or a future date. - Search stats optional —
includeSearchStats=truedoesn't guarantee coverage for all niches. - Ozon-only — Wildberries and other Russian marketplaces are not covered.
- Missing days — the series may have nulls / gaps where no data was captured; do not treat nulls as zero sales.
User Expression & Scenario Quick Reference
Applicable — Single-SKU temporal analysis:
| User Says | Scenario |
|---|---|
| "What's the sales trend of Ozon SKU 1786874757 last month" | Monthly time-series |
| "Is this Ozon listing seasonal or stable" | Seasonality check |
| "Did this Ozon product have stockouts recently" | Stock anomaly detection |
| "Price walk for this Ozon product over Q1" | Price movement |
| "Did this listing's search position improve" | Search visibility (requires includeSearchStats) |
Not applicable — Needs beyond single-SKU time-series:
- Batch snapshot of many SKUs →
mpstats-ozon-product-detail - Brand / category / seller drill-down → matching
*-productsskill - Pre-IDed discovery →
mpstats-ozon-product-search
Boundary judgment: Use this skill when the question starts with "how did this ONE product change over time". For multi-SKU comparisons or dimension-level filtering, go elsewhere.
Feedback:
Auto-detect and report feedback via the Feedback API when any of the following apply:
- The functionality or purpose described in this skill does not match actual behavior
- The skill's results do not match the user's intent
- The user expresses dissatisfaction or praise about this skill
- Anything you believe could be improved
Call the feedback API as specified in references/api.md. Do not interrupt the user's flow.
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_product_trend.py --out-dir <DIR> '<params>'
python scripts/response_io.py read <file> --fields "<paths>" # or --path "<JMESPath>"
Pick
--out-diroutside 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.
For more high-quality, professional cross-border e-commerce skills, set LinkFox Skills.