Skip to contents

The default scoring backend. The original GfS point values are transcribed from Table 1 of Heimgartner and Axhausen (2024), "Predicting Response Rates Once Again" (Findings, doi:10.32866/001c.125481 ). The package extends the original scheme with documented inference rules for question types not in Table 1 (dropdowns, sliders, multi-answer matrices), hence GfS+. Override any element and pass the result to score_burden().

Usage

gfs_scheme()

Value

A named list of point values and conversion parameters.

Details

Table 1 items and the names used here:

GfS itempointsname
Question or transition (up to 3 lines)2.0descriptive_base
Each additional line1.0descriptive_per_extra_line
Closed yes/no answers1.0yes_no
Simple numerical answer (e.g. year of birth)1.0numeric_answer
Rating with up to 5 possibilities2.0rating_small
Rating with more than 5 possibilities3.0rating_large
Best of ranking with cards4.0rank_base
Second and each additional best ranking3.0rank_per_item
Answer to sub-questions of up to 5 words1.0open_short
Answer to sub-questions of up to 2 lines2.0open_medium
Half-open, < 8 possibilities (+ each additional)2.0 (+2.0)multi_small_base / multi_small_per_option
Half-open, >= 8 possibilities (+ each additional)4.0 (+3.0)multi_large_base / multi_large_per_option
Answer to "please specify"2.0please_specify
First answer to an open question6.0open_essay
Each additional answer to the open question3.0open_essay_per_extra
Filter0.5filter
Branching0.5branching
Stated choice question, 2 alternatives2.0sc_2_alt
Stated choice question, 3 alternatives3.0sc_3_alt
Per SC variable, per question1.0sc_per_variable

Reference only: rank_per_item, open_medium, please_specify, open_essay_per_extra, filter, branching, sc_2_alt, sc_3_alt and sc_per_variable are transcribed for completeness but not read by any automatic rule in score_burden(), so changing them does not change scores. vignette("gfs-scoring") lists the rule used for each question type.

Not in Table 1 – package-derived, used only where the QSF does not contain the quantity the scheme needs:

slider

2.0 – GfS has no slider; a graded slider is mapped to a rating, a magnitude slider to a numerical answer (see score_burden()).

matrix_cell_multi

0.5 – a multiple-answer ("tick all that apply") grid has no Table 1 rule. Each of its rows x cols cells is treated as one trivial closed yes/no decision (GfS closed yes/no is 1.0), discounted for grid working-memory efficiency. This is orientation-invariant – the score does not depend on which axis the QSF stored as rows. A documented inference, not GfS; the vignette describes the alternatives that were considered.

points_per_minute

12 – the published GfS rule of thumb ("twelve points roughly correspond to a one-minute response time", Heimgartner & Axhausen 2024). Overridable: set s$points_per_minute on the returned list, or feed a survey-specific figure from validate_times().

words_per_line

12 – a pragmatic conversion heuristic, not an empirically calibrated constant. GfS scores instruction text in rendered lines; a QSF has words, not a rendered width. Overridable, and exposed directly as burden_report(words_per_line = ...). The single most sensitive assumption for descriptive items.

Examples

s <- gfs_scheme()
s$rating_small
#> [1] 2
s$points_per_minute
#> [1] 12

# Override a single value
s$points_per_minute <- 10