Blog
The ask stopped at 250
Friday 09:05 the board is still NPS 30 on 140. The widget has had no show token since Tuesday 14:22, when claim-csat filled the November cap.
Friday, 6 November 2026, 09:05 UTC. Ren leads support at Northline, a 14-person freight-claims product. The plan is Free, and the project stores a monthly cap of 250 measured responses. Two surveys are active. Both are in-product, sample percent 100, no targeting rule. claim-csat asks after a claim is marked paid. product-nps is version 2. A surcharge line shipped on the claim form Monday, 2 November 2026, 11:40 UTC.
Ren opens product-nps results the way the Surveys list opens it. Version 2, measured by UserVane, channel All, trait and value empty. The board reads NPS 30, plus/minus 16, among measured by UserVane, N=140, response rate 100%. The lab says N=140, 95% confidence, true score almost certainly between +14 and +46. It does not say Still stabilizing, because 140 is past one hundred. The split is 70 promoters (9 or 10), 42 passives (7 or 8), and 28 detractors (0 through 6). NPS is 70 minus 28, over 140, which is 30. The passives sit in the denominator and do not get their own term. The measured card reads 140. Imported history reads 0. In-product 140, link 0, email 0.
Under Trend (7-day periods), This period is the 168 hours ending when the page opened: 30 October 09:05:00.000Z inclusive through 6 November 09:05:00.000Z exclusive. That card is NPS 30, plus/minus 42, N=20: 10 promoters, 6 passives, 4 detractors. Prior period, the 168 hours before that, is NPS 14, plus/minus 48, N=14: 6 promoters, 4 passives, 4 detractors. Neither card says Still stabilizing. The headline post is those two clocks.
The 100% next to N=140 is 140 measured answers over 140 plus zero stored dismissal rows on this survey. It is not how many people opened a claim this week. The response-rate post is that denominator.
09:08. Slack, drafted: "Surcharge line shipped Monday. NPS still 30 on 140, this week still 30 on 20, response rate 100%. Nobody new complained. Leaving the line."
The weak version, and what it costs by 09:20
The read that produced that draft looks like this:
Two 30s means the week of the ship matched the lifetime score.
Response rate 100% means the people who had a problem with the line answered.
A widget that stayed quiet after Monday means the form is fine.
The read that keeps 09:08 honest looks like this:
The 30 on 140 is every measured rating on version 2, with no date. 127 of those 140 are from before 1 November. They are most of the number, and the cap does not touch them.
This period's 20 are not the week of the surcharge. Seven are 30 and 31 October, before the line existed. Four are 1 November through 2 November 11:30 UTC, still before the ship. Eight are after 11:40 Monday and before Tuesday 14:22. One is Dana at 14:31.
From Tuesday 14:23 through Friday 09:05 the widget did not ask anyone who was eligible. Those sessions are not in the 20, and they are not in the 100%.
The weak version costs 09:20. Claims filed Wednesday, Thursday, and Friday morning carried the new line, and a first-time filer was not asked. The draft tells the founder the line held.
Tuesday 14:22 filled a counter the board does not print
The cap counts measured responses in the project with at on or after 2026-11-01T00:00:00.000Z. That window is the UTC month. It is not midnight in Chicago, and it is not the day the card is charged. 14:22 UTC is 08:22 in Chicago.
The 250th row is a claim-csat answer at 2026-11-03T14:22:00.000Z. Of those 250, 238 are claim-csat and 12 are product-nps. An imported row is not in the count. A measured row from October is not in the count. Both surveys share the one counter, so claim-csat filling it stops product-nps in the same minute.
The next bootstrap, 14:23, returns no show token for either survey. The browser SDK treats a missing token as do not show, so the widget stays down. Nothing on the screen says the cap was the reason. A person who answered either survey in the last 7 days is already dark for a different reason, the quiet period, which stops that person and not the project. The quiet-period post is that gate. The cap is why a first-time filer on Wednesday, outside that quiet window, also saw no widget.
14:40. Ren opens the hosted link for product-nps. The page says "This survey is not accepting responses right now." The survey is still Active on the Surveys list. That sentence is also what a per-survey max prints, and what an optional link cap prints. Northline set neither. The monthly counter is the gate that closed.
The results page is a different clock
The Surveys list prints "Monthly cap 250 measured responses" under the plan. It does not print how many of the 250 are used. The score cell beside product-nps is the lifetime 30. The measured card notes that link and email count toward the monthly cap. The counter itself is every measured row, and both of these surveys are in-product. A 140 on that card is not 140 of the 250. The public pricing line is the same 250, on the Free plan.
This period is not November. Opened at 09:05 on Friday, it starts 30 October at 09:05, so it holds days from before the counter and days from after the widget went dark. Refresh the page and both cards slide. The cap does not. It opens again at 2026-12-01T00:00:00.000Z, which is 18:00 on 30 November in Chicago.
A complete export is the count. Export responses is oldest first and stops at 10,000, which is the export post. Northline is under that ceiling, so the file has truncated: false, and the measured rows with at on or after 1 November come to 251, not 250.
Dana's token was already in the browser
Dana loaded the product at 14:18 UTC, while the counter stood at 249, and the widget received a token. Dana answered at 14:31, rating 2. "The surcharge is on the paid screen, not on the claim I filed." Submit accepts that token. The cap is checked when the token is issued, not when the answer is stored. The measurement honesty note is that rule. The row lands. The project count is 251, and Dana's 2 is inside the lifetime 30 and inside This period's 30.
The nine answers after the ship, eight before the cap closed and Dana after it, are under ten. The board will not print an NPS for them. Put This period on the sample size calculator before anyone quotes the 30: N=20, 10 promoters, 4 detractors. Plus/minus 42 is why that 30 is not the climate of the surcharge line. The nine are not a score.
Nine answers do not prove the surcharge is why Dana wrote that sentence, and a week of silence after the cap does not prove the line is fine. That is the limit.
Bottom line: at 09:05 the board is NPS 30 on 140 and This period is NPS 30 on 20. The widget has had no token since Tuesday 14:22, when claim-csat filled the project's 250. Count measured rows since 1 November before you tell the founder a quiet week means the line held.