Financial planning · NetSuite TD3016323
Cost classification, contribution margin, break-even revenue, margin of safety, and operating leverage for the consolidated business, from 24 months of posted activity.
Break-even for this business sits between $647,846 and $782,910 of revenue a month, against an average of $1,011,297 over the trailing twelve months. Where it lands in that range depends on how the cost base is classified, and that turned out to be the finding. Read statistically, every cost account in the ledger moves with revenue: 49 of 55 cost accounts correlate with monthly revenue above 0.6 and none behaves like a fixed cost. Read structurally, with cost of goods treated as variable and operating expenses as fixed, the business has a 39.9% contribution margin, $258,692 a month of fixed cost, and a margin of safety of 35.9%.
The statistical read isn't credible for a real business, because rent, insurance, and salaries don't scale with sales month to month. It happens here because 85% of revenue and most of cost of goods are posted by a monthly journal series that moves in step, so the ledger's cost behavior is an artifact of how it was seeded. The prompt's rule that cost classification decisions go to a person applies with full force: the structural model is the one to plan on, and it says the business clears break-even by about a third, with operating leverage of 2.8x.
Method: each cost account's 24 monthly totals were tested for variability (coefficient of variation) and for correlation with monthly revenue. Accounts with correlation above 0.6 and variation above 15% are classed variable; below 15% variation, fixed; the rest mixed. The result is 49 variable, 6 mixed, 0 fixed. The largest accounts are below, with their behavior. Every account, including rent and salaries, shows the same 22 to 25% variability and the same correlation, which is the signature of a ledger seeded by formula rather than by operations.
| Account | Type | 24-month total | Variability | Correlation with revenue | Statistical class | Structural class |
|---|---|---|---|---|---|---|
| 5310 Purchases | COGS | $10,976,145 | 0.23 | 0.95 | Variable | Variable |
| 6210 Salaries & Wages | Expense | $1,907,252 | 0.22 | 0.92 | Variable | Fixed |
| 5360 3rd Party Contracting | COGS | $1,218,468 | 0.23 | 0.95 | Variable | Variable |
| 5340 Cost of Sales | COGS | $1,119,429 | 0.30 | 0.84 | Variable | Variable |
| 6060 Advertising | Expense | $453,872 | 0.22 | 0.96 | Variable | Fixed |
| 6610 Rent Expense | Expense | $292,820 | 0.21 | 0.95 | Variable | Fixed |
| 6230 Payroll Expenses | Expense | $201,013 | 0.22 | 0.94 | Variable | Fixed |
| 6655 Computer - Office Expense | Expense | $187,632 | 0.25 | 0.75 | Variable | Fixed |
| 6420 Accomodations | Expense | $184,655 | 0.25 | 0.75 | Variable | Fixed |
| 6311 Liability | Expense | $157,410 | 0.24 | 0.78 | Variable | Fixed |
| 6671 Regular Service | Expense | $156,360 | 0.25 | 0.75 | Variable | Fixed |
| 6480 Outside Services | Expense | $148,767 | 0.25 | 0.75 | Variable | Fixed |
| 6470 Professional Fees | Expense | $147,426 | 0.25 | 0.75 | Variable | Fixed |
| 6674 Online Fees | Expense | $125,089 | 0.25 | 0.75 | Variable | Fixed |
The structural classification treats the three cost of goods accounts (purchases, cost of sales, third-party contracting) as variable and every operating expense account as fixed. It is a judgment, and the prompt requires that a person confirm it before the break-even figure is used for a volume target or a pricing decision.
Basis: invoices and cash sales over the trailing twelve months, with the cost estimate carried on each line as the variable cost. Journal-posted revenue carries no line detail and is excluded here. Contribution margin by product class:
| Product class | Revenue | Variable cost | Contribution | CM ratio | Rating |
|---|---|---|---|---|---|
| Delivery service (no class) | $687,989 | $0 | $687,989 | 100.0% | Strong |
| Home & Decor | $624,469 | $349,126 | $275,343 | 44.1% | Strong |
| Apparel | $386,820 | $224,979 | $161,841 | 41.8% | Strong |
| Beauty | $141,167 | $79,597 | $61,570 | 43.6% | Strong |
| Miscellaneous | $21,925 | $8,900 | $13,025 | 59.4% | Strong |
Product classes cluster between 42% and 44%, which is consistent with the structural model's 40% at the ledger level once delivery service, which carries no cost estimate, is set aside. Delivery service is 37% of billed revenue and shows a 100% margin only because its cost is not captured on the line; the true contribution of that service is unknown from this data and is flagged.
| Metric | Structural model | Statistical model | Interpretation |
|---|---|---|---|
| Fixed costs per month | $258,692 | $497,505 | operating expenses / regression intercept |
| Variable cost per revenue dollar | 0.601 | 0.365 | cost of goods / regression slope |
| Contribution margin ratio | 39.9% | 63.5% | 1 minus variable rate |
| Break-even revenue per month | $647,846 | $782,910 | fixed / CM ratio |
| Average monthly revenue | $1,011,297 | $1,011,297 | trailing 12 months |
| Margin of safety | 35.9% | 22.6% | (revenue minus break-even) / revenue |
| Degree of operating leverage | 2.78x | 4.43x | contribution / operating income |
Break-even in units is not meaningful for a multi-product business with a service line, so the report stops at revenue. At the structural model's figures, a 10% fall in revenue would cut operating income by about 28%.
Monthly revenue (blue) against total cost of goods plus operating expense (gray), 23 months of posted activity. The two lines track each other closely because both are dominated by the journal series.
Based on: the structural model at the trailing twelve-month average. Optimistic is volume up 20% and price up 5%; pessimistic is volume down 20% and unit cost up 10%.
| Scenario | Volume | Price | Cost | Monthly operating profit | Change |
|---|---|---|---|---|---|
| Base case | 0% | 0% | 0% | $145,130 | |
| Optimistic | +20% | +5% | 0% | $286,572 | $141,442 |
| Pessimistic | -20% | 0% | +10% | $15,767 | -$129,362 |
The pessimistic case stays above break-even by a narrow margin, which is what a 36% margin of safety means in practice: the business survives a bad quarter, and would not survive two of them if costs held.
| ID | Type | Name | Handle | Scope | Used for | Complete |
|---|---|---|---|---|---|---|
| DL-001 | SuiteQL | Monthly P&L by account | transactionaccountingline, account, accountingperiod | Sep 2024 to Aug 2026, subsidiaries 1-3 | Cost classification, regression, break-even | Yes |
| DL-002 | SuiteQL | Income by transaction type | same, grouped by transaction.type | Same | Journal vs billing-document split | Yes |
| DL-003 | SuiteQL | Sales lines with cost estimate | transaction, transactionline, item | Invoices and cash sales, trailing 12 months | Contribution margin by class | Yes |
Adaptations from the prompt's templates: amounts come from transactionaccountingline by posting period, not transactionline.amount by transaction date, so that they reconcile to the ledger; transaction.subsidiary is not exposed to SuiteQL, so the elimination subsidiary is excluded through the line; the cost estimate on sales lines is stored negative in this account and was sign-corrected; the prompt's expense-variability query uses a nested subquery form that SuiteQL rejects, so the variability statistics were computed in code from the monthly series.
SELECT ap.periodname, ap.startdate, a.id, a.acctnumber, a.fullname, a.accttype, SUM(-tal.amount) AS amt
FROM transactionaccountingline tal JOIN transaction t ON t.id = tal.transaction
JOIN transactionline tl ON tl.transaction = tal.transaction AND tl.id = tal.transactionline
JOIN account a ON a.id = tal.account JOIN accountingperiod ap ON ap.id = t.postingperiod
WHERE tal.posting = 'T' AND a.accttype IN ('Income','COGS','Expense','OthIncome','OthExpense') AND tl.subsidiary <> 4
AND ap.isquarter = 'F' AND ap.isyear = 'F' AND ap.startdate >= DATE '2024-09-01' AND ap.enddate <= DATE '2026-08-31'
GROUP BY ap.periodname, ap.startdate, a.id, a.acctnumber, a.fullname, a.accttype
-- DL-002: same, grouped by ap.periodname, t.type, restricted to accttype = 'Income'
SELECT t.trandate, tl.item, BUILTIN.DF(tl.class), -tl.quantity, -tl.netamount, tl.costestimate
FROM transaction t JOIN transactionline tl ON tl.transaction = t.id JOIN item i ON i.id = tl.item
WHERE t.type IN ('CustInvc','CashSale') AND t.posting = 'T' AND tl.mainline = 'F' AND tl.taxline = 'F' AND tl.subsidiary <> 4
AND t.trandate >= ADD_MONTHS(SYSDATE, -24)| Assumption | Category | Rationale | Sensitivity | Impact if wrong |
|---|---|---|---|---|
| Operating expenses are fixed; cost of goods is variable | Business logic | Structural classification; statistical classification failed | High | Break-even level |
| Trailing 12 months represent the run rate | Method | Most recent full year | Medium | All figures |
| Line cost estimate is the variable cost of a product | Data | Only per-unit cost available on sales lines | Medium | Contribution by class |
| Journal-posted revenue is real revenue | Data | Ledger as posted | High | Revenue base; flagged |
| Test | Objective | Result |
|---|---|---|
| G1-001 | P&L totals reconcile | Pass monthly income by account equals income by transaction type in every month |
| G1-002 | Cost behavior is classifiable | Fail no account meets the fixed-cost definition; classification substituted by judgment and flagged |
| G2-001 | Regression fit | Review R² {r2:.2f}; coefficients reported but not relied on |
| G2-002 | Break-even arithmetic | Pass computed in code; margin of safety and leverage foot to the same inputs |
Confidence: 85% in the structural break-even as a planning figure, conditional on the classification being confirmed; 40% in the statistical model, reported for transparency. Pricing recommendations and volume targets derived from these figures require human review.