Solving Analytical Problems: Working-backward Approach
Published: 2022-02-21 10:36:40

When working on any kind of analytical problem, the first solution that comes to mind is using the technical approach. We try to over-index into it from the solution point of view using Data Science, Machine Learning, Data Engineering, Descriptive Analytics, etc. Traditionally, we start with defining the problem and figuring out the result strategy, this may lead to sub par solution which may not be optimal.
Using traditional methods isn't always the most efficient strategy, Sometimes, reverse-engineering the problem can yield far better results. 
In this post, we’ll talk about the working-backwards approach through a business lens. In this case, we flip the process upside down, first studying the intended effect, and devising the process of reaching it. This method consists of 4 steps:

**Step 1: Understanding the problem**
First of all, we need to understand the business problem in detail and find out what exactly is going on, what is impacted, why the end-user needs a certain solution and, once solved, what kind of impact it will create. This step requires a business understanding of the domain to start with and taking the problem point into account. We need to define the scope of the problem, finding a logical block or a bottleneck. It is very important to clarify how the user sees it as well. 
This step is crucial as it determines the end result impact alignment with the business expectations and shapes the process of solving the problem in a bottom-up way. It may be necessary to look for an opportunity to buy, build or reuse paradigm at inception.

**Step 2: Data-driven exploration**
This step is most underrated as mainly we do the exploration with a solution in mind, leading us to a blind spot. I am not saying that subject matter expertise is not helpful, but, as a rule of thumb, we have to sense check from all perspectives and co-relate. One way to look at data-driven exploration is to use any python library to explore the problem using statistical methods and describe it as it is stated. Another way is to define data in business contextual language with experiments rather than just statistics which can lead to A/B testing kind of approach or operational research etc. The end result will determine potentially the entitlement value of the business problem and direction for strategy.

**Step 3: Scoping the problem**
In this step, based on what we managed to learn during the previous step, we scope the problem and try to remove any possible ambiguity. We need to carefully consider all the objectives and requirements necessary to complete the project, and estimate the time and costs. We can now set the key milestones and summarise the process, describing it profoundly. 
This is a fundamental step towards success, and the stakeholders and tech team have to agree on how they are going to move forward from here, as after this any misalignment will create churn and rework. 
It is important that every step of the process is clearly explainable and the performance metrics are shared and discussed.

**Step 4: Defining and dissecting the problem into parts**
A business problem is not an ML problem or a descriptive one, it’s an amalgamation of describing it, applying ML for particular data pointers, with Data Engineering at its core. Once we break the problem into parts, we can assign a team to solve each of them or set the dependency matrix to proceed. This may include setting a data pipeline, doing descriptive analysis and predicting or prescribing the insight and co-related actions on top of it.
Once the outcome is defined, we go into validation and further consumption of data to run programmes so that action can be taken to capitalise entitlement. We can create a mechanism to have an automated hands-off-the-wheel insight to action loop and have it go on for as long as we need, saving the teams’ time and effort.

**Conclusion**
In conclusion, the working-backwards approach is the perfect method to implement when we want to be sure that the results of our work are going to meet the user’s expectations exactly, and it allows us to structure the process of problem-solving in such a way that the decisions it leads to are more precise and beneficial.