Skip to content

Answers You Can Trust

Any AI can write a confident paragraph about your numbers. The hard part — the part that decides whether you can act on the answer — is knowing when to trust it. That is what PlaidCloud is built for.

When you ask a connected AI assistant to explain your data, PlaidCloud doesn’t just hand back a figure. It grades how much to trust that figure, tells you in plain language where the ground is soft, reconciles its own arithmetic, and refuses to make anything up. This is the difference between an assistant that sounds right and one you can put in front of a CFO.

PlaidCloud rates its own answers — High, Medium, or Low confidence — and says why. A clean, fully-attributed result comes back as High. If the two periods you’re comparing aren’t equally complete, or part of a change can’t be pinned to a single cause, PlaidCloud says so and lowers its own confidence rather than presenting a shaky number as a certain one.

You never have to wonder whether the assistant is sure. It tells you, up front, in the answer.

The rating says what it covers. An answer opens with a one-line summary that can name a likely cause, point at the member behind most of the movement, and size the change against last year — and then close with a confidence rating. That rating covers one thing: how the change was broken down into the parts that contributed to it, and traced back through the steps that produced it. It is not a verdict on the causes named above it. The line now says so — “Confidence in the decomposition, not in why it moved: high” — and leaves off the second half where the summary named no cause, so it never disowns a claim it did not make. This matters most because that summary is the part most likely to be forwarded on its own, or read by an assistant with none of the page around it.

Anything qualifying the rating follows as its own sentence, headed “Caveats:”. The rating and its qualifications used to be joined by a dash, which reads as because — so a high rating followed by a dash and a limit parsed as a rating resting on the very limit standing beside it. They are now two sentences, which claims no relation between them at all. The qualifications themselves are unchanged, and they are still set out in full further down the answer.

The reason for a lowered rating is a stated limit, not a footnote on the grade. Where part of a change comes from several effects moving at once rather than from any one of them, that share is what holds the rating below High — and it is stated under Honest limits, with what it means and what it bears on, alongside every other limit the answer carries. The rating itself keeps a short label. An answer covering several columns states the range it measured across them on the rating line instead, because no single figure there would be about all of them.

Where the columns disagree, the reason is the one from the column that most needs it. An answer covering several value columns graded alike used to take whichever column came first and give that column’s reason, and its own residual share, as the answer’s — so an answer whose worst column had most of its movement in the part no single factor accounts for could be published as mostly clean with a small share quoted beside it. Where any column’s movement is dominated by effects that cannot be separated, that is now the reason stated, and no share measured over the other columns is quoted with it.

It does not say a change was offset by opposite moves and then rate that same breakdown a clean one. Where one member’s own change comes out larger than the whole net change, movement in both directions has partly canceled — and the line naming that member said so as soon as its change edged past the net, while the rating beside it only counted that offsetting as material a good deal further on. So an answer whose largest member came in a fraction over the net said the movement was offset and rated the same breakdown clean on the same page, and nothing said which to believe. That line now says moves offset each other only where the offsetting is large enough to lower the rating. Below that it gives the member’s share instead — “line=PERSONAL_AUTO = 101.6% of the delta — that is its own change, not its share of the pool shifting” — to one decimal place where it goes above 100%, so the small excess over 100% is not distorted by rounding. Answers where the offsetting is material read exactly as before, and the separate line naming which factor moved is untouched.

A summary states its confidence wherever the answer carries a limit. The rating was left off altogether where no step behind an answer raised a warning of its own — even where the answer as a whole carried a limit, such as a change that could not be sized against last year. That line is the one most often forwarded on its own, so its silence read as nothing to say rather than as the limit is set out further down. The summary now states the rating and names the limit: “Confidence in the decomposition: high. Caveats: this movement is not sized against the previous year’s change.” An answer with nothing to flag still closes without one.

A stated depth says how much of it carried a figure. The summary closes by saying how many steps back the answer traced — and that count is the only thing on the line that says how far it got, so a reader takes it as corroboration. A step the trace reached but got no number back from is not that. Where any traced step came back empty, the line now says how many of them returned a figure: “Traced 2 stages upstream; only 1 of the 2 came back with a figure — no figure at all for the remainder.” A step whose change was measured but could not be pinned on a single producing step still counts, because a measured change is evidence — that it could not be attributed is stated separately, under Honest limits. A summary whose steps all returned a figure reads exactly as before.

