> ## Documentation Index
> Fetch the complete documentation index at: https://agents.concierca.ch/llms.txt
> Use this file to discover all available pages before exploring further.

# Family Trend

> Which model families are picking up and which are falling off, seasonally adjusted.

## What it is

Which model families are picking up and which are falling off. Momentum compares the 28-day rate against the 90-day rate, seasonally adjusted. Below 8 units in 28 days no percentage is shown at all — too little volume for a meaningful trend.

One row per `product_family_label` (all sizes/variants of a model aggregated). The same trend columns are joined into [Product Demand](/api/data-model/product-demand) and the [Procurement Queue](/api/data-model/procurement-queue) so ordering decisions can factor the family's direction in.

## How it gets data

**Computed view** — derived automatically from [Order Line Items](/api/data-model/order-line-items), [Products](/api/data-model/products) (family grouping), and [Seasonality](/api/data-model/seasonality). Read-only; no ingest endpoint.

## Fields

| Field                         | Label            | Type     | Writable  | Description                                                                             |
| ----------------------------- | ---------------- | -------- | --------- | --------------------------------------------------------------------------------------- |
| `product_family_label`        | Family           | text     | read-only | Model family                                                                            |
| `trend_label`                 | Trend            | status   | read-only | Trend classification (rising / stable / falling)                                        |
| `momentum_pct`                | Momentum %       | number   | read-only | 28-day rate vs. 90-day rate, seasonally adjusted; hidden below 8 units/28d              |
| `units_28d`                   | Units 28d        | number   | read-only | Family units sold, last 28 days                                                         |
| `units_90d`                   | Units 90d        | number   | read-only | Family units sold, last 90 days                                                         |
| `units_180d`                  | —                | number   | API only  | Family units sold, last 180 days (not a registered app column, but returned by queries) |
| `units_365d`                  | Units 365d       | number   | read-only | Family units sold, last 365 days                                                        |
| `sku_count`                   | SKUs             | number   | read-only | Number of variants in the family                                                        |
| `trend_confidence`            | Trend confidence | text     | read-only | Confidence of the classification                                                        |
| `forecast_daily_demand`       | Demand/day       | number   | read-only | Planned family demand per day                                                           |
| `deseasonalized_daily_demand` | Adjusted/day     | number   | read-only | Family rate with the seasonal swing taken out                                           |
| `calculated_at`               | Calculated       | datetime | read-only | When the view was computed                                                              |

All columns are read-only. The view also carries `tenant_id` / `workspace_id` for tenant isolation — filtered automatically, never selected.

## Query it

```json theme={null}
{
  "method": "tools/call",
  "params": {
    "name": "data_query",
    "arguments": {
      "view_slug": "v_family_trend",
      "select_fields": ["product_family_label", "trend_label", "momentum_pct", "units_28d", "units_90d"],
      "sort_by": "momentum_pct",
      "limit": 25
    }
  }
}
```
