Return on sales (ROS): formula and calculation example
Return on Sales (ROS) shows what share of each hryvnia of revenue a company keeps as profit. The metric concentrates the effect of pricing, cost of goods sold, and operating expenses, and helps explain why a business is becoming more or less profitable.
What the Metric Measures
ROS reflects the “quality” of revenue and the resilience of the business model: whether the margin is being “eaten up” by discounts, rising COGS, or operating expenses. It is convenient for comparing segments and analyzing trends over time.
Calculation
- ROS (net margin), % = Net profit / Revenue (net) × 100
- ROS (operating), % = EBIT / Revenue (net) × 100
- For commercial efficiency, gross margin, % is also tracked (this is a different metric, not ROS)
Revenue must be excluding VAT/excise taxes, with uniform rules for accounting for discounts, returns, and commissions. Flag one-off effects separately to see the underlying ROS level.
Calculation example
Annual revenue is 12,000,000, operating profit 1,080,000 and net profit 780,000. ROS on operating profit = 1,080,000 / 12,000,000 × 100 = 9%, on net profit 6.5%. So every unit of sales earns 6.5 cents of net profit.
Data Sources
P&L in the ERP/accounting system (1C, etc.), sales/purchasing modules, COGS costing, SG&A registers, product/channel/region reference lists; agreed consolidation rules and exchange rates.
Interpretation
- ROS growth with unchanged revenue — the effect of price/mix, lower COGS, or cost optimization
- ROS decline with growing turnover — a risk of growth “bought” with discounts or overheated SG&A
- Break the change down into drivers: price, volume, mix, discounts, COGS, logistics, SG&A, FX
- Compare segments to find stable “islands of margin”
Useful Breakdowns
- Products / categories / SKUs, brands
- Channels: online, offline, marketplaces, distributors
- Regions, points of sale, managers
- B2C / B2B, new / repeat customers
- Seasonal and promotional periods
Dashboard Visualizations
- Trend of ROS, % by month with a year-over-year comparison
- Plan vs actual ROS with “minimum — norm — target” thresholds
- Waterfall/bridge of margin change (price, mix, discounts, COGS, SG&A)
- Map of ROS by segment (products/channels/regions)
- The link between ROS ↔ revenue/gross profit
How to Set Targets
Define target ROS ranges by category/channel, set discount limits, and control SG&A as a % of revenue. Review monthly/quarterly (rolling forecast), taking seasonality and FX into account.
Common Mistakes
- Mixing definitions (net vs operating ROS) in different reports
- Including VAT in revenue or inconsistent accounting for discounts/returns
- Incorrect classification of costs between COGS and SG&A
- Ignoring one-off items when comparing periods
- Comparing figures in different currencies without conversion
- Marketplace commissions are accounted for differently across channels
Questions for Discussion
- Which factors contributed most to the change in ROS this month?
- Where is margin being lost: price/mix, discounts, COGS, or SG&A?
- Which segments are consistently above/below the target level, and why?
- Which actions will add +1–2 p.p. to ROS in the next 4–8 weeks?