Instead of burying assumptions, PlaidCloud surfaces them as plain-language heads-up notes attached to the answer:

When an answer flags… It means…
“This describes the whole pool” The figure is a total; to see how it shifts between members (regions, products, cost centers), ask about a specific one. It appears only where the answer shows you no member breakdown — where one is shown, that note is not true of it and is not printed. Where the note names an earlier step in the chain — it opens “Stage 2 (…)” — narrowing your question won’t reach that step, so trace its own table instead.
“These periods aren’t equally complete” One period may be a partial month or a short window, so part of the movement could be missing data rather than a real change. The row counts it quotes are for the whole result — on a table that recombines several allocation branches, they cover every branch together.
“The pieces don’t fully reconcile” The detailed breakdown doesn’t perfectly sum to the headline number — treat the split as indicative, not exact.
“The precise cause is partial” The totals are correct, but the exact driver of the change can’t be fully attributed from the data on hand.
“Some targets couldn’t be measured” On a what-if, the calculation for one step failed, so the results it writes carry no figure at all rather than a guess. The totals cover what was measured, and anything downstream of that step is left out rather than estimated from it.
“Estimated on today’s shares” A what-if estimate splits the change across the affected results by each one’s current share of the pool — so the figures add up — and reflects how your model is configured today, not a precise forecast of a future in which the shares may have moved.

These aren’t fine print. They’re the safeguards that keep a confident-sounding answer from quietly overstating what the data actually supports.

A note that describes only part of the result says which part. A note can be raised by one part of a result rather than by all of it, and its figures then belong to that part alone — so it opens by naming it. On a result that combines several allocation branches that reads “Branch 4 (admin costs): …”; on one allocating several value columns at once it names the column, “Column margin: …”. Read an unprefixed note as being about the result you asked for, and a prefixed one as being about that part of it.

Where it applies to more than one part, it names them all“Columns revenue, margin: …”. So a column missing from that list is a column the note does not apply to, which is the point of listing them: on a three-column result where two share a note, naming one of them would leave the other reading as exempt. A note raised by every part carries no prefix at all, since there is nothing to distinguish.

One case reads differently, and deliberately. Where the parts each raised the note with their own figures, the note shown is one part’s, and quoting several names in front of one part’s numbers would misattribute them — so it names that part and lists the others after it: “Column revenue (also raised by margin): …”. The figures in that sentence are revenue’s; margin raised the same kind of note with figures of its own.

It Says What It Compared, and Does Not Call It Time

Section titled “It Says What It Compared, and Does Not Call It Time”

Asking why a figure moved means naming two things to compare it between. That is usually two periods — last month against this one, 2025 against 2026 — and the answer is written for that: it names the periods, sizes the change against the same window a year earlier, and warns you if one period looks less complete than the other.

But the two things need not be periods. Point the comparison at a scenario, a version, a case, or budget against actual, and you get a perfectly sound account of the difference between them — which of the two moved, what drove it, and which members carry it. This works, and it is worth using.

What went wrong was the wording around it. Comparing version 7 with version 8, the answer stepped back one and reported a “year-over-year” verdict sizing the change against version 6 — “275% the size of last year’s move; 6 → 7 moved -$400,000” — with every figure in it correct and the subject of the sentence wrong. It spoke of the two versions as periods, and of the one with fewer rows as possibly still loading.

An answer now works out whether the column it is comparing across is a period at all, from the column’s type, its name, and the shape of the values you gave it. Where it is not:

  • The opening line says Values compared, naming the column and its two values, rather than Periods compared.
  • No year-earlier verdict is offered. There is no prior year to step back to, and the answer says so under Honest limits rather than leaving the comparison unmeasured without explanation. No figure is withdrawn.
  • A difference in row counts between the two sides is described as a difference in what each side covers, not as a period that may still be loading — between two scenarios the smaller side is often the intended one. It names which of the two is short, as the first side or the second, in the order Values compared and the row counts are both printed. It used to call it “the thinner side”, which is defined by holding fewer rows and so left the sentence saying only that the shorter side is shorter. The opening line names it the same way, where it used to say “the later side” — a calendar word on a comparison that has no calendar.

