How to calculate return on investment - Learn how to calculate the return on investment in your SMB. Guide with formulas, examples, and tips to measure your ROI
A social media campaign is launched for a coffee shop in Puebla. A coupon is sent via WhatsApp in a bakery in Yucatan. A promotion is printed for a car wash in Nuevo León. The money goes out fast. The hard part comes later: knowing if it actually returned.
That is the point where many SMBs with physical stores get stuck. They see movement, notice more messages, perhaps more visits to the premises, but they cannot clearly answer which action sold, which only generated noise, and which consumed budget without leaving a profit. That is where understanding how to calculate return on investment stops being a financial issue and becomes an operational discipline.
When the business measures well, it stops making decisions on hunches. It can compare branches, campaigns, channels, and promotions with the same logic. It can also detect something that almost always goes unnoticed: a campaign may seem profitable if you only look at the visible spending, but look very different when staff hours, discounts, commissions, and follow-up are included.
Table of Contents
Do you invest in marketing without knowing if it works?

The doubt that repeats in physical businesses
A coffee shop in Puebla launches a drink and sweet bread promo. During the week more customers come in, but it also coincides with payday and an event near the location. The owner sees more cash, although he does not know if the increase came from the campaign or from the context. Without that difference, the business learns nothing useful.
In a car wash in Monterrey, something similar happens. Flyers are handed out, an offer is published on social media, and a visit dynamic is also activated. At the end of the month there is more movement, but no one can say which channel brought in new customers, which only attracted the usual customers, and which lowered the margin due to excessive discounts.
The problem is not spending on marketing. The problem is spending without a serious way to connect the spending to profit.
This lack of clarity also affects more organized businesses. A gas station in the State of Mexico can have frequent promotions, a bakery in Mexico City can send messages via WhatsApp, and a small chain in Baja California can operate several branches at the same time. If they all measure differently, comparing results becomes almost impossible.
For businesses with longer sales processes, it is also useful to review follow-up approaches such as how to improve your B2B pipeline, because the logic of organizing stages, tracking progress, and attributing results helps to stop relying on loose impressions.
What changes when the business does measure
When an SMB understands how to calculate return on investment, it stops asking "did the campaign feel good?" and starts asking "did it leave money after covering all its costs?". That difference seems simple, but it changes the quality of decisions.
A business that measures well can:
Cut weak campaigns before they continue to consume budget.
Repeat profitable promotions in similar branches.
Adjust discounts when sales go up but profits do not.
Better allocate budget between acquisition, repeat purchases, and loyalty.
In physical stores, that discipline is worth much more than a single successful campaign. It allows knowing what actually works in the real operation of the business and what only seemed to work because no one was looking at the full cost.
The ROI formula and what it means for your business

The base formula
An SMB can sell more and still lose margin. This happens often in physical businesses in Mexico. A coffee shop launches a promo via WhatsApp, a car wash activates a loyalty campaign, and an auto parts store adds a discount to move inventory. There is movement in the register, but the correct question remains the same: after investing, was there a real profit left?
The base ROI formula answers exactly that: ROI = [(Attributable Revenue – Investment) / Investment] × 100.
Its value lies in the fact that it forces the conversation to land on dollars and cents and not on perceptions. If an action leaves an ROI of 35%, it means that, after recovering what was invested, it generated an additional return equivalent to 35% of that investment.
A simple example. If a business invests $100,000 MXN in a campaign and achieves $135,000 MXN in revenue that it can actually attribute to that action, the calculation is as follows:
ROI = [($135,000 – $100,000) / $100,000] × 100 = 35%
That percentage does not measure popularity, reach, or traffic. It measures profitability.
How to read the result in a physical business
Here is where the first mistake usually happens. Many owners interpret ROI as if it were an absolute score. It is not. It works best as a tool for comparison between campaigns, branches, or channels.
A coffee shop in Mexico City can send a seasonal drink promotion via WhatsApp and, at the same time, send a reactivation campaign to customers who have not purchased in weeks from their CRM, such as Swirvle. Both can sell. The useful decision appears when comparing which one left more profit for every dollar invested and which one only moved sales with a discount.
Practical rule: ROI answers if the investment was worth it, not just if there were sales.
To read it quickly, this table helps:
Scenario | What it means |
|---|---|
Positive ROI | The action recovered its cost and left additional profit |
Zero ROI | The action returned what was invested, without extra profit |
Negative ROI | The action did not manage to recover its cost |
It is also wise to check three pieces before trusting the number:
Attributable revenue: sales linked to a specific campaign, promotion, or flow.
Total investment: visible spending and operational spending related to that action.
Analysis period: enough time to capture immediate purchases and subsequent purchases, especially in repurchase or loyalty campaigns.
In businesses with variable tickets, ROI improves significantly when it is not measured only on gross sales. If the margin of the product or service sold is also reviewed, the reading stops being superficial. That is why it is helpful to be clear about the cost of goods sold, especially in niches like coffee shops, bakeries, or car washes where selling more does not always mean earning more.
The core problem is not in the formula. It is in using it with poorly attributed revenue or incomplete costs. Instead of looking for another metric, the next step is to clearly define which costs belong to the investment.
Identify all your costs for a real calculation

