Best practices · Case study
The five-practice rebuild: how a 900-member paid Slack community went from 54% to 82% annual retention in six months
Marcus knew the five practices that separated well-run paid Slack communities from struggling ones. He had read the frameworks. He had even implemented most of them — just not in order. He had a quarterly survey running before he had an activation system. He had a billing transparency email before he had a weekly review habit. Six months after restarting in dependency order, annual retention moved from 54% to 82%, and the compounding effect that started in month four was unlike anything he had seen from the individual practices implemented separately.
TL;DR
DevLoop, a 900-member paid Slack community for developer experience practitioners at $89/month, ran for 18 months at 54% annual retention. Marcus implemented the five operational best practices in dependency order over six months: practice 1 (three-touch activation system) moved week-1 activation from 29% to 61%; practice 2 (weekly content cadence) moved weekly active poster rate from 14% to 31%; practice 3 (weekly at-risk review) prevented 11 cancellations in the first 4-week window; practice 4 (quarterly survey) revealed a mismatched-expectation cohort the activation scorecard had been flagging without anyone connecting the pattern; practice 5 (billing transparency) reduced “I forgot I was paying” cancellations by 23%. Annual retention at month 6: 82%. The order was the intervention.
DevLoop at month zero: the numbers and the context
Marcus ran DevLoop as a side project for the first 14 months and converted it to a primary income source at month 15. By month 18, the numbers looked like this: 900 paying members at $89/month ($80,100 MRR), 54% annual retention (46% of members cancelled within a year), a week-1 activation rate of 29% (71 out of every 100 new members never posted), and a weekly active poster rate of 14% (roughly 126 of 900 paying members sent a message in any given week).
The niche was strong. DevLoop served developer experience practitioners — the engineers and platform leads at mid-to-large companies building internal developer platforms, toolchains, and developer productivity programs. The problem space was technically specific enough that a 900-member community in the niche could legitimately claim to be the most concentrated peer group available. The content quality from active members was excellent. The churn was a process problem, not a product problem.
What Marcus had in place at month 18:
- A welcome message posted in #welcome when members joined (not a DM — a channel post)
- A quarterly NPS survey sent via email (response rate: 11%)
- A billing confirmation email from Stripe (automatic, not customised)
- A day-3 reminder sent to all members who joined 3 days ago, regardless of activity (a blanket reminder, not conditional): “Hey, just making sure you saw the welcome message — if you have any questions, drop me a DM!”
- No structured content cadence: Marcus posted when he had something to share, averaging 2–3 posts per month
- No weekly review of at-risk members
He had implemented practices 4 and 5 before practices 1, 2, and 3. The quarterly survey was producing a 11% response rate because 71% of his membership never engaged. The billing transparency email was a Stripe default with no community-specific content. The day-3 blanket reminder had a 7.4% reply rate because it was going to activated members who did not need it and non-activated members who found it generic.
The rebuild was not about adding new practices. It was about running the five paid Slack community best practices in the order their dependencies required.
Why the dependency order is not optional
The five practices form a causal chain. The week-1 activation data produced by practice 1 is the input to the weekly at-risk review in practice 3 (the day-7 scorecard). The activated member base produced by practices 1 and 2 is what makes the quarterly survey (practice 4) produce useful data rather than noise (an 11% survey response rate from a community where 71% of members never posted means you are surveying the same small core who participate in everything — their answers do not represent the majority). Practice 5 — billing transparency — becomes significantly more powerful when practices 1 through 4 are running because the pre-renewal message can reference what the member actually did in the community, which requires that the member did something.
Starting practices 4 and 5 without practice 1 is not useless. Some members respond to a quarterly survey regardless of their activation status, and billing transparency reduces surprise-cancellations independently. But the full compounding effect — the jump from month 4 to month 6 that took DevLoop's monthly churn from 2.1% to 1.7% — only happened when all five were running simultaneously and each practice was producing output that fed the next.
The rebuild proceeded in four-week blocks, one new practice per block, with measurement at the end of each block before adding the next.
Practice 1 (weeks 1–4): the three-touch activation system
The first four weeks were spent replacing the welcome channel post and blanket day-3 reminder with three structured touches: a day-0 personalised DM, a conditional day-3 nudge, and a day-7 scorecard.
The day-0 DM
Marcus had two primary join sources: members who found DevLoop through a conference talk he had given at a DevEx summit 6 months prior, and members who joined through an IndieHackers post he had written about platform engineering metrics 4 months prior. The day-0 DM varied by source. Conference referrals received a message that referenced the shared context: “Hi [Name], glad you joined after the [conference] talk. DevLoop tends to be most useful for people navigating the 'platform team just got headcount for the first time' moment — is that where you are right now, or a different stage?” IndieHackers referrals received a message referencing the post: “Hi [Name], glad you're here. The IH post mostly focused on metrics frameworks, but the conversations in DevLoop tend to go deeper on toolchain decisions and team structure. What specific problem is on your desk right now?”
For all other join sources (direct search, word-of-mouth without a specific referral), Marcus used a goal-keyed version that referenced the member’s application form answer: “Hi [Name], I saw you mentioned [goal from application form] when you joined. That's a thread-level conversation here — here's the most relevant recent thread: [link]. Worth posting what you're trying specifically?”
The conditional day-3 nudge
The condition: the day-3 nudge fired only to members who had not yet sent a message anywhere in the workspace. Members who had posted received nothing. The message was a reframe rather than a follow-up: “Hi [Name], I noticed you haven't had a chance to post yet — DevLoop threads can feel like walking into a conversation midway. One low-friction entry: what's the specific thing on your plate right now that you could use a second opinion on? Even one sentence — someone here has almost certainly been there.”
The response rate on the conditional nudge: 31%, compared to 7.4% on the previous blanket reminder. The difference was not the conditionality itself — it was the reframe. The blanket reminder had asked members to do the same thing they had not yet done (introduce themselves publicly). The conditional nudge asked for a private, lower-stakes reply that could be answered in a sentence. The reply restarted the relationship between Marcus and the new member, which was the precondition for the member to eventually post publicly.
The day-7 scorecard
Every Sunday night, Marcus received a short summary: members who joined in the past 7 days, which had activated (posted at least once), which had not, and which had replied to the day-3 nudge but not yet posted publicly. The scorecard had one additional field that turned out to be more important than Marcus expected: the join source for each non-activated member. In week 2, Marcus noticed that five of the seven non-activated members were IndieHackers referrals. In week 3, six of nine. In week 4, the pattern was clear: IndieHackers referrals had a 19% week-1 activation rate compared to 61% for conference referrals and 58% for all other sources. The scorecard was surfacing a pattern that no single metric had been tracking.
Week 4 results: week-1 activation rate overall moved from 29% to 61%. The IndieHackers cohort remained at 19% — that pattern would need to be addressed separately (and practice 4, the quarterly survey, would later reveal why).
Practice 2 (weeks 5–8): the weekly content cadence
With week-1 activation at 61%, the activated member base was large enough for a weekly content cadence to generate participation breadth rather than just depth from the same small core. Marcus implemented two loops: a weekly async thread and a monthly synchronous event.
The weekly question thread
Every Monday at 9am, Marcus posted a question in #platform-strategy: “What's the hardest thing you're fighting this week in your developer platform or toolchain work?” The format was strict: one question, no context, no framing. The goal was participation, not information. Marcus replied to every response within 4 hours in the first two weeks, asking one follow-up question per response. This created a visible social contract: posting in the thread produced a reply from someone who cared about the answer.
Week 1: 4 replies. Week 2: 7 replies. Week 3: 11 replies (including 4 first-time posters who had been passive for 2–6 weeks). Week 4: 9 replies.
The weekly active poster rate moved from 14% (126 of 900 members) to 28% (252 members) over the four weeks, with most of the gain in members who had activated in their first week but had not posted since. Activated-but-passive members needed a recurring stimulus to return; the weekly thread provided one. See the paid community engagement benchmarks for context on what a 28% weekly active poster rate means relative to similar communities at this size and price point.
The monthly AMA
Marcus scheduled the first monthly AMA for week 7: a 60-minute Zoom with a guest who had recently gone through a platform team scaling moment (50 to 500 engineers). The announcement post in week 5 generated 23 RSVPs, the highest single-post response count in DevLoop's history. 41 members attended live. Members who attended the AMA showed a 12-percentage-point higher day-90 retention rate than the overall membership average in the cohort that joined during the same 4-week window.
This was the confirmation that the AMA format worked for the niche: DevEx practitioners valued a high-signal, high-specificity conversation that they could ask questions in, more than curated content they could read asynchronously. The community's long-standing high content quality from active members had been serving the top 14% well; the AMA served the 86% who needed a structured participation moment, not an open-ended invitation.
Week 8 measurements: weekly active poster rate 31%, content response rate (average replies per operator-initiated thread) 18% (up from 3.2% on the previous sporadic posting cadence).
Practice 3 (weeks 9–12): the weekly at-risk member review
With the day-7 scorecard running (from practice 1) and an activated member base large enough to observe patterns (from practice 2), Marcus started the weekly at-risk review. The protocol was 8 minutes, fixed to Monday morning, reviewing three member categories from the scorecard output:
- New members who stalled in week 1 and had not been personally contacted yet: Each non-activated member from the previous week's scorecard who had not yet received a personal DM (beyond the conditional day-3 nudge). Marcus limited this to the top 3 by join date to avoid the review becoming the work rather than the trigger for the work. Three personal DMs per week, committed by noon Monday.
- Members who activated in week 1 but had been silent for 30 or more days: Members in the 31–60 day tenure window with no messages in the past 30 days. Marcus sorted by last-message date and messaged the three most recently-silent in this group each week, using a reference to something from their initial thread: “Hi [Name], I remember you mentioned [specific thing from their intro or early post] — there was a thread last week that went deep on exactly that. Worth tagging you in?”
- Members within 14 days of renewal who had not posted in 30 days: The highest-risk category. At $89/month, a member in this window who had not been active recently and had no recent connection to the community had a low decision cost to cancel. Marcus sent these members a preview message: “Your membership renews in [N] days. Before that, I wanted to mention that we have [specific upcoming event or thread topic] coming up next week — specifically on [topic relevant to their stated goal] which I think is exactly where you said you wanted to go deeper.”
What the first review revealed
In week 9, the at-risk review surfaced 3 members approaching renewal in 14 days with 30+ days of silence. Marcus sent all three a preview message. Two renewed. One cancelled but wrote back: “I was going to cancel anyway, but I appreciated the personal message. I'm in a quieter phase right now — I'll probably come back in 6 months.” (He did come back, 7 months later.)
Over the full 4-week block: Marcus reviewed 37 at-risk members, sent personal DMs to 19 (the members with the clearest risk signals, not all 37), and retained 11 who, based on their subsequent renewal patterns, would likely have cancelled without contact. At $89/month, 11 retained members represented $979/month in MRR that would have otherwise churned. See the 15-minute weekly community review for the full protocol behind this routine.
The pattern the scorecard kept flagging
The join-source breakdown in the day-7 scorecard, which Marcus had been reading weekly since week 1, showed the IndieHackers cohort's 19% activation rate consistently. By week 10, the weekly review's at-risk output confirmed the downstream effect: IndieHackers referrals were disproportionately represented in the “silent for 30+ days” category and in the “approaching renewal with no recent posts” category. The pattern was clear: something about how this cohort had discovered DevLoop was creating a persistent expectation mismatch. The weekly at-risk review could manage the symptoms (personal DMs to at-risk members), but practice 4 — the quarterly survey — was the only mechanism that could identify the cause.
Practice 4 (week 12 onwards): the quarterly member survey
Marcus ran the first quarterly survey 12 weeks into the rebuild, sent to the cohort that had joined 90 days earlier. The three questions: (1) What is the single most useful thing DevLoop has helped you with in the last 90 days? (2) What would make DevLoop worth twice what you pay? (3) How likely are you to recommend DevLoop to a peer (1–10)?
Response rate: 34% (up from 11% in the pre-rebuild period, because the activated member base was now large enough to generate responses from non-core members). The quality of responses was also different: 76% of responses named a specific interaction, thread, or piece of content rather than giving a generic positive answer, which Marcus attributed to the activated members having enough history with the community to reference something concrete.
The job board discovery
The most consequential finding was the answer to question 2: “What would make DevLoop worth twice what you pay?” Eighteen percent of respondents mentioned some version of a job board or hiring channel. Marcus did not have a job board. He had never offered one, never mentioned one, and had no #hiring channel in the workspace.
Cross-referencing these 18% against the activation data from practice 1 confirmed the pattern the scorecard had been flagging: the survey respondents who mentioned the job board had a 6.2% week-1 activation rate, compared to 61% for all other members. The IndieHackers post Marcus had written 4 months earlier — the post that had been the source of the low-activation cohort — was titled “How I built a DevEx community that generates $80k/month” and had mentioned, in one sentence, that a planned future feature was a curated job board for DevEx practitioners. Some readers had joined DevLoop specifically for that future feature, found no job board, and gone silent.
The IndieHackers post was still live and still sending a small stream of new members who had read the job board mention. The post had been indexed by Google and was appearing in searches for “DevEx jobs” and “developer experience jobs community.”
How Marcus addressed the mismatched cohort
He did not build a full job board. The scale (18% of members, most of them already passive) did not justify the complexity of a moderated job board, and building it would have shifted DevLoop's identity in a direction the 82% non-job-board members had not signed up for.
Instead: a #hiring-only channel (jobs, referrals, and company mentions only — no discussions in the channel), a monthly “who’s hiring in DevEx” digest email sent to the full membership, and an update to the IndieHackers post removing the job board mention. He also sent a direct DM to the 31 longest-silent IndieHackers referrals (those who had been members for 60+ days with zero posts) acknowledging that he’d updated the community based on survey feedback and letting them know about the new #hiring channel.
Thirty-one previously-silent members posted or replied to a message within the first four weeks after the #hiring channel launch. Not all of them became consistently active — 11 continued to engage regularly, 20 returned to silence after the initial novelty — but the initial response rate confirmed that the expectation gap had been the specific blocker for these members, not a general lack of interest in the community.
For the full process of running a quarterly survey that surfaces issues like this before they become churn patterns, see the paid community member feedback survey guide, which covers the question design, delivery timing, and response-rate optimisation in detail.
Practice 5 (weeks 13–16): pre-renewal billing transparency
The pre-renewal message replaced the Stripe default billing confirmation. The new format was a service message sent 7 days before billing, structured around three elements: what the member had done or accessed in the community during the billing period, what was scheduled for the next 30 days, and a direct one-click link to manage or cancel the subscription.
For active members (those who had posted in the past 30 days), the “what you did” section was personalised: the three threads they had contributed to, or the two events they had attended, or the specific DM exchange that had led to a referral or collaboration. The billing confirmation email now said “you contributed to 3 threads this month, including the platform telemetry debate that had 24 replies” rather than “Your subscription will renew on [date].”
For passive members (those who had not posted in 30 days), the “what you accessed” section listed the top 5 most-read threads in the workspace during the billing period, framing the value as “here is what was available to you and what members were discussing, even if you weren’t posting.” This was a deliberate choice: passive members who felt they had gotten no value were the most likely to experience the renewal charge as a surprise. The message was not persuasive — it was informational, acknowledging the passive status without guilt-tripping and framing the upcoming renewal as a deliberate choice.
The “I forgot I was paying” reduction
Marcus tracked two types of cancellations in the first billing cycle after launching the pre-renewal message: cancellations that happened within 3 days of the renewal charge (the “I forgot I was paying” pattern, where the billing charge prompted the cancellation decision) and cancellations that happened more than 3 days before the renewal date (members who actively decided to cancel in advance). The pre-renewal message was designed to address the first type: by surfacing the upcoming charge 7 days before it appeared on a credit card statement, it converted the passive-to-cancel pathway into an active-decision pathway.
Result: 23% reduction in post-billing-charge cancellations (from 13 per month in the prior 3-month average to 10 per month in the first month of the new message). The reduction was consistent across months 2 and 3: 10, 11, and 10 post-charge cancellations, compared to 12–14 in the preceding period. The passive-to-active-cancel rate (members who cancelled in advance of billing) was unchanged — the message did not suppress active cancellation decisions, only the ones driven by billing surprise.
A secondary effect: 6 former members re-subscribed within 30 days of cancelling in the months after the pre-renewal message launched. Three of them cited the clarity of the pre-renewal email specifically: “I saw the renewal email and was going to cancel, then I re-read it and realized I had actually been in 4 conversations I found useful. I cancelled anyway because the timing was wrong, but I came back when the quarter changed.”
Month 4–6: the compounding effect
By month 4 of the rebuild (week 16), all five practices were running simultaneously. The compounding effect — the part that is difficult to attribute to any single practice — became visible in month 5.
What compounding looked like in the data
Monthly churn rate at the start of the rebuild: approximately 4.9% (corresponding to 54% annual retention). After practice 1 alone (weeks 1–4): approximately 4.1%. After practices 1 and 2 (weeks 5–8): approximately 3.4%. After practices 1, 2, and 3 (weeks 9–12): approximately 2.8%. After all five practices running simultaneously (weeks 13–16 and month 5): approximately 2.1%, then 1.7%.
The drop from 2.8% to 1.7% in the month-5 window was the compounding effect. The quarterly survey data (practice 4) was now influencing the content calendar (practice 2): the #hiring channel launch had converted 31 silent members into occasional posters, who were now being caught by the weekly review (practice 3) when they went quiet again. The pre-renewal messages (practice 5) were now personalised because the content cadence (practice 2) and the activation system (practice 1) had given each member something to reference. The practices were feeding each other rather than operating in isolation.
The numbers at month 6
Six months into the rebuild, DevLoop’s metrics stood at:
- Annual retention: 82% (projected from the trailing 3-month monthly churn rate of 1.7%)
- Week-1 activation rate: 63% (slightly above the 61% from the end of practice 1, reflecting continued refinement of the day-0 DM based on join-source patterns)
- Weekly active poster rate: 34% (up from 14% at the start)
- Monthly churn rate: 1.7% (down from 4.9%)
- MRR: $83,660 (940 members at $89/month, reflecting lower churn with modest organic growth of 15–20 new members per month)
- Day-3 conditional nudge response rate: 31% (vs. 7.4% for the previous blanket reminder)
- Quarterly survey response rate: 34% (vs. 11% pre-rebuild)
The MRR gain ($3,560/month) understates the change because it does not capture the improvement in acquisition efficiency: members who stay 12+ months refer at a significantly higher rate than members who cancel in month 2, which means the compound effect on new-member acquisition will continue to build for months beyond the window of this case study. See the Slack community health metrics dashboard for the full set of metrics, thresholds, and action protocols that underlie the numbers above.
Three things Marcus would do differently
Looking back at the six months, Marcus identified three decisions that delayed progress or added avoidable friction:
1. He waited too long to instrument the join-source field
The IndieHackers referral pattern was visible in the day-7 scorecard from week 2 of the rebuild, but Marcus did not add a join-source field to his member record until week 7. Until then, he was manually checking which join cohort each non-activated member came from by searching his email for the referral mention, which added 15 minutes to each weekly review that he kept skipping. Instrumenting the join-source at member creation — even a simple dropdown in the intake form (“How did you hear about DevLoop?”) — would have surfaced the IndieHackers pattern two months earlier and potentially allowed the quarterly survey discovery to happen at week 4 rather than week 12.
2. He ran the quarterly survey too early in the rebuild
Marcus sent the first quarterly survey at week 12, after practice 1 had been running for 8 weeks and practice 2 for 4 weeks. He should have waited until week 16. At week 12, the activated member base had been growing for 12 weeks but the content cadence had only been running for 4 weeks. The survey response rate of 34% was good, but the depth of the responses — specifically the ability of members to reference specific recent threads or interactions — would have been higher if the content cadence had been running for 8 weeks rather than 4. The survey question “what is the single most useful thing DevLoop has helped you with in the last 90 days?” requires 90 days of structured community activity for members to reference; at week 12, the most recent 4 weeks were content-cadence weeks and the 8 weeks before that were activation-system-only weeks. The answers were real but less specific than they would have been at week 16.
3. He personalised the active-member pre-renewal message too precisely
For the first 3 months of practice 5, Marcus was manually writing the “what you did this month” section of each pre-renewal message for active members. This was unsustainable at 900 members with distributed renewal dates. He switched to a template that pulled the member’s most recent 3 thread contributions from a spreadsheet log in week 15, which took 40 minutes to set up and saved approximately 6 hours per month. The lesson: the pre-renewal message for active members needs enough personalisation to demonstrate that the community noticed the member’s participation, but not so much that it requires manual research for every member. “You contributed to the [thread title] discussion and the [thread title] question” is sufficient; a full paragraph reconstructing their month is not worth the time relative to the retention benefit.
What the rebuild confirmed about the five-practice framework
The rebuild confirmed two things about the five best practices that are not fully visible from a framework description alone.
First: each practice produces a different type of data, and the practices are most useful when their outputs are used as inputs to the others. The activation system (practice 1) produces member-level activation status and join-source data. The content cadence (practice 2) produces content response rate data and creates the thread history that makes the at-risk review (practice 3) and the quarterly survey (practice 4) more useful. The at-risk review (practice 3) produces a list of at-risk members that can be acted on before they become churned members. The quarterly survey (practice 4) surfaces root causes that the activation data was pointing toward but not naming. The pre-renewal message (practice 5) is most powerful when it has four practices’ worth of member history to draw on. Running the practices in isolation — as Marcus had done for 18 months before the rebuild — produces some value from each, but not the cross-practice compounding that happens when all five are running and their outputs are connected.
Second: the practices are not primarily about technology. The three-touch activation system, the weekly at-risk review, and the quarterly survey all ran in Marcus’s rebuild using a spreadsheet, a few saved DM templates, and a structured weekly review routine. None required a paid tool beyond the Slack workspace itself. The reason to use a tool like Foothold for the activation system is not that the three-touch flow is technically complex — it is that the conditional day-3 nudge requires knowing, in real time, which members have posted and which have not, which is difficult to check manually at scale. At 900 members with 20 new joins per month, a manual check of each new member’s posting status at day 3 is 20 manual checks per month. At 300 new joins per month, it is 300 manual checks. The tool is not doing something new; it is making the conditional check operationally viable at higher volumes. If you have 20 or fewer new members per month, you can run practice 1 manually. Above that, the labour cost of manual conditional checking outweighs the tool cost. For more on where to draw the manual/automated line, see the Onboarding Health Check — the five-question diagnostic includes a question about new-member volume and recommends the right implementation approach for your specific scale.
FAQ
- Why do paid Slack community best practices need to be implemented in a specific order — can’t you just start with whichever practice seems most urgent?
- The five practices form a dependency chain. Practice 3 (weekly at-risk review) requires the day-7 scorecard output from practice 1. Practice 4 (quarterly survey) produces actionable results only when cross-referenced against activation data from practice 1, and its response quality depends on an activated member base from practices 1 and 2. Practice 5 (billing transparency) is most powerful when it can reference member history, which requires practices 1 through 4 to have been running. Starting with practice 4 or 5 before practice 1 is not useless — both have standalone value — but the compounding effect that produces the jump from 54% to 82% annual retention only happens when all five are running in dependency order. The practical rule: if week-1 activation is below 60%, the activation system is the only practice that will move annual retention meaningfully in the next 90 days.
- What happened when Marcus’s quarterly survey revealed 18% of DevLoop members had joined expecting a job board that didn’t exist?
- Marcus identified the mismatched cohort precisely using activation data (these members had a 6.2% week-1 activation rate, not the community average of 61%). He launched a minimal version of the requested feature — a #hiring-only channel and a monthly digest — rather than a full job board. He updated the IndieHackers post that had created the expectation. He sent direct DMs to the 31 longest-silent members from this cohort. Thirty-one previously-silent members posted within 4 weeks. Eleven continued engaging regularly; twenty returned to silence. The correct response to a mismatched-expectation cohort is a minimal feature test targeting the specific expectation gap, not a mass announcement, and not a full build until the minimal version demonstrates engagement.
- How do you calculate annual retention for a paid Slack community with both monthly and annual billing plans?
- Track monthly-plan and annual-plan renewal rates separately, and report the blended number only after diagnosing both components. The 12-month survival rate (of members who joined 12 months ago, what percentage are still active today) is the same calculation regardless of billing plan — that is the “annual retention” number. The billing-plan breakdown matters for early-warning signals: monthly-plan members who are drifting toward cancellation show up in monthly renewal rates within 2–3 months; annual-plan members can drift for 8–10 months before their one annual decision reveals the problem. Track both separately so that monthly-plan churn provides the leading indicator it is designed to provide, rather than being blended away by the structural stability of annual-plan holders.
- What makes a conditional day-3 nudge different from a blanket day-3 reminder, and why is the response rate 4x higher?
- A conditional nudge fires only to members who have not yet posted, with a reframed ask (a private, lower-stakes question) rather than a repeat of the public-channel ask they chose not to complete. A blanket reminder goes to all members, including those who already activated — who find it patronising — and uses the same ask as the day-0 DM, which the non-activated member already chose not to complete. The 31% conditional nudge response rate versus 7.4% blanket reminder rate in Marcus’s community reflects two differences: conditionality (correct targeting) and reframing (a different, lower-stakes ask). The conditional nudge communicates that the community noticed the member’s specific status; the blanket reminder communicates that the community is sending the same message to everyone.