Best Of
Re: Recognizing your impact: new points, badges, and ranks!
Great questions @SanthoshS! You're correct, the points do not reset annually; they accumulate throughout your entire Community journey.
Regarding your concern about it becoming too easy, we've designed the rank system to focus on how points are earned, not just that they are accumulated. When creating the updated ranks, we carefully looked at the distribution of our members and points. Our goal is to see our dedicated members reach the highest ranks, including Legend! You can learn more about points and how to climb the ranks in this article:
The activities that help you progress in the beginning are focused on initial engagement and getting familiar with the Community. As you climb the ranks, the emphasis shifts to more high-impact contributions, such as becoming a go-to resource for complex forum questions or sharing your deep expertise with other members.
While we would love to see our dedicated members reach the Legend rank, the path is designed to ensure it's a title that is truly earned and one you can be proud of!
Cracking the Mystery of Infeasible Models 🕵️♂️
You've spent days carefully crafting your model, eagerly awaiting that satisfying moment when the optimal solution appears, only to be met with the dreaded message: infeasible 😱
The excitement turns into a classic plot twist worthy of a detective novel.
But don't worry! Here we have 3 practical tips to help you figure out why your model can't find a solution. So grab your detective hats, channel your inner Sherlock, and let’s go hunting for those sneaky constraints 🔍
⏩ Speed up execution - If it takes a long time to determine that your model is infeasible, you can speed up the search changing the problem to find a feasible solution. This will remove the objective function from the model.
🔍 Disable some constraints - Create boolean switches to temporarily turn off certain constraints. This helpful trick lets you systematically identify which specific constraints are presenting challenges, bringing you one step closer to a solution.
- Create a model with disabled constraints, with a line item for each constraint. This simple step helps clarify the process and keeps your troubleshooting focused and organized.
- Update your constraint formulas to: <disable constraint> OR <constraint>. For example: DisableConstraints.'C1 Meet All Demand' OR ('V3 Outbound to Customer' = Optimizer Demand by Customer). In this formula, if the disabled constraint switch is True, the overall statement is always satisfied, making the constraint inactive.
Explanation: Since all constraints must be True, if the boolean is True, the constraint is automatically satisfied, so the Optimizer ignores the equation. The Optimizer only checks the actual constraint if the boolean is False. This empowering method makes it easy to isolate which constraint is causing infeasibility, giving you control over your modeling process. - Now you can disable the suspect constraint and run the optimization to check if the model has any feasible solution.
💡 Check solution feasibility - If you have a previous solution or a good guess, use the modeling interface to check which constraints are violated. This can quickly point you toward the problematic constraints.
- All constraints must be satisfied for a solution to be feasible. In the summary, it's clear who is guilty. In this case, C1 Meet All Demand and C5 Inventory Fulfilled Outside Allocation are responsible for making this solution infeasible in the current model.
- Now that you’ve unmasked the main suspects. Dig into the constraint dimensions to pinpoint the source of trouble. In this case, you can see that the mystery leads straight to week 1 inputs.
Remember, every clue you uncover brings you closer to cracking the case 🕵️♂️
ThuenerA
How I Built It: Center of Excellence App
Author: Marina Ketelslegers is a Certified Master Anaplanner and FP&A voice for Anaplan and AI passionate about CoE support, solution architecture, and training.
Hello Anaplan Community!
I’m sharing a short walkthrough of my Anaplan Center of Excellence (CoE) App designed to help new CoE leads set up their CoE with clarity and structure.
I show how you can use it to define your CoE charter, roles, and roadmap, and then manage success through a practical four-lens metrics system (Adoption, Platform Health, Business Value, CoE Health).
I also demo the recommendations page that turns metrics and a light self-assessment into a focused improvement plan.
If you’re starting a CoE (or refreshing one), I hope this gives you a strong, reusable blueprint.
Also, if you missed it, I published an article going into details on Center of Excellence Metrics here: A four-lens metrics system for Anaplan CoEs.
How I Built It: CoE App
Feedback from the Community is very welcome.
Retrieving Anaplan’s Optimizer logs step-by-step
Getting Optimier logs helps to understand how to tweak the model to speed up the solving time. Workspace administrators can download the Anaplan Optimizer log via an API.
Links:
- Optimizer logs for debugging
-
Users can use Postman or perform this action directly in the browser. Step-by-step instructions on how to do this using the browser:
You will need 5 parameters:
- workspaceId,
- modelId,
- actionId,
- processId,
- and correlationId.
1️⃣ Authenticate into Anaplan and get workspaceId and modelId from the URL https://us1a.app.anaplan.com/…./workspaces/{workspaceId}/models/{modelId}/…
2️⃣ Getting actionId. https://us1a.app.anaplan.com/2/0/workspaces/{workspaceId}/models/{modelId}/actions
3️⃣ Getting correlationId. First, you would need to identify the process used to run the optimization. You can find it here https://us1a.app.anaplan.com/2/0/workspaces/{workspaceId}/models/{modelId}/processes . With processId you can now run https://us1a.app.anaplan.com/2/0/workspaces/{workspaceId}/models/{modelId}/processes/{processId}/tasks to get all the correlationIds for this process
4️⃣ Finally get the logs https://us1a.app.anaplan.com/2/0/models/{modelId}/optimizeActions/{actionId}/tasks/{correlationId}/solutionLogs
You should see something like this (with different values):
Optimize a model with 1011 rows, 936 columns and 2244 nonzeros
Model fingerprint: 0x7ef96434
Variable types: 390 continuous, 546 integer (0 binary)
Coefficient statistics:…
I hope this helps you to find the logs that you are looking for 😁
ThuenerA
How I Built It: Solving world’s hardest Sudoku with Anaplan Optimizer
About the Author: Tristan Colgate is a Certified Master Anaplanner and Managing Director at Fidenda.
Hi Anaplan Community!
I’m excited to bring a new and fun video to the Community ‘How I Built It’ tutorial series. In my video, I’ll walk through how I used Anaplan’s Optimizer to solve the world’s hardest Sudoku puzzle. In 2012, mathematician Arto Inkala created what’s considered to be the hardest Sudoku puzzle to solve and I’ve never been able to solve it, so I brought in some assistance from my favorite tool!
Optimizer is a really important part of the Anaplan platform. It can be used by organizations to find the optimal solutions to business problems where there is a need to optimize a business outcome that has multiple moving parts and constraints. In doing so it automates business decisions that are impossible for humans to thoroughly analyze. For example, I have implemented it at a media organization that needed to decide which new television program projects they should invest in to maximize ROI, whilst observing other targets such as minimum hours of programming needed per genre.
Check it out and let me know if you have questions!
…..
All the 'How I Built It' tutorials can be found here.
Re: Formula Calculatin Time
While that number is correct, the time for a calculation in real life (your model) will be considerable less because of the multi-threading that Anaplan can do. When we run the snapshot for MAPS, since we doing the calculations/model opens in a different environment, we can not take advantage of the multi-threading, we can only do the calculations sequentially so the MAPS numbers will be higher.
Hopefully this helps.
Speeding up ADO data syncs with Workflow
Author: Mark Warren is the Architecture and Performance Director at Anaplan.
Anaplan Data Orchestrator (ADO) is used to connect, transform, and manage data from various sources to be used in Anaplan models. It is a data management system that enhances integration, efficiency, and data governance within the Anaplan platform.
While ADO has been a welcome addition to the data integration options, and has included the ability to schedule data movements, by combining it with Anaplan’s workflow functionality, you get an even more intelligent and powerful solution. You can use Workflow to initiate ADO extracts and links as a seamless step within a larger business process.
There are however, a few things you should consider when setting up Workflow with ADO to move data efficiently within your Anaplan ecosystem.
The first thing to know, when you setup a workflow to do ADO extracts it defaults to “Branch the workflow” on step failure. This creates a sequential process for running ADO tasks. This can be a good solution when you have dependent steps you want run in a specific order. The default workflow will end up with a template that looks like this:
The default workflow works well in many situations and allows you to take actions on success or failure, such as send a notification. However, if you do not require a sequential process, this could lead to a slower processing time as it works through each step. The good news, a quicker option is available to run ADO extracts in parallel.
If you set the default behavior of the template to “Pause and request owner review” or “Skip and continue” you will see a different workflow step, with plus icons either side:
The icons allow you to setup parallel steps, as shown here:
We can then use this to create parallel ADO extracts to improve the efficiency of loading data into ADO. ADO allows us to do five concurrent syncs (the parallel workflow step allows up to 20 actions).
If you already have a workflow template setup in a sequential flow, as shown in the first diagram in the article, it is possible to convert to parallel quite easily; here’s how to do that…
- On your first step set the ‘step failure action’ to (something other than Branch):
- Click the + icon on that first step:
- Drag the next step in, you don’t need to change the ‘step failure action’:
- Continue dragging in the sequential steps until complete:
- Complete, publish and run…
When you run the workflow now you will see all the steps begin processing at the same time: You may see five complete first as ADO only allows for five concurrent syncs: This will have shortened the time it takes to load (sync) data into ADO, compared to a sequential workflow with the same extract actions.
Reminder: only use for when you do not require sequential steps or a specific trigger for failed actions for all the actions running in parallel. You can of course create a complex set of steps where parallel steps can be triggered on success or failure and followed by additional ADO or other workflow actions.
See the resources below for more info:
Questions? Leave a comment!
Inspired by the best: Master Anaplanner insights to close out the year
Hello, Anaplan Community!
What an amazing year it’s been! As we look back on 2025, I am absolutely blown away by the spirit of collaboration and support that defines our community. Every single day, you all show up for each other, sharing knowledge, solving complex challenges, and pushing the boundaries of what’s possible.
This year, you collectively posted over 1,500 questions and provided an incredible 4,000+ answers! That represents thousands of moments of connection, learning, and progress. Thank you for making this community the vibrant, helpful, and indispensable resource that it is.
⭐️ Community Champions of 2025!
I want to give a special shout-out to some of our most active and helpful members this year. Your contributions have not gone unnoticed, and your willingness to jump in and help others is the bedrock of this community. A huge round of applause for a few of our top commenters: @devrathahuja @Dikshant @rob_marshall @seymatas1 @Tiffany.Rice @Prajjwal88 @andrewtye @SriNitya @logikalyan and @alexpavel.
🏆️ Perspectives from Anaplan Certified Master Anaplanners
One of my favorite parts of this community is learning from the best of the best. To celebrate the year, I asked five of our brilliant Certified Master Anaplanners to share their biggest wins from 2025 and what they’re aiming for in 2026.
I hope their stories inspire you as much as they’ve inspired me!
Junqi Xue, Certified Master Anaplanner and Solution Architect at valantic
For Junqi, 2025 was all about building a deeper, more versatile skill set and giving back to the community. Here's what he had to say:
"Here are my learnings from 2025:
Built my foundational knowledge:
a. Completed trainings on ADO, Polaris, Workflow, and tried finding their use cases in our projects and proposals across functions, e.g. finance and supply chain.
b. Attended the workshop for the Anaplan SC APP, getting to understand the capabilities of Anaplan Apps more in details, advocated and shared the knowledge with my internal colleagues.
Enhanced capability: I implemented two complicated use cases of Optimizer (production planning, resource allocation and planning), including the analysis of the results.
Community growth: Some interesting new functions were suggested and added to the valantic Anaplan extension this year, namely the visualization of the line items, list items, or anything, that is used as filter in saved views. Along with the visualization of actions/processed used on the UX. As a result, now the model clean up is even easier, especially solving the pain point of not being blind anymore."
Junqi's target for 2026: "Gather more hands-on experience on the Polaris engine."
Julie Ziemer, Business Solutions Architect at Royalty Pharma, LLC
Julie and her team drove a true transformation in how their organization approaches planning. In her own words:
"This past year has been a truly transitional step forward in our Anaplan journey, driven by myself and my team. What began as an effort to modernize financial modeling has evolved into a full-blown transformation in how we plan, connect data, and collaborate across departments.
We've successfully built and streamlined the foundation of our models, providing a clearer, real-time view of performance and forecasts. This means significantly fewer spreadsheets (win!) and far more confidence in our numbers. Along the way, we rigorously tested, refined our logic, and constantly reminded ourselves that “version control” is not a lifestyle choice, but a life-saving best practice. The progress hasn’t just been about automation; it’s been about building a sustainable framework that enables us to work smarter, not harder.
Looking ahead, our team's focus is on expanding Anaplan’s role in financial reporting, bringing greater automation, transparency, and storytelling to our data. To ensure long-term success, we’re laying the groundwork for a Center of Excellence (CoE) to help our models, processes, and people thrive as a connected Anaplan community."
Julie's goals for 2026:
- "To ensure 100% adoption of Anaplan by all finance team members, completely moving away from legacy systems to establish a single source of truth for planning and reporting.
- To lead the integration of Anaplan beyond the finance function into a new business area, such as research or HR planning, to foster true connected planning across the entire organization."
Wenwei Liu, Anaplan Systems Architect at Atlassian
Wenwei’s journey from consulting to an internal role gave her a powerful new perspective. She shares:
"Through my transition from Anaplan Consulting to the internal Anaplan team, I gained a fundamentally different perspective on how Anaplan supports business connected planning from the customer side. A key accomplishment was contributing to a large-scale model rebuild project that deepened my understanding of the platform's capabilities and identified critical customer needs. This shift from external consultant to internal team member positioned me to bridge consulting expertise with product strategy, uncovering pain points and opportunities that will drive more customer-centric solutions."
Wenwei's goal for next year: "Leverage emerging AI capabilities and new Anaplan features to enhance the connected planning experience for our users, while improving efficiency in model building and internal support processes."
Dmitry Sorokin, Senior Software Engineer at lululemon
Dmitry focused on the power of collaboration and technical excellence to elevate his company's Anaplan ecosystem. He reflects:
"2025 was a year of collaboration and learning. I focused on simplifying complex model logic to reduce calculation times and enhance the user experience across our Anaplan Connected Planning ecosystem. I also partnered with engineering to streamline integration pipelines, improving data refresh speed and overall reliability."
Dmitry's goal for 2026: "I’m excited to continue mentoring new model builders while expanding my architecture expertise. I plan to explore new ways to leverage AI in model building, automated testing, and planning workflows."
Ekaterina Garina, EPM Consultant at Keyrus
Ekaterina spent her year strengthening Connected Planning by bridging the gap between finance and procurement for her clients. She explains:
"This year, I worked closely with clients to strengthen their FP&A capabilities in Anaplan, helping leaders gain clearer insights and make more confident, data-driven decisions. A major highlight was delivering equipment-level variance analysis that improved visibility into cost drivers and simplified performance explanations for stakeholders. Procurement reporting was enhanced through the introduction of clear price and volume impact breakdowns, enabling a deeper understanding of spend movements. These initiatives strengthened Connected Planning by aligning finance and procurement around shared outcomes and consistent insights."
Ekaterina's goal for 2026: "I look forward to continuing to deliver scalable, high-impact solutions that help organizations plan faster and respond more effectively to change."
Now, it's your turn!
What an inspiring collection of achievements! Now, I want to hear from YOU.
What was your biggest win of 2025? What are you looking forward to tackling in 2026? Share your story in the comments below!
Happy planning,
Ginger Anderson
Sr. Manager, Community & Engagement Programs
Re: TEXTLIST() vs [TEXTLIST:]
Ankit,
The function TextList, no matter how it is used, is bad on performance. Why, because it relies on Text and Text is evil due to the amount of "real" memory it uses. In the UX, text is approx 8 bytes, but in reality, it is (2 * the number of characters of the text string) + 48 bytes. So, the string ABC is really 54 bytes. And when you use TextList, those bytes start adding up very quickly. Take a look at the below, when you use text concatenation on 100 million cells

