All rules

A member's tier that their own points or nights do not reach

tier-threshold-mismatchon by defaultJapanese / English

A stated tier whose member's points or nights fall outside that tier's band

Example

Flagged
- Status: Platinum - Nights stayed last year: 24 nights - Gold: 20 nights or more stayed last year - Platinum: 30 nights or more stayed last year
What chaff prints
2:28 The tier "Platinum" needs "30 nights or more stayed last year", but "24 nights" falls in "Gold"
Fixed
- Status: Gold - Nights stayed last year: 24 nights - Gold: 20 nights or more stayed last year - Platinum: 30 nights or more stayed last year
What chaff prints
no finding

How to fix

Check the member's value against the tier thresholds, and correct the tier or the value, whichever is wrong.

Why it matters

On a points or hotel statement, when the tier table says "Gold: 50,000 points or more" and a member stated as "Tier: Gold" has "Points earned last year: 42,400 points", the reader cannot tell whether the tier or the points are right. It happens when the value is updated and the tier is not, or when another member's value is copied. The bands of the document's tier table (the tier's name in the first column, its threshold in another) or tier list ("Gold: 20 nights or more stayed last year") are compared with the tier and the value stated in one section. A tier written with its lower end only (20 nights or more) is read as running up to where the next tier starts.

What it does not flag

Only a tier named exactly as in the table or list, with the thresholds and the member's value in one unit (points, nights, $), is compared. A balance, or what the next tier needs, is not counted as the member's value. Nothing is compared when the section states two or more member values in that unit, when two bands overlap, or when the thresholds are in different units. A value above a tier written with its lower end only (35 nights for a tier of 20 nights or more), and a value that falls in no tier, are not reported. A tier or a value written in a sentence is not read.

Turning it off or relaxing it

Silence this one spot (in the document)
<!-- stet: tier-threshold-mismatch — reason -->
Relax it for the team (the reason is kept as a comment in chaff.yaml)
npx chaffjs relax tier-threshold-mismatch --why "reason"
Turn it off for the team (chaff.yaml)
rules: tier-threshold-mismatch: off
Technical details
Layer
L3
Status
stable
Severity
warning
Languages
Japanese and English
Suited to
business, technical, blog, legal, docs, academic, literature, speech

Levels

Set a level for this rule under rules in chaff.yaml. With nothing set, it runs at the level its genre gives it (see By genre below).

stricterror
normalwarning
relaxedinfo

This rule has no limit to count to. A level sets how a finding is marked: relaxed keeps the finding and marks it a step lower.

By genre

Runs by default in
technical/spec, technical/readme, blog/tech, blog/essay, blog/owned-media, business/proposal, business/report, business/email, business/press-release, business/meeting-notes, legal/contract, legal/statute, legal/judgment, legal/patent, docs/manual, docs/faq, docs/glossary, academic/paper, speech/address, speech/transcript
Turned off by the genre in
literature/fiction, literature/essay, literature/poetry, literature/play

Genres

Message

The tier "{tier}" needs "{band}", but "{value}" falls in "{actual}"

This page is built from the rule's definition file:packages/chaff/rules/tier-threshold-mismatch.yaml