Every board deck has a top customers list, and every top customers list hides the story. Revenue rank tells you who is big. It doesn't tell you who is healthy, who is quietly slipping, how much of the business rests on one account, or what your best customers should be buying that they aren't. NetSuite has every input for those questions. Almost nobody runs them.
The Sonar edition of my NetSuite AI Prompt Library went live this month, and a lot of the new prompts are about customers. This post covers the first thirteen in the Revenue and Customer Analytics category. They're grouped here by the question each one answers, and none of them needs an export, a spreadsheet, or a data warehouse.
If you're new to this, Sonar AI is an AI agent that runs inside NetSuite. Every prompt in the library is a playbook that I engineered and tested against live NetSuite data, and you run it inside your own account, against your own records.
What They Have in Common
Every one of these prompts starts by asking the account what it is. How many subsidiaries, and which one is the elimination entity. How many currencies, because summing revenue across currencies without saying so is a mistake that looks like a number. Whether the item catalog is big enough for the analysis to mean anything. The prompts probe first and state the scope in the report.
They also refuse to invent. No score, share, rate, or opportunity value appears unless a query produced it, and every method is stated in the output: what "active" means, how DSO was computed, which thresholds produced a tier. And the decisions that affect a customer, such as outreach, pricing, credit actions, or territory changes, are flagged for a person rather than presented as verdicts.
Who Is in the Book
Five prompts build a portfolio view of the customer base, each on a different axis.
Customer Health Score (RFM) is the classic framework: score every customer on recency, frequency, and monetary value, assign quintiles on each, and map the 25 cells to named segments. The prompt states the methodology in the report and treats outreach recommendations as human decisions. Customer Health Scorecard takes a different route to a similar place: a composite score from 0 to 100 built from revenue, payment discipline, and recency, with every active customer ranked and every at-risk account named with the dollar figure driving it. The score is a triage signal, not a verdict, and the prompt says so.
Customer Profitability Bubbles plots every customer on purchase frequency against revenue, colored by payment speed. The four corners are Champions, Whales, High-Maintenance accounts, and slow-paying revenue, and the point of the picture is that revenue rank alone can't tell them apart. Customers with no payments in the window get their own color rather than a made-up DSO.
Customer Concentration HHI is for the line "our top five customers are 40% of revenue." That number is right and the framing is wrong, because it says nothing about how the other 60% is spread. The Herfindahl-Hirschman Index does. Below 1,500 is diversified, above 2,500 is single-customer risk, and the prompt flags any top customer above a quarter of revenue for review. Customer Geographic Distribution maps customer count and revenue by state, country, and metro, because a state with many customers and little revenue is a different operational fact from a state with one customer and a lot of it. It notes when customers have several address rows, which can put one customer in two states.
How Cohorts Behave Over Time
Two prompts replace a single retention number with a matrix.
Cohort Retention Heatmap puts each acquisition cohort on a row and each month since acquisition on a column, and colors the cell by the share still active. You see which cohorts decay fast and which stick, which is what "what percent of last year's customers are still active" can't show. The prompt defines active, any invoice or cash sale in the month, and states it. Customer Cohort LTV Curves does the same for revenue: cumulative revenue per customer since first transaction, plotted by acquisition quarter, so you can compare how each cohort's value accumulates. It labels any cohort under five customers as statistically weak, because small denominators make per-customer figures jump around, and it's explicit that LTV here is gross revenue, not contribution margin.
What They Should Be Buying
Cross-Sell Opportunity Map is the one I'd show a sales manager first. For each customer, it lists the items they don't buy that look-alike customers do, scored by evidence: how many similar customers actually bought the pair. No evidence, no recommendation. It cross-checks every suggestion against the customer's own purchase history so it never recommends something they already own, and it stops if the catalog has fewer than ten items, because the analysis wouldn't mean anything. Pipeline projections above $100,000 go to a person.
Where the Revenue Comes From
Three prompts look at channels and campaigns, and two of them are for specific kinds of businesses.
Channel Performance Comparator compares web, EDI, phone, and retail on revenue, gross margin, and cost to serve where the data supports it. The rule is never to rank channels by gross revenue alone, because a large channel at thin margin and a small one at fat margin are different decisions. Channel can live in several places in NetSuite, and the prompt probes for it before it assumes. Campaign Performance Comparator is for nonprofits: it compares fundraising campaigns on net revenue and cost per dollar raised, within their channel before across channels, and flags a single gift above a quarter of a campaign's total. Cart Abandonment Pattern Analyzer needs SuiteCommerce, because that's where cart data lives; without it, the prompt says so, reports what it can, and doesn't guess. It never puts customer PII in the deliverable.
Where the Revenue Goes Wrong
Bad Debt by Payer Analyzer computes write-offs as a share of revenue per payer rather than in aggregate, because the aggregate hides which payer type is the problem. It separates contractual adjustments from bad debt, validates write-off totals against the native receivables reports before publishing, and sends reserve adjustments over $25,000 and any write-off recommendation to a person. Claim Denial Pattern Analyzer is for healthcare and billing organizations. It maps denial codes to root causes rather than treating the code as the cause, separates expected denials from preventable ones, and probes for the custom fields that hold denial data, since standard NetSuite doesn't ship them. It makes no regulatory determinations.
Wrapping Up
I used to think the hard part of customer analytics was the data. It isn't. The data has been in NetSuite the whole time. The hard part was that each of these questions took an afternoon to set up, so nobody asked them more than once a year. When the question costs a few minutes, you ask it every month, and that's when the trend appears.
All thirteen are in the paid tier of the Sonar AI Prompt Library, under Revenue and Customer Analytics. Part two covers the next thirteen.