How it works
A pricing formula is made up of one or more rules. Each rule applies to a specific group of items, based on filters you define, and calculates a price using a strategy you choose.
BL Metrics applies the formula from top to bottom. As soon as an item matches one rule, the rest are skipped. That means order matters, and you can add broader rules at the end to act as fallbacks.
Filters
Each rule can have as many filters as you want, and they all must match for the rule to apply. Filters allow you to target items based on:
- Item type (e.g. part, minifig, set)
- Category or color
- Sales data, such as average price, quantity sold, or quantity listed, from a specific region or worldwide
- Inventory data, such as quantity in stock, remarks, or stockroom status
- Part metadata, such as availability, whether it's retired, or if it's a newly released part
This gives you precise control to create targeted pricing strategies for different parts of your inventory.
Pricing strategy
Once you've defined the filters, you choose how to price the matching items. Strategies are based on market data and can include:
- 6-month sales average (world or region)
- Current listing average (world or region)
- Any of the above, with a percentage adjustment (+ or -)
This lets you tailor your pricing for specific segments, like pricing high-demand parts more aggressively, or being more conservative with slow movers.
Default pricing
Sometimes, there may not be enough data to calculate a price using your selected strategy. In that case, you can define a default pricing fallback.
For example, if your strategy is "6-month average in Europe" but there were no sales in that region, you might fall back to "6-month average worldwide" or "current listing average".
This ensures that no item is left without a suggested price.
Using your pricing formula
Once saved, your formula is automatically applied to your inventory and used throughout BL Metrics, especially in:
- Smart Pricing: View and export updated prices based on your rules.
- Store Arbitrage: Compare other stores' prices against your own strategy to spot good deals.
While prices are calculated automatically, they are not pushed to BrickLink. You can review, filter, and export your updates through the Smart Pricing module giving you full control over what gets changed.
Note: there is currently limited validation on pricing formulas. If you notice that your prices aren't updating as expected, feel free to reach out. We'll gladly help debug and fix your formula with you.
An example pricing formula
Let's walk through a practical example of a custom pricing formula. The idea is to adapt your pricing based on how well items are selling, while still protecting your margins and using reliable market data.
The STR used in this example refers to the Sell-Through Rate, a metric that shows how quickly an item sells. The higher, the better. An STR of 50% means that the quantity sold in the last 6 months is equal to the quantity currently listed for sale.
Here's how the formula is structured:
- Parts with strong sales (STR > 40%) are priced 20% above the 6-month average in Europe. Since these parts are in high demand, pricing them a bit higher increases your margins without reducing your chances of a sale.
- Parts with weaker sales (STR < 40%) are priced 10% below the 6-month average in Europe. Lowering the price slightly can help move slower inventory faster and free up space or capital.
- All newly released parts, regardless of their STR, are priced 10% below the current listing average in Europe. This ensures you're competitive in a potentially volatile market where prices can drop quickly.
- All minifigures are priced 20% above the 6-month average in Europe. Since minifigs are often highly sought-after and collectible, a higher margin can usually be justified.
- For any item where there's no pricing data in Europe, the default fallback pricing is set to the 6-month average worldwide. This ensures that every item still gets a price, even if there's limited regional data.
- All rules include a cost-based limit set at 3× your MyCost value. This protects you from selling below a minimum profit margin, especially if market prices drop or fluctuate.
This formula gives you a pricing strategy that is both dynamic and safe, pushing prices higher when demand is strong, encouraging turnover on slower items, adapting to market volatility for new parts, and always ensuring you don't sell below cost.
Below is an illustration of how this formula would be configured in BL Metrics.
You'll notice that the rule for new parts has been placed at the top of the list. This is intentional: we want that rule to apply regardless of the STR. If it were placed lower, new parts would be matched by the STR-based rules before reaching the "new part" rule. An alternative setup would be to add a filter like "old part" to both STR rules, ensuring there's no overlap.
There are always multiple ways to structure your pricing formula. The key is to choose the method that works best for your workflow, whether that means minimizing the number of filters or simplifying the rule order. Just make sure the logic flows the way you expect.
Summary
The pricing formula gives you a flexible, powerful way to define how you want to price your store, and lets BL Metrics do the heavy lifting. Once configured, it helps you stay competitive, protect your margins, and respond quickly to market changes.