Question

Ok, so this is not the most advanced programming question - and it kind of borders on e-commerce, but it has specifically come up twice in my career - which is only 10 years old, so I figured I would ask it.

Question: I want to markup a price 10% from its original cost for a website, which is the proper way to do it:

NP = (P * 1.1)

or

NP = (P / 90) * 100

Where P is the original Price and NP is the New Price?

Background: I am a web developer. I have worked on several e-commerce sites in my time. A few years back, I was building a freelance site for a tool shop. The guy had been in business for years and was moving into online sales. I wrote a script that took his core inventory list, cycled through it and automatically marked up the price 10% before inserting into the Database. I used formula #1. When he reviewed it he said the price was too low and to use formula #2.

Using formula #1, a 15 dollar product is now equal to 16.5, using two it is $16.66.

His logic was that 15 is 90% of $16.66 and thus 16.66 a 10% markup, by which 16.5 is only about a 9% markup.

Flash forward a few years to today and and I hit the same problem. My company has a massive list of inventory that gets marked up and down in a number of ways. Our old DBA was marking up the price for distributors 10%. He was using formula 1. Our new DBA rewrote a stored procedure and started using formula two.

A few people flipped out and started saying that the distributor prices were way too high and that the old formula was correct. We sell large quantities of relatively low-cost items, the fear is that our distributors would balk at the cost.

Logically it seemed that formula #1 was the proper way to markup, but the experienced business owner told me the other way was. Now I am hearing people say the opposite.

EDIT: My Using the original 15 example. It has always seemed to me that 15 is actually a 10% markdown of 16.66 where as 16.5 is the proper 10% markup of 15.

No correct solution

Licensed under: CC-BY-SA with attribution
scroll top