The most expensive mistake when measuring profitability
The most common mistake is not in the formula. It is in counting only the visible spending. An SMB pays for ads, prints material, or offers a discount and believes that summarizes the investment. It does not summarize it.
In practice, ROI should not be calculated solely on the initial investment, but on the total cost of implementation and operation. This omission can artificially inflate the return, especially when training, maintenance, staff time, commissions, or logistics are left out, as warned by Omni Calculator's guide on ROI.
A gas station in the State of Mexico illustrates this problem well. It launches a promotion to increase visits at certain times. If the calculation only includes the value of the discount, the return may look attractive. But if you add up the hours to set up the dynamic, train the cashier staff, resolve issues, and follow up, the story changes.
Checklist of costs that must be included
To measure well, it is convenient to separate costs into two groups.
Direct costs
Paid advertising: social media ads, sponsored messages, or broadcasting with a budget.
Campaign material: prints, design, production of assets, or signage at the point of sale.
Discounts or rewards: points, coupons, bonus products, or free visits.
Associated commissions: fees per transaction or for executing the promotional action.
Indirect costs
Staff time: hours of the person who designs, sets up, supervises, and closes the campaign.
Training: operational time for cashiers, dispatchers, or baristas to understand the dynamic.
Prorated software: proportional part of the tool used to segment, automate, or measure.
Logistics and support: branch adjustments, coupon validation, customer service, and follow-up.
A "pretty" ROI usually appears when the business left out the uncomfortable costs.
A food business can rely on a broader review of margin and spending structure along with the cost of goods sold, because the return is not sustainable if the commercial calculation ignores what it costs to deliver each sale.
An operational example that does reflect reality
Suppose a promotion is run at a service station to encourage repeat visits. The manager considers only the discount delivered. The calculation seems quick and even optimistic. Then come the elements that are normally not recorded in the first round:
Type of Cost | Operational Example |
|---|---|
Visible | discount applied to the customer |
Semi-visible | design of display materials |
Hidden | shift training time |
Recurring | monitoring, adjustments, and support during the campaign |
When those items are included, the business stops rewarding campaigns that sell a lot but wear down margin, operation, and team time. This shift is key in Mexican SMBs, where budgets are usually tight and every mistake costs more than in a company with ample resources.
Sales attribution: Where does the money come from?

