E-COM & DATA
SEp - nov 2022
FINANCIAL FORECAST
MODULE
Consolidating marketing, financial, and inventory data to help you make better projections, the forecasting module puts users at the forefront of forecasting. We bring them current and past marketing, financial, and inventory data, while they customize and cater forecasting models to their wants and needs.
A Macbook laptop with screenshot of image from a painless payment flow
Responsibilities
users icon
UX Research
bars icon
Market Research
target icon
Problem Definition
pen tool icon
IA & Wireframing
connection icon
Hi Fi Design & Prototyping
Project Requirements
Inventory Forecasting
When a DTC brand doesn't know how much stock they will have 6, 3, or even a month from now, running a business becomes difficult. Best-guess approximations of how much inventory to order may fail given market conditions, marketing campaigns, sales, etc. Having accurate past and present inventory data gives users the ability to forecast inventory. Getting reminders about low-stock SKUs and seeing how replenishment orders will shape sales and revenue leave business owners with no surprises.
Proposed Solution
Automatically notify users when a particular product/SKU is running low on stock and allow the user to see how taking action will impact future sales and revenue. Based on the lead time, show users when they can expect their inventory to arrive. Allow users the option to modify lead time, average daily sales, sales velocity, minimum days of stock, and days of stock remaining so that users are fully in control when it comes to predicting their inventory.​​
Editing Models & Formulas
​​Forecasting is all about seeing how metrics like budget, revenue, sales, AOV, etc change when other metrics are manipulated. Business owners know their business best and need clarity into what goes into forecasted values.
Proposed Solution
Enable users to edit any forecasted (projected) cell values. Give users the option to modify formulas and how those formulas are calculated. Show users, in real time, how a given change in a projected metric affects their business. Provide users the option to go as granular or broad as they want with their projections by nesting models and allowing the user to make forecasts at various levels. Enable users to save, edit, and share their forecasts as scenarios so that they can revisit and compare forecasts to envision different business outcomes.
Research
Since this product is an extension of the finance dashboard, FinHub, we reached out to users who already expressed their interest in forecasting when being interviewed about their concerns around finance.



From these interviews, inventory and cash flow forecasting were two main pain points that kept resurfacing. Interviewees mentioned their frustration with not knowing how much stock they will have on hand in months to follow as one reason for running out of stock. By not having clear visibility on their projected cash flow, they could only rely on their best judgments as to which areas of their business to spend their money on and which areas to cut back on.



After analyzing these interviews, we became aware of the close link between inventory and forecasting. As such, we focused a big part of the project looking into inventory solutions already in existence today and how the marketing data that Triple Whale currently holds today can differentiate this forecasting module from competitors. ​
Comparative Analysis
Pry Finance
Pry Finance draws heavily on the functionalities available in Google Sheets and Excel, specifically in their table portion. However, it also includes graph sections to convey information in a visual format.

While the customizability of the platform is very broad, it has a high learning curve - it is unclear to someone with little experience in finance how to adjust formulas, how to set forecasting date ranges, and which metrics/data points are most important for owner-operators. As such, it contributes a heavy cognitive load on users​.
Bare Metrics
Bare Metrics offers similar customizability options as Pry Finance. It makes it easy to see and manipulate forecasts for any specific metrics. ​

