Beta test rollout. This site is in community QA — please send feature requests, bug reports and data corrections on the Feedback page or on GitHub.

Home
    Disclaimer

    Trip-Report Classification Methodology

    Every community experience report on this site carries a tag — positive, neutral, or cautionary — summarising the author's own verdict on their experience. This page documents exactly how that tag is computed: the signals, the weights, the thresholds, and the measured accuracy. The system is deterministic and runs entirely locally; every tag can be reproduced and explained from the report text. (For the effect-profile scores, see the Effect Profile Scoring Methodology.)

    Signals

    Each Erowid report is scored on a continuous scale from −1 (unambiguous harm story) to +1 (unambiguously valued experience) by combining five signals. The tables below are rendered live from the exact constants the scorer uses, so this page always matches the code.

    1
    Erowid editorial topics (up to ±0.6)

    Erowid's human reviewers attach topic categories to ~99% of reports, including outcome categories. A report tagged Health Problems or Train Wrecks & Trip Disasters was judged by a person to describe harm; that judgement outweighs any single keyword. The first strong negative tag contributes −0.45 and each additional one −0.15; positive tags contribute the weights listed below.

    2
    Title (−0.45 to +0.40)

    Authors put verdicts in titles (“Never Again”, “Best Night of My Life”). A strong-negative title pattern contributes −0.40, a strong-positive +0.35, and mild vocabulary ±0.08 per hit, capped at ±0.16.

    3
    Conclusion zone (±0.35)

    The final fifth of the report (at least 400 and at most 2,500 characters) is scored separately, because the author's summing-up lives there. Strong vocabulary counts double; the net count is scaled by 0.09 per hit. This is the signal that catches reports which open warmly and end badly — Erowid exp #79150 opens “I loved life” and ends with “a massive snowball of mental issues”, and a classifier reading only the opening calls that positive.

    4
    Full body, density-normalised (±0.30)

    The whole text is scanned with the same lexicon, and the net count is divided by the report's length in thousands of words — so a long report does not accumulate spurious hits, and a short furious one is not diluted.

    5
    Harm events (0 to −0.36)

    Unambiguous emergency markers — hospitalisation, ambulance, seizures, overdose, psychiatric admission — contribute −0.12 each wherever they appear, unless negated (“didn't need the hospital” does not count). A report containing an un-negated harm event can never be tagged positive.

    Negation handling

    Every lexicon hit is checked against the 40 characters before it. “No regrets” does not count as regret, “never felt better” is recognised as a positive idiom, and “avoided the emergency room” is not a harm event. This voiding applies to all four lexicons and the event detector alike.

    Editorial topic weights

    The Erowid category ids below were verified against the full 41,408-report corpus (topic and substance ids share one namespace; only outcome topics are mapped).

    Erowid categoryidContribution
    Bad Trips6 −0.45 first / −0.15 each further
    Train Wrecks & Trip Disasters7 −0.45 first / −0.15 each further
    Post Trip Problems8 −0.45 first / −0.15 each further
    Addiction & Habituation10 −0.45 first / −0.15 each further
    Health Problems27 −0.45 first / −0.15 each further
    Overdose29 −0.45 first / −0.15 each further
    Hospital36 −0.45 first / −0.15 each further
    Difficult Experiences5 −0.18
    Loss of Magic34 −0.18
    Glowing Experiences4 +0.45
    Mystical Experiences9 +0.20
    Health Benefits32 +0.20

    From score to label

    The signal sum is clamped to [−1, +1] and mapped to the three display labels with deliberately asymmetric thresholds:

    cautionary ≤ -0.15   <  neutral  <  +0.22 ≤ positive

    The cautionary boundary sits closer to zero than the positive one because the two mistakes are not symmetrical on a harm-reduction site: a harm story mislabelled “positive” misleads in the dangerous direction, while a good story mislabelled “neutral” merely undersells. Two further guards enforce the same asymmetry: a report with a strong negative editorial tag, or an un-negated harm event, is never labelled positive regardless of its score; and if such a tag is present and the text does not actively push back, the label stays cautionary.

    Alongside the label, each report stores its raw score, a confidence grade (high / medium / low — driven by the score's magnitude and whether an editorial tag agrees), and a mixed flag set when a report carries substantial evidence in both directions — a genuinely great night followed by a hospital visit is mixed, not an average.

    What each source can support

    Erowid Full report text plus editorial topics: all five signals. This is the only corpus where the conclusion-zone and editorial signals exist, and the only one that can reach high confidence.
    Bluelight Title + stored excerpt only. Scored with the same lexicons in excerpt mode; confidence is capped at medium to say so.
    Reddit Title + stored excerpt only, same excerpt mode and the same confidence cap.
    Dose.wiki Structured reports whose conclusion is its own field, so the conclusion signal scores the author's exact verdict text rather than a tail-slice heuristic. No editorial topic signal exists for this corpus.

    Measured accuracy

    Before the re-tagged corpus shipped, a stratified sample of 54 Erowid reports (six from every old → new label transition, so the sample is deliberately hard) was independently labelled by two blinded raters reading the full text, with a third rater breaking ties. Against that reference:

    Old classifierThis system
    Agreement with human raters 22/54 (41%) 39/54 (72%)
    Harm stories labelled “positive” 4 of 16 0 of 16

    The sample deliberately over-weights the hard cases: it draws equally from every old-to-new label transition, including the classes where the two systems disagree, so corpus-wide accuracy is higher than the sampled figure. The raters themselves agreed with each other on 49 of 54 reports (91%), which bounds what any classifier can score on this reference. The remaining disagreements are dominated by genuinely contested reports — authors who valued an experience that Erowid’s reviewers filed under a harm category; this system sides with the reviewer in those cases, by design.

    Known limitations

    The scorer reads English only, cannot detect sarcasm, and can be misled by long quoted passages describing someone else's experience. On Bluelight and Reddit it sees only an excerpt, so a thread whose excerpt is scene-setting can still be under-tagged — the same failure the Erowid pipeline used to have, disclosed here rather than hidden. Reports with little affect vocabulary in either direction default to neutral at low confidence; neutral is the honest answer when the text does not argue.