Analytics Tools
Nine tools read your ECHO history: what was ordered, what shipped, what you held, how well the first two match, and each change to your inventory. See ECHO Overview for the model behind them.
Eight of them come as pairs, one pair for each subject. A summary answers a period as one set of totals. A series answers the same period as one point per day, week, or month.
| Subject | Summary | Series |
|---|---|---|
| Demand | get_demand_summary | get_demand_series |
| Shipping | get_shipment_summary | get_shipment_series |
| Inventory | get_inventory_summary | get_inventory_series |
| Coverage | get_coverage_summary | get_coverage_series |
The ninth, list_inventory_changes, is not part of a pair. See Inventory Changes.
Ask for a total and your AI tools use the summary. Ask how something moved, trended, or compared week to week and they use the series.
These nine tools are available on plans that include ECHO. The rest of the MCP tools are available on every plan.
Demand and Shipping
Demand answers how much you were asked for: units ordered, orders, revenue, how many SKUs sold, and the daily average. Shipping answers how much actually left: units shipped, shipments, revenue, and SKUs moved.
Both break the period down by SKU and by sales channel, largest first.
- “How much did we sell last month?”
- “What were our top ten SKUs in Q2 by units?”
- “How did demand move week by week since January?”
- “How many units shipped last week versus the week before?”
Demand is dated by order date and shipping by ship date. A unit ordered in one month and shipped the next counts in the month it was ordered on the demand side and the month it left on the shipping side.
Comparing to the Previous Period
Give both a start and an end date and the summaries return the same figures for the window of equal length immediately before. A period comparison is one question, not two.
- “Compare last month’s demand to the month before.”
Coverage
Coverage puts the two sides together: units ordered against units shipped, the fill rate between them, the unfulfilled gap, and the revenue on each side.
- “How much of what we were asked for last month did we actually ship?”
- “Is our backlog building or clearing?”
Coverage compares two daily aggregates. Nothing links an order to the shipment that filled it, because demand is dated by order date and shipments by ship date. A period where shipping caught up on an earlier backlog shows a fill rate above 1 and a negative gap, and that is the correct answer for that window.
Read coverage as the balance across a period. It does not report the fill rate of any one order and it does not report a lead time.
Inventory Position
Inventory answers what your recorded stock position is: available, on hand, in stock, allocated, and incoming, broken down by SKU and by warehouse.
- “What was our stock position at the end of last quarter?”
- “Which warehouse is holding the most of ABC-100?”
- “Has stock been building up or running down since June?”
Inventory is a stock rather than a flow. A figure is the latest snapshot of every SKU, warehouse, and source, summed. One day’s snapshot is never added to the next, so a series point is the position at the close of that bucket.
For what a single product has in stock right now, get_product or search_products answers faster and reads the operational record rather than the prepared history.
Inventory Changes
list_inventory_changes lists the changes to your inventory, newest first. Each change shows its cause and the inventory levels after it. Use it to see why a SKU has the stock it has. The building figures are the SKU’s levels across the warehouse. The location figures are its levels at the location that changed.
- “What changed the inventory of ABC-100 last week?”
- “List every inventory change from yesterday.”
Each row records the levels after one change, not the size of the change. To find the size, subtract two rows for the same SKU and warehouse (building figures) or the same SKU and location (location figures). Bulk recalculations write to the stock levels directly and do not appear here.
Sales Channels
Every summary names the sales channels you actually use in its breakdown. Ask a question with no channel filter first and the answer tells your AI tools what the channels are called; after that they can filter by one.
- “Break last month’s demand down by channel.”
- “Now show me just Faire.”
Long Ranges
A long range at daily granularity returns more points than one answer holds. Your AI tools read the rest by paging, but asking for a weekly or monthly bucket is usually the better question anyway.