When the sale does not occur at first contact
In physical businesses, the problem is not always calculating the formula. The problem is knowing which sale belongs to which action. Articles on ROI usually stop at revenue minus investment, but explain little about how to attribute incremental sales to loyalty or CRM campaigns in physical stores, even though the real value there is usually in retention and recurrence, as noted in Javi Linares' explanation of the ROI calculator.
This is noticed every day. A customer sees a promotion on WhatsApp, does not buy that day, but does visit the store two days later. Another receives a notification, enters the location over the weekend, and uses a benefit they remembered from memory, without showing their screen. Yet another returns because they accumulated visits and want to complete their reward. If no one connects these signals, the business ends up underestimating the channel that actually drove the sale.
The same challenge appears in different industries. A car dealership or lot may take longer to close a decision, similar to what is observed when a person evaluates where to sell a used car in Mexico: the initial contact rarely coincides with the final transaction. In physical retail, something similar happens, only in shorter cycles and with more touchpoints.
Three practical ways to attribute sales
An SMB does not need a complex model to start. It needs consistency.
Unique codes and coupons
If each campaign has a different code, the register can record which message triggered the purchase. This works well in coffee shops, bakeries, car washes, and gas stations.
The principle is simple. A code does not measure intent. It measures redemption. If the customer uses it, the sale is connected to that specific campaign.
Useful for: repeat purchase promotions, customer win-back, and branch-specific campaigns.
Fails when: staff do not record the code or accept promotions without validation.
Cohorts by date and segment
Another practical way is to send a campaign to a specific group and observe what that group buys in a subsequent window. For example, customers who have not returned in a while, customers of a specific branch, or those who usually buy certain products.
Here, we are not looking for an isolated sale, but rather the behavior of the group. If after sending the campaign, repeat purchases increase within the targeted segment, there is already a solid basis for attributing part of the result to the action.
If the business does not define who received the campaign and in what period it will be evaluated, then everything seems to have had an influence and nothing can be proven.
Loyalty programs
The third way is to measure changes in frequency and average ticket between member and non-member customers. In physical businesses, that is often where the real value of the investment lies. Not in the same-day sale, but in the next visit, the repeated visit, and customer retention.
A CRM platform for physical stores can help centralize this. Swirvle registers customers, segments by habits and branch, runs campaigns via WhatsApp, push, or email, and allows attributing sales to campaigns with dashboards and coupons. To delve deeper into this type of measurement, it is worth reviewing an approach to sales analysis for businesses with recurring customers.
A typical example in a Mexican SMB
A bakery in Yucatan detects customers who have not purchased in a while. It sends them a coupon via WhatsApp with a defined validity and store-only use. During the following days, the business reviews three things:
Element | What is observed |
|---|---|
Redemption | how many customers used the coupon |
Attributable sale | how much was spent by those who returned because of that campaign |
Subsequent behavior | if those customers buy again later |
That third point matters a lot. If the business measures only the first ticket, it may fall short. If it also records if there was a repeat purchase, it begins to better appreciate a reactivation campaign.
What does not work is mixing all the month's results and assuming the campaign was responsible for everything. Nor does it help to launch the promo without an identifier, without a segment, and without a closing date. Attribution requires order. Not perfection, but method.
Beyond ROI: Metrics that complete the story
ROI is not enough when the business looks after cash and recurrence
A neighborhood coffee shop can close a campaign with a positive ROI and still run short of cash that same week. This happens when the discount was aggressive, the team spent extra hours serving the promo, and repeat purchases take longer than expected. The percentage looks good. The operation, not so much.
That is why it is helpful to read ROI alongside other metrics. In a physical SMB in Mexico, especially if it sells by branch and also activates customers via WhatsApp, push, or loyalty, the real question is not just how much returned. The question is how long did it take to return, what type of customer came back, and if that revenue was sustained afterward.
A useful metric for this analysis is the payback period. It serves to estimate when the business recovers the cash it put on the table. HubSpot's explanation on payback period shows this logic in projects with cumulative flows. For a coffee shop, a car wash, or a bakery, the practical reading is simple: between two campaigns with a similar return, the one that returns cash sooner is usually preferred.
What metrics help to make better decisions
CAC: How much it costs to acquire a customer who actually buys
The CAC reveals whether acquisition still makes economic sense. It is not enough to count how many people replied to a message or downloaded a coupon. It is necessary to check how many ended up buying in-store and how much it cost to get them there.
In physical businesses, this point is heavily distorted when channels are mixed. A promotion can start via push, resolve via WhatsApp, and close at the register. If there is no tracking by campaign, coupon, or segment, the cost per acquisition is inflated or, worse, made up. A CRM like Swirvle helps to organize this traceability so as not to attribute new customers by intuition.
LTV: How much value that customer leaves after the first visit
The LTV changes decisions. A car wash should not evaluate a customer who came once for a discount the same as another who returns every two weeks and also buys an additional service. In a coffee shop, the same goes for someone who redeems a promo and then becomes a regular morning customer.
That is why it is convenient to calculate the cumulative revenue left by a person during their relationship with the business. This guide to calculate customer lifetime value helps to ground that data and decide whether a campaign is actually building value or just pulling forward purchases that were going to happen anyway.
Payback time: How fast the money returns
Here, many SMBs make mistakes by looking only at the final margin. If a promotion leaves a return, but recovers cash over too long a period, it can pressure inventory, payroll, or supply replenishment.
A common example. A bakery launches a reactivation campaign with a high coupon for slow dates. The campaign brings customers back and the ROI ends up being acceptable. But if a portion of those sales replaces purchases that were going to happen without a discount, or if repeat purchases take two months, the reading changes. The money did return, but it returned late.
The combination that actually works for making decisions
ROI, CAC, LTV, and payback period work best together. This is how finer decisions are made:
ROI to know if the action left a return.
CAC to validate if the cost of bringing in customers is kept under control.
LTV to measure if that customer offsets the investment with future purchases.
Payback period to check if the cash can handle the rate of return.
This matters more in businesses with omnichannel campaigns. A customer can receive a message, ask a question via WhatsApp, visit the branch, and return days later from a loyalty reminder. If you measure only the first ticket, the campaign seems less profitable than it was. If you add up sales without a method, it seems more profitable than it really is.
The practical task is not to chase perfect accuracy. It is to have a consistent system to separate acquisition, reactivation, and repurchase, record hidden costs, and compare return against liquidity. That is where many guides fall short and where a physical SMB in Mexico actually improves its decisions.
Common mistakes and your ROI calculation template
Four flaws that distort the result
There are businesses that do calculate ROI and still make bad decisions. This usually happens because of one of these flaws.
Leaving out indirect costs. The return looks better than it actually was.
Measuring too early. Some campaigns do not mature in a single visit or on the same day.
Not attributing sales well. If there is no code, segment, period, or minimum control, revenue is distributed by intuition.
Looking only at an isolated campaign. A retention action can make sense even if its full value appears in subsequent purchases.
The recommendation to compare the expected ROI with the actual ROI upon project completion is useful precisely for that reason. It forces a review of whether the budget, projection, and execution resembled reality, as outlined in GanttPRO's reference on project ROI.
Calculation template to use in your business
Below is a simple template. The example is a car wash in Monterrey with a "visit 5 times and get the 6th free" dynamic. It is not intended to serve as a benchmark. It serves to organize the calculation.
Concept | Description | Example Amount (MXN) |
|---|---|---|
Attributable revenue | Sales related to customers who participated in the dynamic | Fill in |
Discounts delivered | Value of the reward granted | Fill in |
Campaign advertising | Social media broadcast, print, or local promotion | Fill in |
Staff time | Hours spent explaining, recording, and validating the dynamic | Fill in |
Setup and follow-up | Rules loading, results review, and adjustments | Fill in |
Total investment | Sum of all direct and indirect costs | Fill in |
Attributable net profit | Attributable revenue minus total investment | Fill in |
ROI | [(Revenue – Investment) / Investment] × 100 | Fill in |
A template like this forces the conversation to land. It is no longer enough to say "it worked." You have to record what it cost, what it sold, and what it left behind.
The difference between an SMB that grows with order and one that repeats mistakes is usually right there. Not in having more campaigns, but in measuring with enough discipline to know which ones deserve to be repeated.
Swirvle can help convert this discipline into an operational process. Through Swirvle, an SMB with a physical store can centralize customers, execute loyalty and repeat purchase campaigns, and measure results with clearer traceability between promotion, sales, and recurrence.
Related Blogs

Aug 5, 2026
10 dessert ideas to sell that actually work in 2026

Aug 3, 2026
Price elasticity: a practical guide for SMEs

Aug 1, 2026
Why offer dessert? Easily increase your average sale

Jul 30, 2026
Resource allocation: a practical guide for SMEs 2026

Jul 28, 2026
Swirvle: better than a digital punch card app

Jul 27, 2026
Consistency in customer service: the secret to selling more without being perfect
Try Swirvle for free
No card required · 30 days free
Start your free trial
