The problem
Ditto matches people on campus, which means it asks for a real commitment every week. A lot of users hit a week where they can't show up. Midterms, a trip home, a bad date, a breakup. The product gave them one option for saying so, and it was to deactivate their account.
That made every temporary problem look like a permanent one. In the data, someone taking two weeks off looked identical to someone who was finished, and getting back in took a deliberate decision they had to remember to make. We were losing people who hadn't actually decided to leave.
Writing the measurement plan first
I came in as engineering DRI and ended up acting as PM as well, so the first thing I wrote wasn't code. It was the project's first measurement plan, because nobody had defined what a successful pause was supposed to look like.
Two things came out of that. First, we agreed the goal was fewer permanent exits rather than fewer exit attempts. Those sound like the same target, but the cheapest way to reduce deactivations is to bury the button, and that wins the metric while making the product worse. Second, we fixed the comparison before launch: matched 11-day periods, before and after. Deciding that up front meant the result couldn't get quietly reframed later into something more flattering.
Someone asking to leave is telling you something specific. The useful question is how many different things "I want out" can mean, and whether the product can tell them apart.
What shipped
A real paused state
Paused is now its own state, separate from active and from deactivated. Your profile, history, and place in the system all survive the break, so stepping away doesn't cost you anything.
Timed auto-resume
This is the piece I like most. You set an end date when you pause, and the product brings you back on its own. You don't have to remember. It turns a decision made on a bad night into something that expires by itself. Timed pauses went from not existing to 18% of all pauses.
An exit hub in account settings
One place holding every way of stepping back: pause, adjust, leave. Scattering those across the app or hiding the real exit is how you end up with users who feel trapped. Making leaving easy to find is what lets you put the alternatives next to it honestly.
An exit survey that routes somewhere
Most exit surveys just collect data on the way out. This one branches. What you pick determines which alternative you see next, because "too many notifications" and "I met someone" are different problems and should not get the same screen. About 22% of routed users abandoned deactivation. Not because we argued with them, but because the thing they wanted already existed and they hadn't found it.
Results
It ended up being the product's largest single system sweep and its biggest retention channel. The number I actually care about is the 18%, though. That is users volunteering when they plan to come back, which is a lot more useful than watching someone go quiet and guessing.