The test is deliberately cautious: a column counts as a period if its type says so, or its name does, or the values you gave look like dates, months, quarters or years. Any one is enough, so a whole-number fiscal_year and a text 2026-03 are both still read as periods, and comparisons across a date, period, month, quarter or year column are unchanged.

Two answers over one table can look alike and mean quite different things: one covering every row, another covering a single line of business, entity or programme. Read one after the other, the narrowed figure is easily taken for a slice of the wider one — and it need not be, because the members left out can move the other way, sometimes far enough that the narrowed change is larger than the whole table’s.

Each answer says which it is, in its opening line. An unnarrowed answer states that its figures are the table’s own totals in each period, with every member included. A narrowed one states that its figures are that member’s own totals in each period, with the rest of the table set aside, and — where the figures are positive — that its percentage compares those two totals rather than measuring a share of anything larger. Where a narrowed answer’s figures are negative at both ends, that last note is left off: the answer already tells you the balance went further below zero, and calling the percentage an ordinary comparison there would blunt the point.

Neither line says anything about how the members left out moved. The answer did not measure them, so it does not characterise them.

The unnarrowed line is left off where the answer has already reported a gap in its own working. A question about a table that recombines several allocations is answered branch by branch, and where one of those branches could not be attributed the answer says so further down. Stating that every member is included, in the opening line above that, would be read as a claim that nothing at all had been left out. The same applies where the recombined table’s own change could not be read: there is then no whole-table figure for the line to describe.

It Says When Your Narrowing Could Not Be Applied

Section titled “It Says When Your Narrowing Could Not Be Applied”

A narrowing names a column, and the table an answer reports on may not have that column. Where it does not, there is nothing to filter on — the query runs unnarrowed and every figure that comes back covers the whole table.

Nothing on the page used to say so. The answer went on naming the narrowing in every place it names one: the opening sentence, the population line above, the heading of the whole-table block, the heading of the member list, the summary line, and the step-by-step account at the end. All six named a population the figures were not about, and the block that exists to compare a narrowed figure against its whole table printed the same figure twice, under a heading promising a comparison. Shown that page, readers could not tell it from a table where the member they asked about happens to be the whole business.

The answer now leads with it, ahead of any figure:

Short answer: entity=DE could not be isolated — cost_line_admin has no entity column — so this is the whole table: the total fell 26.2% (from $4,200,000.00 to $3,100,000.00).

The correction comes first and the number is subordinate to it, because the opening line is the one most likely to be forwarded on its own — and a correction after the number is read past. It names the missing column rather than the setting you passed, so you can see at once whether you named the wrong column or the wrong table. And it says the narrowing could not be applied rather than that it did not apply, which reads as though the filter ran and made no difference — on a narrowing, that would say the member you asked about is the whole business.

The narrowing is then named nowhere else on the page: no population line, no whole-table block, no scope on the member list, and no narrowing marker on the summary. The step-by-step account marks a step that ran unnarrowed as unnarrowed, rather than as the one that filtered.

An answer whose narrowing applied normally is unchanged, and no figure moves in either case.

Where a table recombines several allocations, the branches are separate tables and can differ — one may carry the column while another does not. There the answer names the narrowing nowhere as the population, rather than letting the branch that could be narrowed speak for the rest, and the step-by-step account still distinguishes the branches that were narrowed from those that were not. It does say what happened, in its own words — see It Says What a Recombined Table Could and Could Not Narrow below.

It Says Which Parts of Your Narrowing Applied

Section titled “It Says Which Parts of Your Narrowing Applied”

A narrowing can name several columns, and a table can carry some of them and not others. Ask about lob=COMMERCIAL and region=WEST on a table that has lob but no region, and the figures come back narrowed on the line of business and covering every region.

That is the useful answer, and it is the one you get. What the page used to do was report it as though both halves had been applied — naming region=WEST in the opening sentence, the population line, the whole-table heading, the member list heading, the summary line and the step-by-step account, beside figures that had never been filtered on region at all. Every figure was correct; every description of what they covered was not.

The answer now names only what actually narrowed the figures, and opens by saying what did not:

Short answer: region could not be isolated (cost_line_admin has no region column) — so these figures cover all region values: the total for lob=COMMERCIAL fell 26.2% (from $4,200,000.00 to $3,100,000.00).

Narrowing to lob=COMMERCIAL in silence would be its own claim — that the answer covers what you asked for — so the page states the shortfall in both places a reader lifts from: the opening line, and the honest-limits list at the bottom, which also names the population the figures are measured over.

