Find what's wrong with your Anaplan model before it hurts.
Upload the line-items blueprint. MaxCheck runs 32 documented rules on a real Anaplan formula tokenizer and pins every finding to a line item and the exact part of its formula, with why it matters and how to fix it.
Free. Built by MaxPlan, an independent Anaplan consultancy that fixes models like these for clients.
Drop the line-items blueprint here
.xlsx or .csv, exported from Modules › Line Items. It is read in this browser; nothing is sent until you run the full analysis.
What you get
A plain verdict first, five area scores, then every finding on its line item with the exact part of the formula marked, why it matters, and how to fix it.
Demand Planning (sample)
Sample reportTwo errors sit in one module, 30 Revenue: SUM and LOOKUP in one reference. Fix those first: they account for 22% of the model's calculation time. Most of the other warnings are the same hard-coded SELECT, in 7 line items.
ErrorNet Revenue by Regionin 30 Revenue
SUM and LOOKUP in one reference P_SUMLOOKUP · error · rule 1.0.0
Why it matters. Anaplan evaluates the combined mapping cell by cell, which is one of the slowest patterns in the engine.
Useful without an email
The basic check runs in your browser. Give a work email and the full analysis runs on our server.
Basic check, no email
Runs in this browser. Nothing is stored or sent.
- 25 rules that look at one line item or one module at a time, plus dimensions a formula doesn't use
- Five area scores and findings by module
- Each formula with the problem part marked
- Where calculation time goes, when the export has Calculation Effort
Full analysis, with a work email
Runs on our server. Sign-in is a link by email; no password.
- All 32 rules, including 7 that compare across modules: repeated conditions, duplicated line items, repeated SELECTs, Applies To order, totals nothing reads, RANK on large lists, numbers used as flags
- AI explanations, and a suggested formula only when it passes three checks
- Report history per model, and a PDF to share
- Private mode: names are swapped for codes in your browser before anything is sent
Facts from rules, words from AI
- Every finding is a rule
- Each rule is documented, versioned, and tested on cases it must flag and cases it must not. The report shows the rule and its version.
- The AI only explains
- It never adds a finding or moves a score. A formula it suggests is shown only if it parses, names only things in your model, and no longer trips the rule.
- Your model stays yours
- No data values are ever read, only structure. You choose what is stored, and you can delete a model or your whole account in one step.
Export the blueprint
You need workspace admin rights on the model. The export has 26 columns; MaxCheck needs 12 of them.
- 1Open the model as workspace admin.
- 2Go to Modules and switch to the Line Items tab.
- 3Click Export.
- 4On the Layout tab, choose Excel (.xlsx). CSV works too.
- 5On the Labels tab, tick "Include Row Label Headers".
- 6Run the export and upload the file.
The rules
Grouped by PLANS area. Severity is a shape: error, warning, hint. Hints never count toward a score.
| Area | Rule | Severity | Runs |
|---|---|---|---|
| Performance | SUM and LOOKUP in one referenceP_SUMLOOKUP | error | Basic and full |
| Performance | TEXTLIST usedP_TEXTLIST | warning | Basic and full |
| Performance | CUMULATE on a day time scaleP_CUMULATEDAYS | error | Basic and full |
| Performance | CUMULATE usedP_CUMULATE | hint | Basic and full |
| Performance | Very large line itemP_TOOBIGLIS | warning | Basic and full |
| Performance | Module with many line itemsP_TOOMANYLIS | hint | Basic and full |
| Performance | Same dimensions in a different orderP_ORDERAPPLIESTO | warning | Full analysis |
| Performance | Dimensions the formula doesn't useP_OVERDIMENSIONED | warning | Basic and full |
| Performance | Totals calculated that nothing readsP_SUMMARYNOTNEEDED | warning | Full analysis |
| Performance | TIMESUM in a line item with timeP_TIMESUMONTIME | warning | Basic and full |
| Performance | Long text joinP_TEXTJOIN | warning | Basic and full |
| Performance | FINDITEM without a blank checkP_FINDITEMBLANK | hint | Basic and full |
| Performance | RANK on a large listP_RANKLARGE | warning | Full analysis |
| Performance | Number used as a yes/no flagP_NUMBERFLAG | warning | Full analysis |
| Logical | IF that returns TRUE or FALSEL_TTEF | warning | Basic and full |
| Logical | IF with a TRUE or FALSE branchL_TTEF_light | hint | Basic and full |
| Logical | Same IF condition in several line itemsL_REPEATEDCONDITIONS | warning | Full analysis |
| Logical | Long ELSE IF chainL_LONGELSEIFCHAIN | hint | Basic and full |
| Auditable | Long formulaA_FORMULALEN | warning | Basic and full |
| Auditable | Deeply nested IFA_LONGNESTED | warning | Basic and full |
| Auditable | No notesA_EMPTYNOTES | hint | Basic and full |
| Auditable | Many subsidiary viewsA_SUBSIDIARYVIEWS | hint | Basic and full |
| Necessary | Duplicated line itemN_DUPLICATED | warning | Full analysis |
| Necessary | Temporary-looking nameN_UNUSUALNAMES | warning | Basic and full |
| Necessary | Not referenced by other line itemsN_NOTREFERENCED | hint | Basic and full |
| Sustainable | Hard-coded list item in SELECTS_SELECT | hint | Basic and full |
| Sustainable | Same hard-coded list item in several line itemsS_SELECT_REPEATED | warning | Full analysis |
| Sustainable | Hard-coded time periodS_HARDCODEDTIME | warning | Basic and full |
| Sustainable | Hard-coded list item in a comparisonS_HARDCODEDITEM | hint | Basic and full |
| Sustainable | Many dimensionsS_MANYDIMENSIONS | hint | Basic and full |
| Sustainable | Many dimensions with a time summaryS_MANYDIMENSIONS_TIMESUM | warning | Basic and full |
| Sustainable | Many dimensions with a list summaryS_MANYDIMENSIONS_SUM | warning | Basic and full |