As with Pry Finance, it is easy to become overwhelmed by the many features offered. It is unclear (from a glance) how the data connects to each other and how manipulations in one metric affects another. Since it provides users with past, actual, and forecasted data, the date pickers tend to confuse the user as to which data is editable and which is not.
Key Problems
Problem 1: Cognitive Load
After speaking with users and showing them the prototype, we learned that many of the users found it to be very data-intensive. There was a lot of models and sub-models being shown in the data at once and parsing through so many metrics may seem daunting to users. As such, I began to think through how we can reduce the amount of content (data) on the screen and, instead, allow the user to choose which models and data they want to see.
Proposed Solution
1. Users select as many (or as few) models they want in the top "Models" bar. The models they select translate to which metrics they are able to choose to display in the graph. Again, here they can choose as many or as few as they want. In the previous iteration, they could have only selected two. This redesign allows them to visually stack and compare data points for various metrics all at once.
2. Users can drag any of the data anchor line points which gives them another option of editing their forecast. Originally, they could only do this by going into the table and changing values for projected cells. However, I realized that this approach may not be the best approach, especially for users who are more visually oriented and don't have a specific number in mind when editing projected cells.
mockup showing model selector with chips in graph
Note the model selector tab above the graph. Based on the selected models, the user can then add metrics that fall under the selected models in the ‘add metrics’ bar at the top of the graph. The table data also reflects the selection of the models.
Problem 2: Inventory Management
Another feature need that users communicated upon seeing the first design iteration concerns that of forecasting for products or SKUs that are included in a sales promotion/marketing event. Given that these sales last a defined period of time and may greatly affect stock, revenue, etc. of given products or SKUs we added an option for users to add a marketing event.
Proposed Solution
The way I tackled this is by drawing inspiration from Cogsy, an inventory management solution for ecom brands. This solution was based on users who mentioned wanting the option of manually entering a multiplier that they believed would be the impact of a marketing event affecting certain products.
marketing event dialog flow
Note the "Add marketing event" CTA which opens a popup that allows users to select the event date range, event type, and the item type they want the manually inputted multiplier to pertain to.
Problem 3: Accessibility & Visual Noise
A small issue I realized about the initial design was the lack of contrast when "Color Code Variance" was toggled on. Since this feature highlighted all projected cells in either green or red (depending on whether the projection was met or not), the dark blue body text on the highlighted cell was hard to read.
Proposed Solution
Coupled with the grayish background of columns, I realized that in order to reduce the visual noise and make the design more accessible we could have a small red or green line next to projected cells when "Color Code Variance" is toggled on.
table with colored cells (green/red)
Before: colored cells hinder visibility and contribute to visual noise
table with green or led vertical line
After: subtle demarcation of color code variance that doesn't hinder visibility
Problem 4: Technical Constraints
Another issue that was brought to my attention by the developers on our team was that the inventory portion of the table was not technically possible. The dropdown within the inventory model and the metric selector (with arrows for the users to scroll through the various meta data metrics) could not be developed easily. As such, we decided to mitigate this problem by having the inventory model be a separate table. This gave us the space we needed to move the 'sort by' dropdown outside of the model view. While this was an easy fix, we still didn't know how best to represent the meta data that the user would be able to edit in the inventory portion (such as lead time, average daily sales velocity, etc.).
Proposed Solution
I brainstormed several solutions:
1. Moving the month columns/cells further right to give enough space for the meta data metrics to fit without the user having to scroll through them. However, we abandoned this idea as we realized the gap between the model name and the cell values would be to wide for all the other models, thus making it hard to easily see which model belonged to which line of cells.
2. Having the dates for the inventory section start further right than the rest of the models. This idea was abandoned as we realized that this option would hinder scannability of the cell data if the inventory cells and months were indented further right from the rest of the models.
3. Moving the meta data selector outside of the inventory section where the user could flip through the metrics in the column by clicking on the arrows. This idea was not pursued because it would be difficult for the user to know that the outside meta data selector related to the metric within the column. It could easily be confused with the arrows serving the function of flipping through different views of the inventory section.
4. Moving the meta data metrics after the month column metrics so that the left hand side of all the models is aligned. While this idea seemed to work well, it would necessitate extending the width of inventory model table which would throw off the balance when looking at the width of the other table with the remaining models.
5. Moving the meta data column selector outside of the table (next to the 'sort by' dropdown) and have it be selected with a radio button. While this idea seemed to work well in theory, upon mocking it up, we saw that the width of the radio group selector was further right from the meta data column that was right next to the product name/SKU which could confuse users as to which portion of the inventory section it is referring to. To fix this, we decided to show this meta data selection as another dropdown. To save more space, we moved the dropdown prompt (placeholder) text for both the sorting and meta data column selectors into the dropdowns themselves. This allowed us to align the 'sort by' dropdown with the item name and the meta data dropdown with the meta column data.
sort menu within table
Before: technically impossible to have sort by dropdown within this table and the meta data column selector within the table
sort menu outside table
After: moved 'sort by' and meta data selection into dropdowns outside of the table left-aligned with the columns they relate to
Hi-Fi Mockups
trend view showing bar graphs against a dark blue background
Trend view of graph
line graph view in laptop mockup
Above-the-fold view: line graph
table view in a mobile phone mockup
Mobile view of data table
line graph view with forecast projection
Line graph view with forecast projection
Prototype
Project Reflections
Insight: Syncing up with devs prior to completing higher mockups to ensure technical feasibility of design.
As I elaborated in the discussion of problem 4 where the inventory section could not be developed the way the design dictated it to be, I wish I was able to meet with and get approval on earlier mockups with developers, which would have saved my team and I additional work. The asynchronous hand-off of designs to devs makes it difficult to foresee which elements of a design need to be rethought. It also lends itself to devs having to come up with alternate solutions in the meantime, which not only forgoes collaboration but eliminates the type of teamwork that is necessary for the deployment of any product of this caliber.
Insight: Never seeing any iteration (no matter how high-res it may be) as the final and only solution.
As this project demonstrated, there will always be improvements to make, whether those be in terms of restructuring certain elements, increasing functionality, or improving overall UX. Being able to separate yourself from the design, regardless of how much time has already been dedicated to a particular iteration is imperative to a fast-paced, iterative design process.
AI-Powered Rules Engine
arrow - right icon