A column you name but leave without any values is treated the same way and said differently, because the cause is different: the column is on the table, and it is the values that are missing. There the answer says the filter named the column but gave it no value — the filter is the thing that fell short, not the data, and unlike a missing column you can fix it by asking again.

The step-by-step account carries the same distinction per step, in the vocabulary it already used for a step that ran unnarrowed:

Stage 1 (allocation): cost_line_admin [cost] (lob=COMMERCIAL, all region values) — delta -$1,100,000.00.

Where a table recombines several allocations and the branches disagree about the column, the answer does not name one branch’s table as the one that lacks it. Where none of them has the column it says so outright, rather than leaving you to read “not every” as meaning some branch was narrowed after all; and where some do, it names each column separately as not being on every branch’s table, because “not every table has a lob or region column” is untrue of a page whose tables each carry one of the two.

That distinction matters for what the answer then claims to cover. A branch whose table does have the column really was narrowed to the value you asked for, so saying the figures cover every value of it would be true of one branch and false of another — and a reader told that could reasonably discard a figure that is partly what they asked for. So the answer says instead that the narrowing reached each branch only where its table allowed it:

Short answer: region could not be isolated (east_lines has no region column) — so each branch is narrowed on region only where its table has that column: across 2 recombined branches for lob=COMMERCIAL, all 2 fell.

The “covers all its values” wording is kept for the case it is actually true of — where no branch’s table has the column, so nothing was narrowed anywhere.

An answer that cannot apply your narrowing used to stop at saying so. It refused to fake a filter it could not run — which is the right refusal — and left you knowing the number in front of you was not the one you wanted, with nothing named that you could ask for instead.

It now ends with the columns that table does carry, read from the table itself rather than guessed:

To go further: To isolate a slice, re-ask with a target_filter naming one of cost_line_admin’s own columns — account, cost_center or product — and a value from that column.

The list is what the assistant would itself search for a cut, so the columns it offers are the ones the answer can actually work with. It is an offer rather than a full schema listing: a column whose name would collide with the wording of one of the answer’s own stated limits is left out, so that nothing in the suggestion can be mistaken for a limit the answer is stating.

Where you named a column the table does have and simply left it without a value, that column leads the offer, so the one re-ask that fixes the page is not buried in an alphabetical list:

To go further: entity is a column of cost_line_admin — only entity’s value was missing. To isolate a slice, re-ask with a target_filter naming one of cost_line_admin’s own columns — account, cost_center, entity or product — and a value from that column.

Ask for one column that is not on the table and another that is but with no value, and the answer names each failure with its own cause rather than offering one reason for both — the second one is the recoverable half, and a reader who carries the first reason across to it stops trying the thing that would have worked.

An answer whose narrowing applied is unchanged: it has no such advice to give, and gives none.

It Says What a Recombined Table Could and Could Not Narrow

Section titled “It Says What a Recombined Table Could and Could Not Narrow”

A table that recombines several allocations is several tables, each with its own schema, so a narrowing can reach some branches and not others. That is not an edge case — it is the ordinary reason a union exists.

Both ways it can go used to produce a page that named the narrowing nowhere and explained nothing. They now read differently from each other, because they are different situations and a sentence that fits both tells you neither.

Where no branch’s table carries the column, nothing was narrowed anywhere:

Short answer: region could not be isolated (no branch’s table has a column named region) — so these figures cover all region values: the combined total fell 26.2% (from $8,400,000.00 to $6,200,000.00); across 2 recombined branches, all 2 fell.

Where some branches were narrowed and others could not be, the answer says so and marks the combined total, which is the figure most likely to be quoted somewhere else:

Short answer: region=WEST reached some branches and not others (east_lines has no region column) — so these figures are part that slice and part whole-table: the combined total fell 26.2% (from $5,100,000.00 to $3,740,000.00), but that is not a region=WEST figure; across 2 recombined branches, all 2 fell.

The per-branch list below it names each branch by the table it writes, so the branch named in the opening is the one you can find in the list.

A recombined answer whose narrowing reached every branch reads exactly as before.

A figure for one line of business means little on its own. A line that grew 4.2% inside a book that shrank 6.2% is a different story from one that grew inside a book that grew — and the same number describes both. The narrowed answer used to give you that number and leave the comparison to you, while naming the whole table’s change as the very thing it had measured the narrowed change against.

