ROI Calculator
Estimate what iMessage conversations add to your repeat revenue.
Your trailing 12-month e-commerce top line.
The slice of your revenue that comes from returning customers.
Share of customers you can text. Signals can only lift customers it can reach.
From the Jordan Craig A/B test: customers randomized into the check-in group who got the message, measured against the holdout.
How we calculate this and where the uplift number comes from.
Extra Revenue per Year
$0
about $0 per month
The Math, Step by Step
Repeat purchase revenue
Revenue × repeat purchase share
$0
Reachable by text
× share with a phone number on file
$0
Extra repeat revenue
× repeat purchase uplift
$0
Want to measure this against a holdout instead of estimating it?
Book a DemoHow the math works
The whole model fits in one line. Change any input and the result moves proportionally, so you can sanity-check it in your head.
With the defaults: $50,000,000 × 25% × 90% × 19% = $2,137,500 a year.
Why repeat share
Signals works the days right after delivery, so the lever it pulls is the next purchase. The calculator only applies uplift to revenue that's already coming from returning customers, nothing speculative on top.
Why phone coverage
Conversations happen over iMessage, RCS, and SMS. A customer without a number on file never gets the check-in, so their revenue can't be lifted. The increment scales with how many customers you can actually text.
Which customers the 19% covers
Treatment means a customer the coin flip put in the check-in group who then received the message. Everyone in that group counts toward the 19%, including the ones who never wrote back. Customers who replied repurchased considerably more often, and they sort themselves into that group, so the default leaves their number out.
What it leaves out
The estimate counts repeat purchase lift and stops there. Returns converted to exchanges, support handled in the same thread, and the buying intent customers volunteer all come on top, so the number here runs conservative.
Where the uplift number comes from
The default 19% comes from the Jordan Craig pilot. Customers randomized into the check-in group who received the message repurchased 19% more often than the holdout over the full pilot (p = 0.009). Send caps meant the pilot only reached part of that group while it was ramping, so the same comparison was rerun with the holdout matched to the treated group's enrollment days, which puts the lift between 19 and 30% depending on the window. Each pilot below ran the same way, against a randomized holdout, so every lift is an increment over doing nothing.
Quaker Marine × Signals
Post-delivery check-ins turned into 51% more repeat purchases.
A/B test across 1,910 customers. At 3 weeks, customers who got the post-delivery check-in repurchased 16% more often than the holdout, and the ones who replied repurchased 51% more.
Read the case study
Jordan Craig × Signals
Every post-delivery conversation worth an extra $30 in repeat revenue.
A/B test against a randomized holdout (p = 0.03). Each conversation added an estimated $30 in repeat revenue within 2 weeks, and repliers repurchased 40% more often.
Read the case studyFrequently Asked Questions
Common questions about the inputs, the formula, and the pilots behind the default uplift.
How does Signals calculate ROI?
Four factors multiplied together: your annual online revenue, the share of purchases that come from repeat buyers, the share of customers with a phone number on file, and the repeat purchase uplift Signals drives. The result is the extra repeat revenue you'd expect in a year. Change any input and the output moves proportionally, so you can check it in your head.
What uplift number should I use?
The default 19% comes from the Jordan Craig pilot: customers randomized into the check-in group who received the message repurchased 19% more often than the holdout over the full pilot (p = 0.009), worth about $11 of extra repeat revenue per customer texted. Matching the holdout to the treated group's enrollment days, which corrects for the send caps in place during the ramp, puts the lift between 19 and 30% depending on the window. Customers who replied did considerably better, so brands with strong phone coverage and reply rates land above the default. The case studies cover the pilots behind it.
Why does phone number coverage matter?
Signals talks to customers over iMessage, RCS, and SMS. A customer without a number on file never gets the check-in, so their repeat revenue can't be lifted, and the increment scales directly with coverage. Brands that collect a phone number at checkout for shipping updates typically sit at 90% or above; coverage climbs further as opt-in flows improve.
Where do I find my repeat purchase share?
It's the slice of your revenue that comes from customers who've bought before. Shopify surfaces this as returning customer rate under Analytics, or you can divide repeat-customer revenue by total revenue for the trailing 12 months. Most DTC apparel brands land somewhere between 20% and 40%.
What does the calculator leave out?
Everything except repeat purchase lift. Returns converted to exchanges, support handled inside the same thread, restock alerts, and the buying intent customers volunteer all come on top. In our pilots, 17% of conversations resolved a real support issue and check-in groups returned about 13% fewer delivered items than the holdout. The estimate here runs conservative on purpose.
How would I verify these numbers for my brand?
Run the pilot as a randomized controlled trial, which is how Signals runs every pilot: customers split 50/50 into check-in and holdout groups, repeat purchases measured in your Shopify order data. Both public case studies used exactly this design, so the lift you see is an increment over doing nothing, measured on your own customers. Book a demo to scope one.
Find out what customers say when you actually ask
Scope a measured lifecycle pilot for your store. Most teams can connect Text Us, post-delivery outreach, review workflows, and measurement within the first week.