Automatic Balloon Analogue Risk Task - Automatic BART

Technical Manual

Credits:
This script is based in large part on the bart.iqjs script programmed by D. Nietz, Millisecond

Last Modified: January 12, 2024 by K. Borchert (katjab@millisecond.com), Millisecond

Script Copyright © Millisecond Software, LLC

Background

This script implements the autoBART, a measure of impulsivity and risk aversion, based on Pleskac et al (2008).

Differences Btw. Bart And Autobart
• participants indicate up front how many times they want to pump up the balloon • default instructions tell participants about the ideal settings • by default participants are told the explosionpoints for balloons that did not pop (setting can be edited) • script can be run with a prefixed sequence of explosionpoints or with randomly determined explosion points for each balloon (editable values)

References

Pleskac, T.J., Wallsten, T.S, Wang, P. & Lejuez, C.W. (2008). Development of an Automatic Response Mode to Improve the Clinical Utility of Sequential Risk-Taking Tasks. Experimental and Clinical Psychopharmacology, 16, 555–564.

Lejuez, C. W., Read, J. P., Kahler, C. W., Richards, J.B., Ramsey, S. E., Stuart, G. L., et al. (2002). Evaluation of a behavioral measure of risk-taking: The Balloon Analogue Risk Task (BART). Journal of Experimental Psychology: Applied, 8, 75–84.

Duration

10 minutes

Description

Participants are given 30 (default) balloons and are asked up front to indicate how often they want to pump up each balloon. For each successful pump, they can earn money. However, if a balloon pops before the indicated number of pumps is reached, participants lose all their potential winnings for the current balloon.

Procedure

• 30 ballons to pump up (default)
• participants indicate up front how many times the balloon should be pumped up
• each (successful) pump increases the possible reward gained from this balloon
• the probability of popping is by default 1/128; explosionpoints are either fixed (parameters.fixedExplosionsequence = true) or
random (parameters.fixedExplosionsequence = false)
=> If explosion points are random, they get determined by runtime by the same algorithm used for the BART.iqjs:
script samples randomly without replacement from a list of numbers 1-128: once the 1 gets sampled, the balloon pops.
The probability that the 1 gets sampled increases with each successful pump (-> list.pumpResult).

=> If explosion points are fixed, the original BARTY (youth BART, Lejuez et al, 2007) sequence
is used in this script (-> list.fixedExplosionpoints)

• after 30 balloons have been pumped, the experiment is over, and participants are given their final winnings
• script collects several measures that track the responses to the first 10, the second 10, and the third 10 balloons separately

Instructions

Instructions are not original but are based in part on Pleskac et al (2008).
Instructions can be easily edited under section Editable Instructions

Summary Data

File Name: autobart_summary*.iqdat

Data Fields

NameDescription
inquisit.version Inquisit version number
computer.platform Device platform: win | mac |ios | android
computer.touch 0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities
computer.hasKeyboard 0 = no external keyboard detected; 1 = external keyboard detected
startDate Date the session was run
startTime Time the session was run
subjectId Participant ID
groupId Group number
sessionId Session number
elapsedTime Session duration in ms
completed 0 = Test was not completed
1 = Test was completed
fixedExplosionsequence True = runs the same explosion point sequence for all participants (default)
false = explosion point is randomly determined for each balloon
totalEarnings Sums up the earnings across balloons
balloonCount Running total of number of balloons
totalExplosions The number of exploded balloons
nonexplodedBalloons The number of balloons out of (default) 30 that did NOT explode
totalWantedPumps Number of wanted pumps across all balloons (whether or not it came to it)
averageWantedPumps The mean pump count that participant wanted to pump up each balloon (includes exploded balloons)
stdWantedPumps Estimated Standard Deviation of wanted pumps
totalPumpCount Total number of actual pumps across balloons
averagePumpCount The mean number of actual pumps per balloon (includes exploded balloons)
stdPumpCount Estimated Standard Deviation of actual pumps (across all balloons, exploded and not)
adjustedTotalPumpCount Sums up the actual pumps of balloons that did not explode (= the number of pumps that participant indicated for non-exploded balloons)
adjustedAveragePumpCount Mean number of pumps only of balloons that did not explode (= the number of pumps that participant on average indicated for non-exploded balloons) (=Dependent Variable)
stdAdjustedPumpCount Estimated Standard Deviation of actual pumps of non-exploded balloons
balloonCount1 Separate measures for number of balloons for the first third (trials 1-10)
balloonCount2 Separate measures for number of balloons for the second third (trials 11-20)
balloonCount3 Separate measures for number of balloons for the last third (trials 21-30)
totalExplosions1 Separate measures for the number of totalExplosions for the first third (trials 1-10)
totalExplosions2 Separate measures for the number of totalExplosions for the second third (trials 11-20)
totalExplosions3 Separate measures for the number of totalExplosions for the last third (trials 21-30)
totalWantedPumps1 Number of wanted pumps (whether or not it came to it) for the first third (trials 1-10)
totalWantedPumps2 Number of wanted pumps (whether or not it came to it) for the second third (trials 11-20)
totalWantedPumps3 Number of wanted pumps (whether or not it came to it) for the last third (trials 21-30)
averageWantedPumps1 The mean pump count that participant wanted to pump up each balloon for the first third (trials 1-10) (includes exploded balloons)
averageWantedPumps2 The mean pump count that participant wanted to pump up each balloon for the second third (trials 11-20) (includes exploded balloons)
averageWantedPumps3 The mean pump count that participant wanted to pump up each balloon for the last third (trials 21-30) (includes exploded balloons)
nonExplodedBalloons1 Separate measures for the number of nonExplodedBalloons for the first third (trials 1-10)
nonExplodedBalloons2 Separate measures for the number of nonExplodedBalloons for the second third (trials 11-20)
nonExplodedBalloons3 Separate measures for the number of nonExplodedBalloons for the last third (trials 21-30)
totalPumpCount1 Separate measures for the first third (trials 1-10)
totalPumpCount2 Separate measures for the second third (trials 11-20)
totalPumpCount3 Separate measures for tthe last third (trials 21-30)
averagePumpCount1 Separate measures for the mean average pump count for the first third (trials 1-10)
averagePumpCount2 Separate measures for the mean average pump count for the second third (trials 11-20)
averagePumpCount3 Separate measures for the mean average pump count for the last third (trials 21-30)
adjustedTotalPumpCount1 Separate measures for the pumps of balloons that did not explode for the first third (trials 1-10)
adjustedTotalPumpCount2 Separate measures for the pumps of balloons that did not explode for the second third (trials 11-20)
adjustedTotalPumpCount3 Separate measures for the pumps of balloons that did not explode for the last third (trials 21-30)
adjustedAveragePumpCount1 Separate measures for pumps only of balloons that did not explode for the first third (trials 1-10)
adjustedAveragePumpCount2 Separate measures for pumps only of balloons that did not explode for the second third (trials 11-20)
adjustedAveragePumpCount3 Separate measures for pumps only of balloons that did not explode for the last third (trials 21-30)
postExplosionAdjustmentScore Measures sensitivity to punishment/loss
Difference in the mean number of pumps after successful collection - mean number of pumps after explosions
=> positive: trials after explosions had on average lower pump counts (sensitive to punishment)
=> negative: trials after explosions had on average higher pump counts (sensitive to losses)
postExplosionAdjustmentScore1 Separate measures for the first third (trials 1-10)
postExplosionAdjustmentScore2 Separate measures for the second third (trials 11-20)
postExplosionAdjustmentScore3 Separate measures for the last third (trials 21-30)