So a narrowed answer now lists, beside its own figures, how the whole table moved over the same periods on each column it reports. The narrowed rows are part of that total, and the answer says so rather than leaving you to work it out. Where the two disagree in sign — the line negative at both ends of the period while the table is positive at both — that is stated in words, not left to a minus sign you might not notice.

Nothing new is measured to do this. The whole-table figures were already what the narrowed change was compared against; they were simply never shown.

Two figures beside one another still leave a subtraction, though, and it is the subtraction that carries the story. A line that rose by more than its whole table rose means everything outside that line came down — the line gained share in a pool going the other way, which is the opposite of how a rising figure reads on its own. So where the movement outside the narrowed rows runs against them, the answer now states it: the amount, its direction, and the column it belongs to. Where it runs the same way, which is the ordinary case, nothing is added — a remainder moving with the line tells you nothing you would act on. Both figures it is drawn from are printed above it, so you can check the arithmetic without asking for anything further.

An unnarrowed answer does not get this block: it already reports the whole table, so repeating it would be the same figure twice under two labels.

An answer over a table that recombines several allocations gets a version of its own. Its branches are separate tables, so there is no single whole table to name — and each branch line names the change in its pool as the thing that branch was measured against. A narrowed answer over such a table now lists each branch’s whole table over the same two periods, with the table named on every line and the narrowed rows included in it. Asking why German cost fell on one real model returned four branches down about 58% each, inside four tables that had themselves fallen by about the same proportion — so whatever moved, it was not something that happened to Germany alone, and the answer no longer leaves that to be worked out from figures it does not show.

Its Member List Says Whose Change It Breaks Down

Section titled “Its Member List Says Whose Change It Breaks Down”

The member list is the part of an answer most likely to be copied out whole, and it was headed by the breakdown alone — “All movers by account” — with nothing saying which population those rows belong to. On a narrowed answer the whole table’s change on the same column is printed above that heading, so the last scope you pass on the way down names the wrong one, and the rows do not add up to the figure above them.

Nothing about that looks wrong. The rows are exact and they add to the narrowed change exactly, so a reader reconciling from the top gets a self-consistent wrong answer with nothing to prompt a second look — and each member’s share of the company-wide move comes out wrong by whatever the rest of the table did — overstated where the rest of the table moved the other way, understated where it moved further the same way.

A narrowed answer’s member list now names its population in the heading, between the breakdown and the column the rows are ranked on: “All movers by account within entity=EU_DIST”, “All movers by branch within lob=COMMERCIAL — net_contribution”. It reads within rather than for because the breakdown is often by account, and “by account for entity=EU_DIST” is read as the verb before it is read as the scope.

The scope goes ahead of the column and ahead of “(largest shown)” deliberately. After the column it is read as part of the column’s name; after “(largest shown)” it trails a statement about completeness that it has nothing to do with.

An answer covering the whole table is unchanged: its rows are the table’s already, and a scope there would name the only population there is.

Where a table reports several columns at once — income alongside the charges deducted from it, or revenue alongside cost — the member list beside the answer is ranked on one of them. That list and the rest of the answer can then appear to disagree. A branch named as most of the change in a charge column can sit last in the ranking, because a member whose charges fell alongside its income nets out to almost nothing. Both statements are true, and read together with nothing between them the natural conclusion is that one of them must be wrong.

So the member list now says, above its rows, which columns the ranking subtracts — and therefore that a member large in those columns can rank small in the list. A member large in a charge and small on the net then reads as arithmetic rather than as a mistake.

The line states what can happen, not what did. Saying that a particular member’s movements cancelled needs a measure the answer does not always have, and a sentence that named one member would point at the wrong one on tables where the member worth reading about is a different one. Naming the relationship lets you apply it to whichever member you are looking at.

Two answers do not get this line. One whose columns do not add up to one another gets nothing, because there is nothing in those figures that identifies a charge and the answer does not guess. Neither does one where no member is reported as concentrated in any column, since there is then no second statement for the ranking to appear to contradict.

It Says the Factor and the Member Are Different Cuts

Section titled “It Says the Factor and the Member Are Different Cuts”

A step line in the trace can carry two statements about one change. The first names the factor behind it — the pool the figure is drawn from moved, rather than this slice’s share of that pool. The second names the member the change sits in: one branch is 70% of it.

