Moving Average Cost

This article details the Moving Average Cost (MAC) valuation method within Stock&Buy.

Why is the moving average cost important

One of the difficulties small to medium businesses face is estimating the monetary value of their total inventory at any point in time. Keeping such records accurate is a must for a healthy inventory management to better serve the needs of its customers.

There are various accounting principles that are used by a business, some of which are applied to keep track of goods sold and goods in stock. One of these principles is the average cost, wherein one of the methods is called moving average cost. When using the moving average inventory valuation method, the average cost of each inventory item in stock is re-calculated after receiving inventory purchase orders. This inventory valuation method falls in-between those derived under the first in, first out (FIFO) method and the last in, first out (LIFO) method. This averaging approach is considered to yield a safe and conservative approach to reporting financial results.

When to use the moving average cost valuation method

Since the moving average cost changes whenever there is a new purchase, the method can only be used with a perpetual inventory tracking system; such a system continuously updates inventory items as goods are received. You cannot use the moving average inventory method if you are only using a periodic inventory system, since such a system only accumulates information at the end of each accounting period, and does not maintain records at the individual unit level.

The moving average cost valuation method assumes that all units of the same product family carry similar costs. This valuation method might not suit your business if your units of the same product carry different costs. 

Tracking your moving average costs

You can track your moving average costs in a spreadsheet and manually update the values when you receive purchase orders. To avoid mistakes and tedious manual work, we highly recommend that you automate this operation either via macros in your spreadsheets or by using a computerized program. 

The moving average cost equals the total cost of the items purchased divided by the number of items in stock. The cost of ending inventory and the cost of goods sold are then set at this average cost.

When calculating your moving average costs, make sure landed costs are captured and factored into the purchased goods cost.

Moving Average Inventory Method Example

ECMA is an international corporation specialized in selling widgets. ECMA has 10 widgets in stock as of the beginning of June, at a cost per unit of $5. Thus, the beginning inventory balance of  widgets in June is $50.

ECMA then purchases 250 additional widgets on June 10 for $6 each (total purchase of $1,500), and another 15 widgets on June 20 for $7 each (total purchase of $105).

In the absence of any sales, this means that the moving average cost per unit at the end of June would be $6.0181, which is calculated as a total cost of $1655, divided by the total units count of 275 widgets. Thus, the moving average cost of the widgets was $5 per unit at the beginning of the month, and $5.88 at the end of the month.

PeriodItemUnits countCost per unitTotal inventory value
June Opening BalanceWidget10$5$50
June 10thWidget purchase250$6$1500
June 15thWidget purchase15$7$105
June End Balance 275$6.0181$1655

The example above is simplified as there are no sales recorded in the period of June. Let’s now dive into a more elaborated example, but this time, we will include several sales.

Note: Remember that we recalculate the moving average after every transaction.

ECMA International has 275 widgets in stock as of the beginning of July, at a cost per unit of $6.01. It sells 100 of these units on July 5, and records a transaction to the cost of goods sold of $601. This is calculated as 100 units x $6.01 per unit.

This means there are now 175 units remaining in stock, at a cost per unit of $6.0181 and a total cost of ~$1054.

ECMA then purchases 100 additional widgets on July 10 for $10 each (total purchase of $1000). The moving average cost is now $7.46, which is calculated as a total cost of $2053 divided by the 275 units still on hand.

ECMA then sells 200 units on July 12, and records a transaction to the cost of goods sold of ~$1493, which is calculated as 200 units x $7.46 per unit. This means there are now 75 units remaining in stock, at a cost per unit of $7.46 and a total cost of ~$560.

PeriodLabelUnits countCost per unitCost of goods soldTotal inventory value
July Opening BalanceWidget balance275$6.0181 $1654
July 5thWidget Sale-100$6.0181$601$1654 – $601 = $1053
July 10thWidget purchase100$10 $1053+$1000=$2053
July 10thWidget balance275$7.46 $2053
July 12thWidget Sale-200$7.47$1493$2053-$1493=$560
July 31stWidget balance75$7.47 $560

Thus, for the month of July, ECMA begins the month with a $1654 beginning balance of widgets at a cost of $6.01 each and finally closes the month at a unit cost of $7.47.

You can see that the cost per unit changes following an inventory purchase, but not after an inventory sale.

Special considerations for negative stock levels

It is very common for made to order businesses to have negative stock as these sell items before acquiring them. In such cases, the moving average cost calculation does not account for the existing negative stock next time it is reevaluated.

PeriodLabelUnits countCost per unitCost of goods soldTotal inventory value
August Opening BalanceWidget balance75$7.47 $560
August 5thWidget Sale-100$7.47$747$560 – $747 = -$187
August 10thWidget purchase100$10 $0*$1000=$1000
August 31stWidget balance75$10 $750

You can see that the negative inventory on August 5th is ignored when reevaluating the moving average cost on August 10th.


The moving average costing is a simple, yet very powerful and accurate valuation method for your inventory. You can manually track your moving average cost for your products on on paper or spreadsheets. This can quickly become a daunting task as your inventory grows. As your business scales out, you’ll want a software package to automatically run the math and reevaluate your moving average cost.

Stock&Buy handles all of these important, continuous calculations on the back-end so that you can focus on other aspects of your business. We think this method of cost tracking works very well for a lot of small businesses, so we’ve made it the default costing method in our own software. If you just start using Stock&Buy, it will automatically use the moving average formula so that you can see how unit cost has changed over time.

Was this post helpful?
Let us know if you liked the post. That’s the only way we can improve.
Close Menu