Last week, I discussed how we can transform raw inventory data collected from an e-commerce website into detailed daily unit sales and revenue figures for each product. To recap, the process involves several key steps:
Collect inventory level data at regular time intervals, at the product or at the variant level.
Transform absolute inventory levels into differences to capture the number of units sold during each interval.
Filter out any stock replenishments that cause inventory levels to increase.
Apply the Median Absolute Deviation filter to remove remaining outliers.
Perform imputation on any missing values.
Let’s see what questions we can answer with this data, using one specific company as an example. We will look at Figs Inc., a retailer dedicated to healthcare professionals. Figs primarily markets directly to consumers through their online platform, making them a prime example of a direct-to-consumer (DTC) success story in a niche market. As we dive into the data, we'll explore how Figs’ inventory levels and derived sales estimates can provide insights into their operations. All analysis presented in this article is based on inventory data collected from the Figs’s ecommerce platform, specifically their app, from September 2023 to the present:
Before we go into the details it is important to understand what our data represents and if it has any known blind spots. We should note that this dataset does not include transactions from Figs' B2B wholesale operation nor from their offline retail initiative (Community Hubs). Additionally, as Figs pushes towards global market penetration, a key point of investigation will be whether our data captures non-U.S. transactions.
Understanding Category Mix
One of the strategic directions for the company is to diversify its product offering. A quote from the Q1’2024 earnings call trascript:
Our limited edition scrub ware has doubled in the past year. And our non-scrub ware was 18.6% of the business last year, it's 20.5% as of this past quarter. And so, really seeing innovation, really seeing this diversification across category to move beyond an e-com scrubs business.
Diversification from the scrubs business is significant enough that the company provides a breakdown of scrubwear and non-scrubwear sales in their quarterly presentations.
Let’s see if we can track this split ratio with our data on an ongoing basis. Our SKU-level dataset contains the 'Product Type' field, which neatly labels each product. We can use this field to group all product types into two categories: scrubwear and non-scrubwear, and track how these two categories perform relative to each other.
Looking at the mix over the last three quarters, we observe that the ratio is relatively flat, with a slight shift towards non-scrubwear during November and December of 2023. This spike could be seasonal, and once we have more than one year's worth of data, we will be better positioned to assess if this is a normal seasonal pattern.
Conclusion: While the company is actively pushing into the non-scrubwear category and has managed to substantially grow that part of the business, the split ratio has remained realtively stable over the last three quarters.
Tracking New Product Launches
During the Q1'24 earnings call, the CEO of Figs highlighted the impact of their recent new product launches:
In the first quarter, we saw strong engagement generated by new products, including our On-Shift Sherpa Bomber Jacket, Seville ScrubLegging, and Isabel Wide Leg Scrub Pants. […] so that dynamic of launching new products, new innovation that has really been exciting year-to-date is driving not only engagement in those styles and engagement in those categories, but also engagement in the core.
Let’s put our data to the test and see how these new products have performed since their launch. We'll evaluate their contribution to overall revenue and compare them to some other products that were launched last year. First, we look at the revenue generated by new products, normalised versus reported revenue:
Conclusion: Examining the revenue generated by these new products as a percentage of total revenue, we conclude that the combined revenue generated by the On-Shift Sherpa Bomber Jacket and Seville Scrub Legging in Q1’24 was around 2.6% of total revenue in the first few weeks after the launch. However, it’s important to note management’s comment that the new product launches are also driving core sales, suggesting a positive impact beyond direct revenue figures.
Another way we can assess the success of any specific newly-launched product line is to baseline our data to the product launch date and analyse the cumulative sales generated since. For context, we can include a comparison with the 'Sebina' product line, which was launched in Q3 of the previous year. Initial observations indicate that the newly launched products, particularly the 'Seville' line, have outperformed the ‘Sebina’ line in the first 60 days post-launch. This success could partly be attributed to the timing of the Seville launch, which coincided with Figs’ early March promotional sale.
Understanding Inventory Levels
Managing inventory levels is a critical issue for many retailers, and FIGS is no exception. This topic is often discussed during earnings calls. In the most recent earnings release the company reported a 28% reduction in inventory levels in Q1'24 compared to Q1'23, although there was a slight increase from Q4'23. In theory, these inventory levels should be directly calculable from the our collected inventory data without requiring additional transformations.
However, we must be cautious of certain quirks in our data. For example, our dataset includes non-physical product types such as digital gift cards and add-on customisations, which might have their own SKUs. The system reports inventory levels for these items, but we understand these figures do not represent physical stock. Occasionally, inventory levels are reported as negative or arbitrary values like '999,999'. While these anomalies do not impact our sales tracking—since we focus on differences rather than absolute values—they do require us to refine our approach to monitoring actual inventory levels.
The chart illustrates inventory levels over the last three quarters after excluding certain non-physical products from the dataset. We observe several dips corresponding to sales periods, typically followed by a replenishment shortly after the sales conclude. Interestingly, we did not observe the usual pattern of stock replentishment after the end of the most recent promotional period in May 2024. Notably, the inventory levels at the end of Q4’23 and Q1’24 were lower compared to the end of Q3 the previous year.
Tracking Revenue and Average Unit Retail (AUR)
In their quarterly reports, Figs provides details on the Average Order Value (AOV), defined as the net revenue divided by the total number of orders. These reports often include commentary on factors influencing AOV change: Average Unit Retail (AUR) and the number of units per transaction. AUR effectively reflects the average price per item sold.
Unlike conventional web scraping approaches that primarily focus on tracking listed prices and discounts, our transformed dataset enables us to estimate the average value of units sold by monitoring inventory changes. This approach provides a more insightful analysis of product movement and sales trends, extending beyond simple price monitoring.
It is important to clarify that while our dataset allows us to track AUR, we do not capture data on the number of units per transaction. Furthermore, our analysis is based on Gross Sales, which unlike Net Sales, do not factor in returns and cancellations. Consequently, our AUR calculations might not align with the figures reported by Figs.
As expected, we’ve observed three significant dips in the AUR: the first during Black Friday in November, the second in the first week of March coinciding with Figs offering 40% discounts on select products, and the last one in May, during the Nurses Week promotional event. Tracking pricing requires very close attention to detail. For example, during the recent Nurses Week, discounts were applied at the checkout stage of the purchasing process. We relied on some additional attributes to identify products eligible for the promotion, rather than solely depending on the prices listed on the product pages. Breaking down AUR by product category we can see that the non-scrubwear category is generating significantly higher average price.
Now lets look at revenue over the analysed period.
Analysing revenue trends, we can identify expected surges coinciding with promotional events, such as Black Friday and the Nurses Week in May.
One of the objectives of our analysis is to have the ability to 'call the quarter'—effectively nowcast the company’s revenue on an ongoing basis and make an estimate of quarterly sales prior to the official quarterly earnings disclosures. I believe that this dataset has the potential to provide one of the most accurate daily indicators of reported sales for Figs, given its detailed capture of unit sales and average item value. However, it would be too early to make any assessment of the predictive strength of this dataset, as more historical data will be needed for validating its forecasting potential.
We have shown how web-extracted inventory data can provide near real-time insights into crucial operational metrics, giving us an early glimpse into company performance and new product launches. With the proper analytical approach, granular SKU-level data has tremendous potential that extends beyond simple price monitoring or inventory availability checks.