Both are right, and they are cuts on different axes — one splits the change between the factors that produced it, the other between the members it landed on. Read left to right they look like competing answers to a single question, and the more specific one wins. Readers given only the page took “the pool total fell” and “one branch is 70% of it” as a contradiction, and picked one.

Where an answer already breaks a conserved pool down by member, it said the two are separate measurements — that is the one shape it was stated in. So an answer narrowed to one line of business, entity or programme, which is precisely where the factor named is most often the pool total and the concentrated member sits inside the narrowing, said it nowhere.

Those answers now say it once, under Honest limits: the factor named for a change and the member it concentrates in are separate measurements, and a change can come almost entirely from the pool total moving and still sit almost entirely in one member. It is added only where a step line carries both statements and nothing else on the page already says it, so an answer that covered it before gains no second copy.

When PlaidCloud explains why a number moved, it doesn’t stop at the first plausible story. It reconciles the parts back against the whole and, if they don’t line up, it says so and dials back its confidence — so a subtle gap in the data shows up as a caveat, never as false precision.

Every figure comes from a real query against your data. If a question needs data you don’t have access to, or the data simply isn’t there, PlaidCloud tells you plainly instead of guessing. PlaidCloud invents nothing: no hallucinated totals, no invented account names, no made-up trends.

The Written Summary Is Checked, Not Just Written

Section titled “The Written Summary Is Checked, Not Just Written”

When an assistant turns an analysis into a readable paragraph, there’s a quiet risk: the prose drops a caveat, or rounds a figure into something the data never said. PlaidCloud closes that gap. Alongside the structured result it can return a plain-language summary built directly from the analysis — one that states the confidence level, carries every caveat, and contains no figure that didn’t come from a real query against your data.

It comes with a companion faithfulness check your assistant can run on its own reworded version: did it keep the confidence level, keep every caveat, and avoid inventing a figure? If the rewrite drifts, the check catches it. The result is a narrative that’s provably faithful to the numbers underneath — not merely fluent.

A “what if this changed” answer gets the same treatment. It used to return its figures and a list of notes and leave you to assemble the story. Now it opens by saying how much of the change it can account for and across how many results, lists the results the change reaches directly with each one’s share of the change you applied, and puts the results it could measure only in part — and the ones it could not measure at all — in sections of their own rather than leaving them unmarked in the same list. Results that move only as a consequence of another are listed separately and marked as already counted in the figures above, so you never add them on top. Where the change can’t be followed at all, the answer leads with the reason instead of the numbers.

A good analyst doesn’t just answer — they tell you what to ask next. Each summary suggests the natural follow-up, drawn from what the analysis actually found: scope to a single member when the figure is a whole-pool total, break the change down by a dimension when one looks like it’s driving it, or point at a specific step when a result table is built by more than one. You can act on the suggestion without knowing the exact wording — just ask for it.

Those all answer which — which member, which field, which step. A further one answers when. Where an answer names a leading factor and puts a percentage on it, that percentage is measured once, across the whole of the period you compared — so a move that happened in one jump and one that built steadily give the same figure. The assistant offers to re-run over several narrower periods and compare those against each other, which is what separates the two; one narrower period on its own is the same two-point comparison again. It says in the same breath that the narrower figures will not sum to the one above, because each period is measured on its own — the pool, the driver and the split are all re-derived for it, so those shares are their own answer rather than a division of the wider one. It names no particular period, because which part of the range matters is yours to choose and guessing at it would be a finding the analysis has not made. Where you compared two things that are not periods — two scenarios, two versions, budget against actual — the suggestion does not appear at all, because there is no narrower range to run and the assistant does not describe that comparison as time.

It is withheld in two further cases, both because the suggestion would otherwise point away from the answer you asked for. Where the answer has already reported that one of the two periods holds far fewer rows than the other, and asked for the load to be checked before the change is relied on, splitting that period into narrower ones scatters the shortfall rather than resolving it — and the row count that raised the doubt gets weaker in every narrower window. And where an answer covers several value columns and the column it leads with carries no percentage of its own, every percentage the suggestion would qualify belongs to a column you did not ask about, so it reads as a limit on the answer while touching none of it. An answer whose own leading column states a percentage still gets the suggestion.

