Skip to main content

Question Type: rating_question

Numbers on a scale

Updated over a week ago

When and Why to Use

Use this to capture how strongly a respondent feels about a given item or concept on a numeric scale. Ideal for:

  • Measuring attitudes or satisfaction

  • Capturing degrees of liking, agreement, or importance

  • Top-box / bottom-box analysis with recodes

Chat Experience

  • Slider or button-style input depending on style

  • Labels shown inline or at ends of the scale

  • Optional "Don't know" button at the bottom if configured

Button style with image

Slider style

Star style with image

Traditional Experience

  • Input rendered more horizontally with larger interactive area

  • Works well with remote or keyboard input

Button style with an image

Slider style, mobile optimized

Star style with an image

Image

Configuration Options

Option

Type

Required

Default

Description

question

string

yes

-

Text prompt shown to respondent

number_of_points

int

no

5 or label count

Number of points on the scale

first_point

int

no

1 or first label

Starting value on the scale

style

string

no

slider

"slider", "button", or "star"

labels

Dict[int, str]

no

-

Labels for specific points on the scale

image

MediaItem

no

-

Optional image shown above the question

default

int

no

random

Default value used in test mode

dont_know_option

str

no

-

Adds a "Don't know" option with this label

recodes

Dict[str, str]

no

-

Map numeric responses into grouped outputs

custom_validator

`Callable[[int], str

None]`

no

-

**topics

dict

no

-

For token substitution in text and grouped reporting

Example Code

Basic 5-point slider:

s.rating_question( "How much do you like this product?", number_of_points=5, style="slider", labels={ 1: "Dislike", 3: "Neutral", 5: "Like" } )

With recodes:

s.rating_question( "How much do you like this product?", number_of_points=5, recodes={ "1": "dislike", "2": "dislike", "3": "neutral", "4": "like", "5": "like" } )

With "Don't know" and topic token:

s.rating_question( "How do you rate {brand} cars?", number_of_points=5, labels={ 1: "Dislike", 3: "Neutral", 5: "Like" }, dont_know_option="Don't know", topic="Ford" )

Notes

  • slider and button styles include numeric values with labels

  • dont_know_option responses are recorded as -999

  • Use recodes to collapse scale points for reporting

  • custom_validator is helpful for attention checks or edge case handling

Did this answer your question?