Raw Data

File Name: autobart_raw*.iqdat

Data Fields

NameDescription
build Inquisit version number
computer.platform Device platform: win | mac |ios | android
computer.touch 0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities
computer.hasKeyboard 0 = no external keyboard detected; 1 = external keyboard detected
date Date the session was run
time Time the session was run
subject Participant ID
group Group number
session Session number
blockcode The name the current block (built-in Inquisit variable)
blocknum The number of the current block (built-in Inquisit variable)
trialcode The name of the currently recorded trial (built-in Inquisit variable)
trialnum The number of the currently recorded trial (built-in Inquisit variable)
trialnum is a built-in Inquisit variable; it counts all trials run
even those that do not store data to the data file.
fixedExplosionsequence True = runs the same explosion point sequence for all participants (default)
false = explosion point is randomly determined for each balloon
balloonCount Running total of number of balloons
totalEarnings Sums up the earnings across balloons
explosionPoint The number of pumps after which the current balloon pops/would have popped
if parameters.fixedExplosionsequence = false and balloon did not pop
values.explosionpoint is randomly determined afterwards
explosion 0 = balloon did not explode
1 = balloon exploded
wantedPumps Number of times participant WANTS to pump up a balloon (resets for each balloon)
pumpCount Number of times a balloon actually gets pumped up (resets for each balloon
pumpResult The selected digit from list.pumpResult (only relevant if parameters.fixedExplosionsequence = false)
if 1 -> balloon pops
timeBefore1stPump Time it takes participant to decide on wanted number of pumps for each balloon
response The participant's response
only openended.pumpinput could collect response data
latency The response latency
see values.timeBefore1stPump (is the same in the autoBart)

Parameters

The procedure can be adjusted by setting the following parameters.

NameDescriptionDefault
Design
totalBalloons Number of balloons: Default is 30
this script includes summary variables that distinguish between the first 10, the second 10, and the third 10 balloons.
30
pumpValue Payoff per pump: Default is $.050.5
balloonSizeIncrement Ballon size increment in scale proportion to the original image0.01
showPumpCount Show current pump count
true: pump count is shown to participant (default)
false: pump count is not shown to participant
true
showBalloonCount Show current balloon count
true: ballon count is shown to participant (default)
false: ballon count is not shown to participant
true
showPotentialEarnings Show potential earnings for the current balloon (default)true
revealExplosionPoint True = reveals explosionpoints of non-popped balloons (default)
false = does not reveal explosionpoints of of non-popped balloons
true
fixedExplosionSequence True = runs the same explosion point sequence for all participants (default)
false = explosion point is randomly determined for each balloon
true
Timing Parameters
pumpDuration The time it takes for one pump in ms 50
revealDuration The time the explosion point of a non-popped balloon is presented at the end of the sequence1000