Skills
Learnings log
Write a finished test up in four fixed sections, then decide what earns a place in the file everyone searches before proposing the next one.
When do you reach for Learnings log?
Reach for it as the last step of every test, wins and losses alike. Pair it with the learnings check: this one writes the file, that one reads it, and neither is much use without the other.
What goes in a write-up?
Four sections, always in this order, and the second is the one that matters most.
- We learned: what answers the hypothesis, positive and negative, plus anything nobody expected. The surprises are what still get read in two years.
- We did not learn: something, BECAUSE a stated reason. A bug, a planning miss, a sample that never arrived, a window too short to see the metric that counts.
- We now have these questions: written as testable questions, because these become the next hypotheses.
- So we are going to: ship, iterate, drop or run the complementary test, with each action tied to the learning above it.
Why does the log have two tiers?
Because a file where every test is recorded equally stops being read. The raw record lives wherever tests are tracked. The digest is curated, and most tests do not belong in it. A result that corroborates an existing pattern upgrades that entry rather than adding a second one. A single clean result gets in labelled provisional. An inconclusive one gets a line saying it was run, so nobody repeats it, and no pattern entry at all.
What happens when a new result contradicts an old one?
The old entry stays. A line goes underneath it naming the newer test and what changed. Editing history to match the present is how a log stops being trusted, and the disagreement between two dates is frequently the most useful thing in the file. Changes are shown as a diff and applied only after a yes, as targeted edits rather than a rewrite.
Why does the wording matter?
One sentence per test is the only part anyone reads in a year, and it has to be true beyond the page it came from. Visitors who cannot find the price leave before they read the value proposition transfers to the next page. Moving the price up lifted signups does not. It also has to be falsifiable: if no future test could contradict it, it is a slogan.
What you copy
One block, ready to paste. Nothing else to install unless the block says so.
1---2name: learnings-log3description: Write up a concluded test in four fixed sections, then promote what4 is worth keeping into the curated learnings digest with a confidence tier. Use5 as the last step of every test, wins and losses alike.6argument-hint: [test name or the result you just concluded]7---89# Learnings log1011Two jobs, in order. First write the outcome. Then decide what, if anything,12earns a place in the digest the next hypothesis will search.1314## Part 1 - the outcome, in four sections1516Always these four, always in this order.1718**We learned:**1920- The findings that answer the original hypothesis, positive and negative.21- At least one thing nobody expected, when there is one. Those are usually the22 entries still being read in two years.2324**We did not learn:**2526- Something BECAUSE the reason. A bug, a planning miss, a sample that never27 arrived, an external event, a window too short to see the metric that matters.28- This section is the one people skip and the one that stops the result being29 over-read later. An empty "we did not learn" almost always means it was not30 thought about.3132**We now have these questions:**3334- Written as specific, testable questions. These become the next hypotheses.3536**So we are going to:**3738- Ship it, iterate on it, drop it, or run the complementary test. Name the39 action and connect it to the learning above it.4041Keep two versions: the long one with the full context and numbers, and a short42plain-text one that survives being pasted into a tracker with no formatting.4344## Part 2 - promote it, or do not4546The raw record already lives wherever tests are tracked. The digest is a47curated file of proven and recent patterns, and it is only useful while it48stays high signal. Most tests do not belong in it.4950Assign a tier first:5152- **Proven.** This corroborates a pattern already in the digest, or a follow-up53 chain that held. Upgrade the existing entry, add this test's key to it, raise54 its tier. Do not add a second entry saying the same thing.55- **Provisional.** A single clean result, strong numbers, recent, never56 re-validated. Add a new entry and label it provisional out loud.57- **Weak.** Inconclusive, thin sample, or contradicted. No pattern entry. One58 line in the "already run" list so nobody repeats it.5960Never inflate the patterns section with single tests dressed as law. A pattern61earns the word proven by being validated twice, not by being written62confidently once.6364Every entry carries a tier and a date, so a future reader knows how much to65trust it without asking anyone.6667## Handling a result that contradicts an older one6869Do not edit the old entry to match the new one. Add a line under it naming the70newer test and what changed. A log people can rewrite is a log nobody trusts,71and the disagreement is often the most useful thing in the file.7273If three entries now say the same thing, promote them into one principle at the74top of the file and link all three.7576## Before writing7778Show the proposed changes as a diff, section by section, tier visible, and wait79for a yes. Then apply them as targeted edits rather than rewriting the file, so80the ordering and curation survive.8182## The line that matters8384The learning sentence is the only part anyone reads in a year. It must be true85beyond this page: "visitors who cannot find the price leave before they read86the value proposition" transfers, "moving the price up lifted signups" does87not. It must be falsifiable. And a flat or losing test gets one too, because88those are the entries that stop repeats.
Free to use in your own work, paid work included, no attribution required. Not for repackaging into a product you sell. Full terms.
More in skills
Back to every skills entry.