On this page
Dishonest shopkeeper problems are a staple of competitive exams like JEE Main, SSC and school maths. They test your understanding of cost price, selling price, and how percentages compound. The most common trap is dividing the profit by the weight the customer *thinks* they are buying, rather than the weight the shopkeeper *actually* gives.
Here is how to calculate the true profit percentage when a shopkeeper uses a false weight, and what happens when they add a markup on top.
What is the profit percent when 900 g is sold as 1 kg?
Imagine a shopkeeper claims to sell goods at exactly what they cost him. However, he uses a false weight, giving only 900 g for every 1 kg (1000 g) requested.
To find the profit, we look at the cost of what was handed over versus what the customer paid for. Let us say 1000 g costs ₹100, which means 1 g costs ₹0.10.
Cost Price (CP): The shopkeeper gives 900 g. The cost to the shopkeeper is ₹90.
Selling Price (SP): The customer pays for 1000 g. The revenue is ₹100.
Profit: SP − CP = ₹100 − ₹90 = ₹10.
In business, a markup or profit percentage is calculated as the profit divided by the cost (Wikipedia: Markup)).
Profit % = (Profit / CP) × 100 Profit % = (10 / 90) × 100 = 11.11%
By saving 100 g on a 900 g investment, the shopkeeper makes an 11.11% profit, not 10%. If you regularly face roadblocks in these steps, Fermi's AI tutor works out what you already know and builds a plan for the session, noticing where you are stuck and deciding whether to explain, ask, or show.
How to calculate the profit percentage of a false weight?
If the shopkeeper claims to sell at the cost price but uses a false weight, the formula simplifies to:
Profit % = [ Error / (True Value − Error) ] × 100
Where:
True Value is the weight the shopkeeper promises (e.g., 1000 g).
Error is the weight stolen (e.g., 100 g).
True Value − Error is the false weight actually used (e.g., 900 g).
This confirms our earlier calculation: (100 / 900) × 100 = 11.11%.
How to find profit percent when a markup and false weight are combined?
Shopkeepers often combine two dishonest methods: they mark up the price *and* they use a false weight.
Suppose the same shopkeeper marks his goods up by 10% but still uses the 900 g weight for 1 kg.
Cost Price (CP): He gives 900 g, which costs him ₹90.
Selling Price (SP): He charges a 10% markup on 1 kg (₹100), making the selling price ₹110.
Profit: ₹110 − ₹90 = ₹20.
Profit %: (20 / 90) × 100 = 22.22%.
The combined effect is far greater than adding the two 10% advantages together.
What is the profit percent when cheating happens while buying and selling?
A classic variation of the dishonest shopkeeper problem involves cheating at both ends of the supply chain. The shopkeeper might cheat the wholesaler by taking more than what is paid for, and then cheat the customer by giving less than what is requested.
Suppose a shopkeeper claims to sell goods at cost price, but cheats by 10% while buying and 10% while selling.
Cheating while buying: The shopkeeper takes 1100 g for the price of 1000 g. If 1000 g costs ₹100, they get 1100 g for ₹100. Their actual cost for 1 g is ₹100 / 1100.
Cheating while selling: The shopkeeper gives only 900 g but charges for 1000 g (₹100).
This double cheating creates a compound effect on the final profit, which can be quickly found using the multiplying factor approach.
The multiplying factor method for dishonest shopkeeper problems
When a problem has multiple markups, discounts or false weights, tracking costs step-by-step can get messy, much like quadratic word problems in Class 10. Instead, you can use the multiplying factor (or ratio) method to find the ratio of Selling Price to Cost Price (SP/CP).
For the shopkeeper with a 10% markup and a false 900 g weight:
From the markup: A 10% markup means the customer pays 110% of the price. Multiplier = 110 / 100.
From the false weight: Giving 900 g for 1000 g means the shopkeeper gets paid for 1000 g while only supplying 900 g. Multiplier = 1000 / 900.
Multiply them together to find the total SP/CP ratio: Net SP/CP = (110 / 100) × (1000 / 900) = (11 / 10) × (10 / 9) = 11 / 9
Since SP is 11 parts and CP is 9 parts, the profit is 2 parts on a base of 9. Profit % = (2 / 9) × 100 = 22.22%.
For the shopkeeper cheating on both buying (10%) and selling (10%):
Buying multiplier: Taking 1100 g instead of 1000 g for the same price gives a multiplier of 1100 / 1000.
Selling multiplier: Giving 900 g instead of 1000 g for the same price gives a multiplier of 1000 / 900.
Net SP/CP = (1100 / 1000) × (1000 / 900) = (11 / 10) × (10 / 9) = 11 / 9
The profit is exactly the same: 22.22%. You can chain as many discounts or cheating steps as you like using this method, which is mathematically similar to calculating net concentrations when mixing and diluting solutions.
If you want to practise more examples of finding the true profit percent, the Fermi Problem Library has worked problems with a step-by-step solver that explains the reasoning rather than printing an answer.



