Theory
Case: rewrite the "12% a year" landing page
Turn a bold return promise into an honest range with a horizon, a risk line and a clear disclaimer.
~7 min read · 7 exercises · 250 points
Before you start
Your first deliverable
End of February at Zapas, and your first month as PM closes with a real deliverable: the landing page for the public waitlist. Ethan has a new draft. He kept the 12% a year, added "proof" and a friendly promise, and fears that modest copy will lose signups.
You'll go through the draft line by line with everything this month gave you, from real returns to compounding and ranges, and write a hero section that still holds up in the first bad year.
Auditing a money claim
Before any claim about returns goes public, run it through four checks.
- Type: is the number nominal or real, yearly or total, an average or a single path? "12% a year" is nominal and yearly.
- Source: where does it come from, and is that source described honestly? Our Tessaro history is synthetic and must be labelled so.
- Certainty words: "safe", "guaranteed", "risk-free" are never true of stocks, and in many places they are also a regulatory problem.
- Checkable facts: user counts, fees and features are fine when they are true today.
A claim can fail one check and pass another. Keep what's true, fix what's misleading, and drop what can't be made honest.
- Do"Synthetic 40-year history: world stocks about 5.9% a year after inflation, with falls of up to 45%."
- Don't"Guaranteed growth."
No stock investment can guarantee growth.
Three ways a promise misleads
Misleading investment copy usually breaks one of three rules.
Units and horizon. A yearly nominal rate with no time frame hides inflation and the swings between years. The fix is a real range over a stated horizon.
Certainty. Words like "safe" and "guaranteed" turn a probability into a promise. The fix is a plain risk line: values can fall, and you can get back less.
Sourcing. A number with an impressive source can still be the wrong number: nominal instead of real, a lucky period, or, as in line 3 of the draft, a synthetic history presented as the real world. The fix is to say exactly what the data is.
When you rewrite, fix all three. A page that drops "12%" but keeps "guaranteed" is still dishonest.
Ethan's draft hero section · shown above
- Do"Values go up and down; you can get back less than you put in."
- Don'tReplacing "12%" with "9.3%" and calling it fixed.
Still nominal, still a single number.
The bad case belongs on the page
It is tempting to show only the middle and the top of the range. But a user who starts in a bad stretch will meet the bottom of the range first, and if the app never mentioned it, they lose trust and often sell.
Our simulation gives the honest bottom: after 10 years of 150 dol. a month, the 10th percentile is 16,877, which is 1,123 below the 18,000 paid in. After 25 years it is 57,544, well above the 45,000 paid in.
Showing the bad case does two jobs. It sets expectations, so a fall feels like part of the plan rather than a broken promise. And it shows why the horizon matters: the same bottom percentile goes from below the money paid in to well above it.
Present it calmly, with numbers, and next to the good case, not in a footnote.
Chart data
| Years invested | Paid in | 10th percentile | Median | 90th percentile |
|---|---|---|---|---|
| 10 | 18,000 | 16,877 | 24,907 | 34,906 |
| 25 | 45,000 | 57,544 | 106,225 | 189,828 |
- Do"After 10 years, about 1 plan in 7 was still below what was paid in."
- Don'tShowing only the median and the 90th percentile.
Risk next to the number
People read landing pages in a pattern: headline, the biggest number, a button. Anything below the fold or in small grey text is effectively invisible.
If the range is in large type and the risk line is in a footnote, the page communicates the range only. The honest design keeps them together: the range, the horizon, and directly under them "not a guarantee; you can get back less than you put in", at a readable size.
The full legal disclaimer still belongs in the footer, and your company's compliance rules decide its exact text. But the one-line risk statement next to the numbers is a product decision, and it's the one users actually see.
Test it: cover everything except the hero and ask a colleague what the app promises. If they don't mention risk, the design failed.

- DoRange in the hero, risk line right under it, full disclaimer in the footer.
- Don'tA big "12%" and an asterisk.
A headline that sells the habit
The strongest honest claim an investing app can make is not about the market. It's about the user's own behavior: start early, put in a little every month, keep going through bad years. Those are true for everyone and fully in the user's control.
That makes a good headline: "Invest a little every month and let the years do the work." It promises a process, not a result.
Numbers move to the sub-line, where there is room to label them: "in our example", "at an assumed 6% after inflation", "simulated on synthetic history". One number is enough; three numbers in a sub-line read like a table.
A headline with a rate invites comparison shopping on the one thing nobody controls. A headline about the habit sells the thing the app actually helps with.
- Do"Start small, start now, keep going."
- Don't"Beat the market with Zapas!"
A promise about returns nobody controls.
Label the source of every number
Every number on a money page answers an unspoken question: "says who?" The label is the answer.
In this course the market history is synthetic: generated to behave like real markets, with crashes, flat stretches and bubbles, but not a record of any real market. That makes it great for teaching and testing designs, and wrong to present as evidence of what a real fund did.
Good labels are short and sit right next to the number or chart: "synthetic history", "simulated paths", "not a forecast", "after inflation". They also protect the company: a regulator or a journalist reading the page sees exactly what was claimed.
When you use real past data in a real product, the same rule applies with different words: name the period and the source, and say that past results don't predict future ones.
- Do"Simulated on synthetic history; not a forecast."
- Don't"The market returned 9.3% a year." with no source.
Putting the landing page together
A finished honest hero section combines everything from this module.
- Headline about the habit and time, with no rate.
- Range from the simulation, rounded, with the monthly amount, the horizon and "today's dollars": real, not nominal.
- Risk line right under the range, including the bad case in plain words.
- Checkable facts that are true today, like the beta user count.
- Footer disclaimer: synthetic data, not a forecast, after inflation, educational not advice, check local rules.
Then sell it internally. Stakeholders accept honest copy faster when you speak their language: trust lowers churn, users who expected falls don't panic-sell, and a page you can defend is cheaper than a page you must take down.
Picture: Headline, range, horizon, risk: in that order. · shown above
Chart: 150 dol. a month, simulated balance after 10 and 25 years · shown above
- Do"8 of 10 simulated paths: about 58,000–190,000 after 25 years, in today's dollars. Not a guarantee."
- Don't"Up to 189,828!"
The lucky case dressed as the offer.
Ready to practise?
Answer the lesson's exercises and earn 250 points the first time you finish it.
Start the exercises