AI for insights and analytics
A distributor asks the same questions every Monday: who has gone quiet, which accounts cost more than they earn, where the price is leaking. AI analytics answers them in your own words, from the invoice ledger and the delivery file, with every figure computed by a tool and every line linking to its rows.
These are the questions distributors ask. Each one maps to a measure our tools compute from your files. The AI model chooses the measure and explains the result; the arithmetic is done by our code, and every total is checked.
| The question | The measure behind it | What comes back |
|---|---|---|
| Which customers have stopped ordering, and how much were they worth? | Dormant accounts, by prior value | A list by prior-year revenue, each account against its own order gap, with the rep who owns it. |
| Which accounts lose money after delivery and order handling? | Contribution per customer | Gross margin less rebates and cost to serve, per account, with the drops and keyed lines that drive it. |
| Where are we giving price away? | Price realisation | Invoiced against list or agreed price by customer and line, with the unapproved discounts totalled. |
| Which customers buy a category elsewhere that they could buy from us? | Category share against similar customers | Each account's category spend against the median for its segment, ranked by the gap in dollars. |
| How much did stock-outs cost us last month? | Fill rate and lost lines | Lines cancelled for no stock, valued, by branch and account, against the fill rate. |
| Are we speaking to the accounts that matter? | Value coverage at cadence | Revenue of accounts touched within their tier cadence over revenue assigned, by rep. |
Every figure below was computed by a tool from the rows and checked before it was shown. The lines sum; the percentages match; each line opens to the rows that make it.
Where is revenue going quiet?
Dormant prior-year revenue is $4.2m across 3 branches, measured against each account's own order gap rather than a fixed ninety days. North branch holds $1.9m, 45% of it.
| North branch | $1.9m | 45% of the total |
| South branch | $1.3m | 31% of the total |
| Central branch | $1.0m | 24% of the total |
| The 3 lines sum to | $4.2m | 0 unexplained |
Which North accounts are behind that?
Of $1.9m dormant at North branch, 3 accounts hold $1.4m, 72% of it. Each is past three times its usual gap and none has a logged call in the period.
| Harbour Foods | $620k | usual gap 9 days, last order 41 days ago |
| Meridian Catering | $410k | usual gap 14 days, last order 58 days ago |
| Ashby Stores | $330k | usual gap 30 days, last order 104 days ago |
| These 3 are | $1.4m | 72% of North branch |
What should happen this week?
The list is worked, not glanced at. Each account gets an owner, a call and a reason code, and the same question next Monday shows what came back.
| North branch manager | Call Harbour Foods and Meridian Catering; log the reason | This week |
| Sales director | Review the dormant list by value with each branch | Monday |
| Purchasing | Check the shorted lines on Harbour Foods' last three orders | Before the call |
Each measure has one formula, one source and one meaning. They are computed per rep and branch and in total, and every one carries an identity that must hold before it is shown.
| Measure | Formula | From | What it tells you |
|---|---|---|---|
| Value coverage at cadence | Revenue of accounts touched within their tier cadence ÷ revenue of assigned accounts | CRM activity; assignment file; ledger | Whether the accounts that matter are being spoken to |
| Dormant accounts, by prior value | Prior-year revenue of accounts past k × their own typical order gap ÷ prior-year revenue | Invoice ledger | Revenue that has stopped without anyone deciding it |
| Category share against similar customers | Account spend in category ÷ account total, against the median for its segment | Ledger with category; account master with segment | Where a customer buys elsewhere what it could buy from you |
| Contribution per customer | Gross margin − rebates − cost to serve | Ledger; delivery, order, visit and returns files | Which accounts earn money after what they cost |
| Price realisation | Invoiced price ÷ list or agreed price, by customer and line | Ledger; price file | Discounts given without approval; agreed prices not applied |
| Average drop value | Revenue ÷ delivery drops, per customer | Ledger; delivery file | Accounts that could take half the deliveries |
| Order channel mix | Order lines by portal, EDI, phone, rep ÷ all lines | Order file | Cost of order handling; accounts to move to the portal |
| Fill rate and lost lines | Lines shipped complete ÷ lines ordered; value of lines cancelled for no stock | Order and shipment files | Sales turned away by stock-outs, by branch and account |
| Customer concentration | Top ten share; largest customer share; effective number of customers | Ledger, rolled up to parent | Dependence, and whether it is rising |
| New account activation | Accounts opened in period with a second order within 90 days ÷ accounts opened | Account master; ledger | Whether opening accounts produces customers |
Each measure is worked through, with the export it comes from and what to drop, in Sales KPIs for wholesale distributors.
From your question and the measures declared for distributors, the model picks the one that answers it, and the period and comparison the question implies.
Deterministic code reads the rows, computes the measure, and checks the identities below. The same question on the same data gives the same answer, every time.
The AI model writes the sentence around the result, naming the rep or account behind it. It states no figure that is not in the result, and every figure links to its rows.
| Coverage | Assigned accounts = covered + uncovered; no account in two books |
| Dormancy | Customers = dormant + active + too few orders to judge |
| Contribution | Allocated cost to serve = sum of the cost pools |
| Lost lines | Lines ordered = shipped complete + shipped short + cancelled + open |
| Concentration | Sum of customer revenue = ledger total for the period |
The exports distributors already produce. Column names are mapped once and the mapping is reused. A file is the way in; scheduled delivery and connections to your systems come with the plan, and every source is listed here.
An answer is a list with an owner and a cadence, or it is a chart nobody works.
| Measures | Owner | Cadence |
|---|---|---|
| Coverage; dormancy | Sales director; branch and sales managers | Weekly |
| Lost lines; fill rate | Operations and purchasing, with sales | Weekly |
| Price realisation; drop value; channel mix | Commercial director | Monthly |
| Contribution; category share; concentration | Commercial director; finance | Quarterly |
No. A deterministic tool reads the invoice ledger, works out each account's typical order gap and lists those past it, with the revenue at stake. The AI model chooses that tool from your question and puts the result into words. The arithmetic is done by our code and checked, and the AI model never adds, divides or estimates a figure, which is why the numbers can be trusted in a meeting.
The invoice ledger alone answers dormancy, concentration and price realisation. Add the delivery and order files and you get cost to serve and contribution per customer. Add the CRM activity export for coverage. Every file is one you already produce, and the data map matches your column names once.
It tells you what the data shows: the shorted lines before the orders stopped, the price change on the lines it bought, the drop in categories, the missing calls. Whether that is the cause is the rep's judgement after the call, and the reason code they log becomes data the next time you ask.
A dashboard shows the figure; this answers the question and hands over the list. Ask in plain words, get the measure that fits, the rows behind it and the owner, and ask the next question. The figures are the same ones your finance team would compute, because they are computed the same way, and every one reconciles to a control total.
Dormant account · Cost to serve · Contribution · Price realisation · Coverage · Lost line
Asset managers · Commercial banking · Compliance · Construction and building materials · Consulting and advisory · Customer service · Education · Finance and FP&A teams · Financial services · FMCG and CPG brands · Foodservice distributors · Freight brokers and 3PLs · Healthcare and med-tech · Hospitality · Industrial distributors · Industrial manufacturers · Insurance brokers · Investment banking · Law firms · Oil and gas services · Pharma · Procurement · Retail banking · SaaS · Sales teams · Shipping and logistics · Sports · Supply chain · Tax and accounting · Telecoms and connectivity · Trading · Wealth managers
Bring a few thousand rows. The data map opens next, every column mapped once, and the first question is answered in minutes. Free, in your browser, no account.