@beamylake opened this Issue on May 25th 2020


we've encountered a suspected bug in the ecommerce reporting section:

When looking at the monthly totals, it seems that the total revenue of a product is wrongly calculated if the average product quantity is bigger than 1. And the bigger the average product quantity is the bigger the error margin gets for this particular product.


When you take a look at the red marked example in the screenshot:

The product has a price of € 4,99.

This price multiplied with 344 (the quantity) gives a total revenue of € 1.716,56, which is the correct number. When you take the average price (€ 22,89) and multiply it with the number of unique purchases (75) the result is 1.716,75 which we also consider correct (disregarding the rounding margin).

But Matomo calculates the product revenue as € 11.107.70 - a number which we don't know, where it derives from.

We've checked the tracking input to Matomo and the prices were tracked correctly. That's why we suspect that Matomo somehow miscalculates the totals.
We are running Matomo 3.13.5 - if you need any further information please let me know!

Thanks a lot in advance!

@tsteur commented on May 26th 2020 Member

Look like all other values except the product revenue look good. Interestingly the revenue for most other products looks good too?

Looking at the code the revenue should come from SUM(log_conversion_item.quantity * log_conversion_item.price)

Is there maybe anything different about this product?

Are you looking here at a daily view or weekly or monthly? In case you are looking at weekly or monthly, are some of the daily reports correct? Or all of them? Can you see the wrong data also for other periods?

@beamylake commented on May 26th 2020

The values besides the overall revenue are ok, but it's not only that particular product that is effected.

Basically all products are affected of this behaviour where the average quantity is bigger than 1, while products where the average order quantity equals one show the correct overall revenue.

You can easily check that by multiplying average price and unique purchases - the result of this multiplication matches the correct revenue for the product.

The screenshot above is from the monthly report, but this bug also occurs in the other report periods.

@sgiehl commented on May 26th 2020 Member

That is actually caused by the way the values are currently calculated and will only occur if you have the same product tracked with different prices.

Product Revenue = sum of quantity * price of each order
Quantity = sum of quantities of all order
Unique Purchases = Number of total orders
Average Price = Sum of all prices divided by unique purchases
Average Quantity = Sum of all quantities divided by unique purchases

So assuming we have this product orders

Quantity Price
4 3,50 €
1 2,00 €

That will result in this values

Product Revenue Quantity Unique Purchases Average Price Average Quantity
17,5 € 5 2 2,75 € 2,5

As you can see there is actually no way to calculate the 17,5 € with the other numbers shown.

@beamylake When you track a product with a quantity bigger than one, do you send the price for a single product, or the sum for all?

@beamylake commented on May 26th 2020

I'm sorry but I'm a bit confused, please help me out.

When I sell a product 344 times with a price of € 4,99 (red marked in my first post), how does Matomo come up with an overall product revenue of € 11.107,70 ? That would be a price per unit of about € 32, which is way too high for that product.

Imho the overall product revenue should be 344 x € 4.99 which is the correct number of € 1.716,56
Both numbers (price of € 4,99 and 344 sold items) have been confirmed through webshop backend reports. The price of this product has not been changed for the last 4 months (we're talking about the report for April here) and it's the same for all countries this product is sold to.

Regarding your question, I will check that and let you know.

@sgiehl commented on May 26th 2020 Member

That was just en example why the value can differ if you product price changes. But looking at the numbers of your report I would actually assume that you send the sum for all products instead of the price of a single one.

Your average price is reported as 22,89, but should actually be 4,99 if the price didn't change. If you divide your average price through the average quantity, you actually get something around 4,99...

@beamylake commented on May 27th 2020

Good morning,

I've got feedback from our devs and, as you suspected, it was the overall price that has been tracked and not the particular product price. So the error was clearly on our side.

Thanks for your patience and for pushing us in the right direction!

This Issue was closed on May 27th 2020
Powered by GitHub Issue Mirror