And that is only doing one concatenation, but with TextList, you can have multiple, just adding to it every character at a time which then blows the performance out.
Does this help?
Please let me know.
Rob
How I Built It: Codebreaker game in Anaplan
Author: Chris Stauffer is the Director, Platform Adoption Specialists at Anaplan.
My kids and I enjoy code-breaking games, and so I wondered if I could build one in Anaplan. Over the years, there have been many versions of code breaker games: Cows & Bulls, Mastermind, etc.
The object of this two-player game is to solve your opponent’s code in fewer turns than it takes your opponent to solve your code. A code maker sets the code and a code breaker tries to determine the code based on responses from the code maker.
I came up with a basic working version last year during an Anaplan fun build challenge. Here's a short demo:
If you would like to build it yourself, the instructions on how the game works and how to build it are below.
Game start: Code maker input
Player 1 code maker starts the game by going to the code maker page and choosing a secret four color code sequence using a grid drop down list. Code makers can use any combination of colors, including using two or more of the same color. You could set up model role and restricting access to this page using page settings to ensure the codebreaker cannot see this page.
Player 2 code breaker input
The code breaker chooses four colors in the first row attempting to duplicate the exact colors and positions of the secret code.
The code breaker simply clicks the first row in the grid, uses a list drop down to make color guesses and then clicks the Submit? button. A data write action writes a true boolean into the code breaker module to turn on the module logic checking, turns on DCA to lock the row submission, and provides an automatic calculated code maker response. Unlike the real board game, the code maker does not have to think about the response nor drop those tiny black and white pins into the tiny holes in the board — the calc module does the work automatically and correctly every time! I’ve been guilty of not providing the correct response to a code breaker attempt which can upset the game and the code breaker.
First guess
Below the code breaker selected blue-red-yellow-blue and clicked the Submit button. Since two guesses are the right colors AND in the right column position, the calculated response is “Black Black”, telling the code breaker that two guesses are in the correct position and are the correct color.
A black color indicates a codebreaker has positioned the correct color in the correct position. A white color indicates a codebreaker has positioned the correct color in an incorrect position. No response indicates a color was not used in the code.
Second guess
In the second row, the code breaker input green in Spot 1, but kept red-yellow-blue and now only has one color in the correct position (yellow spot 3), but gained insight that there are now three correct colors with two in the wrong position thus the black-white-white response.
Third guess
The code breaker selected blue-yellow-green-yellow and now has all the correct colors with only two out of position.
Fourth guess
You have to be a little lucky to break the code on the fourth guess, but hopefully by now you get the idea of how the game works in Anaplan.
The winner of the game is the player that solves the code in fewer guesses than the other player, so each player takes a turn as code maker and code breaker.
Conclusion
The model uses a lot of conditional formulas, text functions (&, MID, ISBLANK, FIND), and custom matching logic, to identify right color and wrong position matches (white) and right color right position matches (black). A very simple couple of UX pages makes it easy to allow for two player game. You’ll have to create the model roles for code breaker and code maker and set up the page security settings.
Attached is the line item export in case you are curious or want to build it yourself. There are probably multiple ways to build the logic or make the formulas more elegant, but it was for me a fun diversion.
Enjoy!




