A suggestion is also left out where running it would return what you are already looking at. On an answer covering a single column, the field the assistant picked as the best explanation is the field the member table is already grouped by, so “break the change down by that field” came back with the same table — and the note beside it said the figures would not match the ones on the page, when they match exactly. Where the breakdown would genuinely answer on a different column, the suggestion stays.

Where the analysis found several candidates it won’t guess between — two steps that both build a table, or several fields too close to separate as the explanation for a change — it offers each of them as a separate suggestion rather than asking you to pick without saying what there is to pick from. Suggestions you can act on exactly as written come first.

Where those candidates are fields, they are now named in the finding itself rather than only in the suggestions below it. Each is given with its strongest member and how much that member’s own figure moved, against the change in the column as a whole — so you can see which of the tied stories is the larger one before you choose between them. Saying only that they scored alike hid that: on one automotive model both tied members had moved further than the whole column did, and their two figures together came to more than four times it, while a reader given “several scored similarly” took the two as interchangeable and reported whichever came first. The answer also says, in the same breath, that the candidates overlap rather than divide the pool between them — each is a different cut of the same change, so the figures are not parts of one total and adding them together describes nothing. And because a pair of fields is a view the search never scored, the cross-tabulation is offered as a next step to run — break the change down by both at once — rather than as something the analysis has measured.

A search that found nothing is still worth telling you about. Where you don’t name a field to break the change down by, the assistant looks for the one that best explains it — and where nothing it tried explained the change well enough to report, it says so rather than going quiet: the change reads as a broad move across the whole pool, and here is the field that came closest, naming its largest member and the share of the change that member accounts for. The member is named because this is the one finding the answer is unsure of, so it is the one you most need to be able to check — and it is what makes the accompanying warning, that a follow-up may lead with a different member, something you can test. That field is offered as a suggestion you can run as written, described as the strongest of a weak field rather than as a close call, because the search judged it non-explanatory. Confidence in the figures is not reduced for it — nothing was chosen, so there is no guess to discount.

These last two are different outcomes, and the wording keeps them apart: several fields scoring equally well gets you one suggestion each, the candidates named and sized, and the offer to cut by two of them together, while none scoring well enough gets you a single closest-thing offered as exactly that.

On a result with several value columns, the note names the column it searched. Those results — cost, revenue and margin side by side, say — are searched one column at a time, while the answer itself leads with the summary column. A “nothing found” result therefore says which column’s change it covers, rather than reading as a verdict on the whole result. Read it for what it names: another column of the same result may well have a field that explains it, and asking for that breakdown directly will tell you.

Two percentages that look alike are told apart. When the assistant picks the field that best explains a change, the figure it reports is that field’s shift in share of the pool. When you break the change down by a field yourself, the figure is each member’s own change. These are different measurements over different totals, and both are correct — so each says which one it is rather than both reading as a plain percentage of the change. What neither of them does is promise that the two numbers will differ. No member breakdown prints a per-member percentage at all — its rows are amounts — so a warning phrased as a mismatch sent you looking for a comparison you could not make, and a warning you cannot check is one you learn to ignore. Each says what the two measures are and stops there.

That holds for the closest-candidate note above as well, where the search settled on nothing: the share it quotes for the field that came closest is a shift in share too, and a breakdown by that field reports the other measure. Being below the bar is a statement about the search, not a ceiling on what the breakdown will show.

It holds for a tie too, and there the two measures sit in one sentence: the candidates were scored alike on that same shift in share, while the figures printed beside them are their members’ own changes. So the answer names both measures rather than letting the amounts stand as what the scoring compared. It does not go on to claim the two come out different sizes — no share figure is printed there to check that against, and a warning you cannot check is one you learn to ignore.

Most AI analytics tools are confident whether or not they’re right. A generic chatbot bolted onto a dashboard will produce a fluent, authoritative-sounding answer — and give you no way to tell a solid one from a wrong one. To that kind of tool, every number is just a number.

PlaidCloud is built the other way around. Confidence grading, self-reconciliation, and honest caveats are part of every answer, because an answer you can’t trust isn’t worth having. That honesty is the whole point: it’s what lets you take an AI-generated explanation and actually use it — in a board deck, a forecast, a decision — without re-checking it by hand.

You don’t adopt a new tool to get this. PlaidCloud’s honest analysis comes through whichever assistant your team already lives in: