//abc=1= AON passive, abc=2=sGMS passive, abc=3=dGMS passive for profittreatment //import excel "P:\andrej.woerner\Crowdfunding\crowdfunding\Data\alldata.xlsx", sheet("Tabelle1") firstrow clear import excel "C:\Users\Andrej Woerner\Crowdfunding\crowdfunding\Data\alldata.xlsx", sheet("Tabelle1") firstrow clear generate newframing=1 if new==1 replace newframing=0 if new!=1 generate japsession=1 if new==2 replace japsession=0 if new!=2 //replace session=japsession if new==2 generate mechanism=0 if new!=1 & new!=2 replace mechanism=1 if new==1 replace mechanism=2 if new==2 replace mechanism=1.5 if new==1.5 generate group=treatment*100+10*session+mechanism generate treatmentgroup=1 if treatment==1 replace treatmentgroup=2 if treatment==2 & mechanism==0 replace treatmentgroup=3 if treatment==2 & mechanism==2 replace treatmentgroup=4 if treatment==3 replace treatmentgroup=5 if treatment==4 & mechanism==0 replace treatmentgroup=6 if treatment==4 & mechanism==2 drop if treatmentgroup==. generate treatmentgroupperiod=treatmentgroup*100+period sort mechanism treatment session period decision generate sumatmoment=16-mod(_n,16) if ppnr!=17 replace sumatmoment=30*sumatmoment if ppnr!=17 replace sumatmoment=sumatmoment[_n-1] if decision==decision[_n-1] replace sumatmoment=. if treatment==1 | treatment==3 bysort period mechanism treatment session: egen avgbackerpayoff=mean(earnings) bysort period mechanism treatment session: egen priceranto=max(decision) replace priceranto=. if session!=33 generate third=1 if period<=15 replace third=2 if period>=16 replace third=3 if period>=31 generate producer=1 if ppnr==17 replace producer=0 if ppnr!=17 generate idnr=10000*treatment+1000*mechanism+100*session+ppnr generate groupidnr=10000*treatment+1000*mechanism+100*session generate newgroupactive=1 if treatment==3 & mechanism==0 & third>1 replace newgroupactive=2 if treatment==4 & mechanism==0 & third>1 replace newgroupactive=3 if treatment==4 & mechanism==2 & third>1 generate aon=0 replace aon=1 if (treatment==1 | treatment==3) sort mechanism treatment session period ppnr replace costs = costs[_n+1] if missing(costs) replace costs = costs[_n+1] if missing(costs) replace costs = costs[_n+1] if missing(costs) replace costs = costs[_n+1] if missing(costs) replace costs = costs[_n+1] if missing(costs) replace costs = costs[_n+1] if missing(costs) replace costs = costs[_n+1] if missing(costs) replace costs = costs[_n+1] if missing(costs) replace costs = costs[_n+1] if missing(costs) replace costs = costs[_n+1] if missing(costs) replace costs = costs[_n+1] if missing(costs) replace costs = costs[_n+1] if missing(costs) replace costs = costs[_n+1] if missing(costs) replace costs = costs[_n+1] if missing(costs) replace costs = costs[_n+1] if missing(costs) generate costid=1 if costs==50 replace costid=2 if costs==70 replace costid=3 if costs==90 replace costid=4 if costs==60 replace costid=5 if costs==80 replace costid=6 if costs==100 generate profittreatment=1 if costs==50 replace profittreatment=1 if costs==70 replace profittreatment=1 if costs==90 replace profittreatment=0 if costs==60 replace profittreatment=0 if costs==80 replace profittreatment=0 if costs==100 generate opttset=56 if treatment==4 & costs==50 replace opttset=78 if treatment==4 & costs==70 replace opttset=97 if treatment==4 & costs==90 replace opttset=60 if treatment==4 & costs==60 replace opttset=80 if treatment==4 & costs==80 replace opttset=100 if treatment==4 & costs==100 replace opttset=50 if treatment==3 & costs==50 replace opttset=78 if treatment==3 & costs==70 replace opttset=97 if treatment==3 & costs==90 replace opttset=60 if treatment==3 & costs==60 replace opttset=80 if treatment==3 & costs==80 replace opttset=100 if treatment==3 & costs==100 generate optrset=11 if treatment==4 & costs==50 replace optrset=11 if treatment==4 & costs==70 replace optrset=11 if treatment==4 & costs==90 replace optrset=0 if treatment==4 & costs==60 replace optrset=0 if treatment==4 & costs==80 replace optrset=0 if treatment==4 & costs==100 replace optrset=11 if treatment==3 & costs==50 replace optrset=11 if treatment==3 & costs==70 replace optrset=12 if treatment==3 & costs==90 replace optrset=10 if treatment==3 & costs==60 replace optrset=10 if treatment==3 & costs==80 replace optrset=11 if treatment==3 & costs==100 //////// generate emptset=56 if treatment==4 & costs==50 replace emptset=75 if treatment==4 & costs==70 replace emptset=94 if treatment==4 & costs==90 replace emptset=60 if treatment==4 & costs==60 replace emptset=80 if treatment==4 & costs==80 replace emptset=100 if treatment==4 & costs==100 replace emptset=67 if treatment==3 & costs==50 replace emptset=78 if treatment==3 & costs==70 replace emptset=94 if treatment==3 & costs==90 replace emptset=60 if treatment==3 & costs==60 replace emptset=80 if treatment==3 & costs==80 replace emptset=100 if treatment==3 & costs==100 generate emprset=10 if treatment==4 & costs==50 replace emprset=9 if treatment==4 & costs==70 replace emprset=11 if treatment==4 & costs==90 replace emprset=5 if treatment==4 & costs==60 replace emprset=6 if treatment==4 & costs==80 replace emprset=7 if treatment==4 & costs==100 replace emprset=9 if treatment==3 & costs==50 replace emprset=10 if treatment==3 & costs==70 replace emprset=11 if treatment==3 & costs==90 replace emprset=7 if treatment==3 & costs==60 replace emprset=8 if treatment==3 & costs==80 replace emprset=10 if treatment==3 & costs==100 replace tset=56 if treatment==2 & costs==50 replace tset=78 if treatment==2 & costs==70 replace tset=97 if treatment==2 & costs==90 replace tset=60 if treatment==2 & costs==60 replace tset=80 if treatment==2 & costs==80 replace tset=100 if treatment==2 & costs==100 replace tset=50 if treatment==1 & costs==50 replace tset=78 if treatment==1 & costs==70 replace tset=97 if treatment==1 & costs==90 replace tset=60 if treatment==1 & costs==60 replace tset=80 if treatment==1 & costs==80 replace tset=100 if treatment==1 & costs==100 replace rset=11 if treatment==2 & costs==50 replace rset=11 if treatment==2 & costs==70 replace rset=11 if treatment==2 & costs==90 replace rset=0 if treatment==2 & costs==60 replace rset=0 if treatment==2 & costs==80 replace rset=0 if treatment==2 & costs==100 replace rset=11 if treatment==1 & costs==50 replace rset=11 if treatment==1 & costs==70 replace rset=12 if treatment==1 & costs==90 replace rset=10 if treatment==1 & costs==60 replace rset=10 if treatment==1 & costs==80 replace rset=11 if treatment==1 & costs==100 replace tset = tset[_n+1] if missing(tset) replace tset = tset[_n+1] if missing(tset) replace tset = tset[_n+1] if missing(tset) replace tset = tset[_n+1] if missing(tset) replace tset = tset[_n+1] if missing(tset) replace tset = tset[_n+1] if missing(tset) replace tset = tset[_n+1] if missing(tset) replace tset = tset[_n+1] if missing(tset) replace tset = tset[_n+1] if missing(tset) replace tset = tset[_n+1] if missing(tset) replace tset = tset[_n+1] if missing(tset) replace tset = tset[_n+1] if missing(tset) replace tset = tset[_n+1] if missing(tset) replace tset = tset[_n+1] if missing(tset) replace tset = tset[_n+1] if missing(tset) replace rset = rset[_n+1] if missing(rset) replace rset = rset[_n+1] if missing(rset) replace rset = rset[_n+1] if missing(rset) replace rset = rset[_n+1] if missing(rset) replace rset = rset[_n+1] if missing(rset) replace rset = rset[_n+1] if missing(rset) replace rset = rset[_n+1] if missing(rset) replace rset = rset[_n+1] if missing(rset) replace rset = rset[_n+1] if missing(rset) replace rset = rset[_n+1] if missing(rset) replace rset = rset[_n+1] if missing(rset) replace rset = rset[_n+1] if missing(rset) replace rset = rset[_n+1] if missing(rset) replace rset = rset[_n+1] if missing(rset) replace rset = rset[_n+1] if missing(rset) generate valuationsquared=valuation^2 generate diffvalr=valuation-rset generate diffbidr=decision-rset generate autostop=0 if (treatment==2 | treatment==4) & producer==0 replace autostop=1 if sumatmoment2 generate bidr=1000*decision+rset sort mechanism treatment session period ppnr egen valbid_freq = sum(1) if !missing(valbid), by(valbid treatment) sort mechanism treatment session period ppnr egen tr_freq = sum(1) if !missing(trset), by(trset treatment) sort mechanism treatment session period ppnr egen bidr_freq = sum(1) if !missing(bidr), by(bidr treatment) sort mechanism treatment newframing japsession session period ppnr replace success = success[_n+1] if missing(success) replace success = success[_n+1] if missing(success) replace success = success[_n+1] if missing(success) replace success = success[_n+1] if missing(success) replace success = success[_n+1] if missing(success) replace success = success[_n+1] if missing(success) replace success = success[_n+1] if missing(success) replace success = success[_n+1] if missing(success) replace success = success[_n+1] if missing(success) replace success = success[_n+1] if missing(success) replace success = success[_n+1] if missing(success) replace success = success[_n+1] if missing(success) replace success = success[_n+1] if missing(success) replace success = success[_n+1] if missing(success) replace success = success[_n+1] if missing(success) generate diffvalbid=valuation-decision sort mechanism treatment session period earnings generate pricegms=valuation-earnings if (treatment==2 | treatment==4) & success==1 & decision>=valuation-earnings & earnings>0 replace pricegms = pricegms[_n+1] if missing(pricegms) & producer==0 replace pricegms = pricegms[_n+1] if missing(pricegms) & producer==0 replace pricegms = pricegms[_n+1] if missing(pricegms) & producer==0 replace pricegms = pricegms[_n+1] if missing(pricegms) & producer==0 replace pricegms = pricegms[_n+1] if missing(pricegms) & producer==0 replace pricegms = pricegms[_n+1] if missing(pricegms) & producer==0 replace pricegms = pricegms[_n+1] if missing(pricegms) & producer==0 replace pricegms = pricegms[_n+1] if missing(pricegms) & producer==0 replace pricegms = pricegms[_n+1] if missing(pricegms) & producer==0 replace pricegms = pricegms[_n+1] if missing(pricegms) & producer==0 replace pricegms = pricegms[_n+1] if missing(pricegms) & producer==0 replace pricegms = pricegms[_n+1] if missing(pricegms) & producer==0 replace pricegms = pricegms[_n+1] if missing(pricegms) & producer==0 replace pricegms = pricegms[_n+1] if missing(pricegms) & producer==0 generate decisionb=decision replace decisionb=pricegms if decision>pricegms & pricegms!=. generate obtained=0 if ppnr<17 replace obtained=1 if success==1 & (treatment==1 | treatment==3) & decision>=rset & ppnr<17 replace obtained=1 if success==1 & (treatment==2 | treatment==4) & decision>=pricegms & ppnr<17 generate indivsur=obtained*valuation bysort mechanism treatment session period: egen totalindivsur=total(indivsur) generate totalsurplus=(totalindivsur-costs)*success //generate totalsurplus=15*avgbackerpayoff+5*earningsproducer //////////////////////// generate protreatment=1 if costs==50 replace protreatment=1 if costs==70 replace protreatment=1 if costs==90 replace protreatment=0 if costs==60 replace protreatment=0 if costs==80 replace protreatment=0 if costs==100 ////Make treatment groups for the three mechanisms split up by objective and for rounds 16-45 for passive treatments generate abc=1 if mechanism==0 & treatment==1 & third>1 & protreatment==1 replace abc=2 if mechanism==0 & treatment==2 & third>1 & protreatment==1 replace abc=3 if mechanism==2 & treatment==2 & third>1 & protreatment==1 generate def=1 if mechanism==0 & treatment==1 & third>1 & protreatment==0 replace def=2 if mechanism==0 & treatment==2 & third>1 & protreatment==0 replace def=3 if mechanism==2 & treatment==2 & third>1 & protreatment==0 ////Make treatment groups for the three mechanisms split up by objective and for rounds 16-45 for active treatments generate abcA=1 if mechanism==0 & treatment==3 & third>1 & protreatment==1 replace abcA=2 if mechanism==0 & treatment==4 & third>1 & protreatment==1 replace abcA=3 if mechanism==2 & treatment==4 & third>1 & protreatment==1 generate defA=1 if mechanism==0 & treatment==3 & third>1 & protreatment==0 replace defA=2 if mechanism==0 & treatment==4 & third>1 & protreatment==0 replace defA=3 if mechanism==2 & treatment==4 & third>1 & protreatment==0 generate abcsession=abc*100+session bysort abc session period: egen avgvaluation=mean(valuation) sort abc session period ppnr generate defsession=def*100+session bysort def session period: egen avgvaluation2=mean(valuation) sort def session period ppnr ////////////////////////////// bysort mechanism treatment session third profittreatment: egen meanprofitbythird=mean(earningsproducer) bysort mechanism treatment session costs: egen meanprofitbycosts=mean(earningsproducer) bysort mechanism treatment session third profittreatment: egen meantotalsurplusbythird=mean(totalsurplus) bysort mechanism treatment session costs: egen meantotalsurplusbycosts=mean(totalsurplus) generate truemeanprofitbythird=5*meanprofitbythird generate surplusbacker=obtained*valuation bysort mechanism period treatment session: egen surplusround=mean(surplusbacker) replace surplusround=(15*surplusround-costs)*success //graph drop scatter1 //scatter decision valuation [w=valbid_freq] if treatment==2 & profittreatment==1 & third==1 & costs<70, msymbol(Oh) name(scatter1) xsize(4) ysize(6) yscale(range(25)) //graph drop scatter2 //scatter decision valuation [w=valbid_freq] if treatment==2 & profittreatment==1 & third==2 & costs<70, msymbol(Oh) name(scatter2) xsize(4) ysize(6) //graph drop scatter3 //scatter decision valuation [w=valbid_freq] if treatment==2 & profittreatment==1 & third==3 & costs<70, msymbol(Oh) name(scatter3) xsize(4) ysize(6) //graph drop scatter3 //scatter rset tset [w=tr_freq] if treatment==3 & third>0 & costs>0 & producer==1, msymbol(Oh) xsize(18) ysize(6) //graph combine scatter1 scatter2 scatter3, rows(1) xsize(13) ysize(5) generate highval=0 replace highval=1 if valuation>rset sort mechanism treatment session ppnr period generate obvmistake=0 if (treatment==2 | treatment==4) & producer==0 replace obvmistake=(valuation-pricegms)-earnings if (treatment==2 | treatment==4) & valuation>pricegms & success==1 & producer==0 replace obvmistake=-earnings if (treatment==2 | treatment==4) & valuationprice_`i' & (treatment==2 | treatment==4) generate higher_`i'=0 if (treatment==2 | treatment==4) & producer==0 replace higher_`i'=1 if decision>=price_`i' & (treatment==2 | treatment==4) & producer==0 sort mechanism treatment session period ppnr bysort mechanism treatment session period : egen mbackers_`i' = total(higher_`i') if (treatment==2 | treatment==4) & producer==0 replace actual=`i' if mbackers_`i'>=`i' & (treatment==2 | treatment==4) & producer==0 replace actualprice=ceil(price_`i') if mbackers_`i'>=`i' & (treatment==2 | treatment==4) & producer==0 replace actualprice=rset if rset>price_`i' & mbackers_`i'>=`i' & (treatment==2 | treatment==4) & producer==0 drop price_`i' higher_`i' mbackers_`i' } //payoff to backer i if all backers had bid valuation generate allvalue=. if (treatment==2 | treatment==4) generate allvalueprice=. if (treatment==2 | treatment==4) forvalues i=1/15 { generate price_`i'=tset/`i' if (treatment==2 | treatment==4) replace price_`i'=rset if rset>price_`i' & (treatment==2 | treatment==4) generate higher_`i'=0 if (treatment==2 | treatment==4) & producer==0 replace higher_`i'=1 if valuation>=price_`i' & (treatment==2 | treatment==4) & producer==0 sort mechanism treatment session period ppnr bysort mechanism treatment session period : egen mbackers_`i' = total(higher_`i') if (treatment==2 | treatment==4) & producer==0 replace allvalue=`i' if mbackers_`i'>=`i' & (treatment==2 | treatment==4) & producer==0 replace allvalueprice=ceil(price_`i') if mbackers_`i'>=`i' & (treatment==2 | treatment==4) & producer==0 replace allvalueprice=rset if rset>price_`i' & mbackers_`i'>=`i' & (treatment==2 | treatment==4) & producer==0 drop price_`i' higher_`i' mbackers_`i' } generate allvalueearnings=valuation-allvalueprice if allvalueprice!=. & (treatment==2 | treatment==4) & producer==0 replace allvalueearnings=0 if allvalueearnings<0 | allvalueearnings==. & producer ==0 & (treatment==2 | treatment==4) //and for producer: generate allvalueobtained=0 if (treatment==2 | treatment==4) replace allvalueobtained=1 if (treatment==2 | treatment==4) & valuation>=allvalueprice & allvalueprice!=. generate allvaluepaid=allvalueobtained*allvalueprice if (treatment==2 | treatment==4) & allvalueprice!=. bysort treatmentgroup session period: egen allvaluetotalpaid=total(allvaluepaid) generate allvaluerealprofit=0 if (treatment==2 | treatment==4) & producer==1 & costid<4 replace allvaluerealprofit=max(allvaluetotalpaid-costs,0) if (treatment==2 | treatment==4) & producer==1 & costid<4 generate allvaluerealsuccess=0 if (treatment==2 | treatment==4) & producer==1 & costid>3 replace allvaluerealsuccess=1 if (treatment==2 | treatment==4) & producer==1 & costid>3 & allvaluetotalpaid>=costs //payoff to backer i if backer i had bid valuation and all other backers continue bidding what they actually did generate actualownvalue=. if (treatment==2 | treatment==4) generate actualownvalueprice=. if (treatment==2 | treatment==4) generate ghu=0 forvalues j=1/16 { forvalues i=1/15 { generate price_`i'=tset/`i' if (treatment==2 | treatment==4) replace price_`i'=rset if rset>price_`i' & (treatment==2 | treatment==4) generate higher_`i'=0 if (treatment==2 | treatment==4) & producer==0 replace higher_`i'=1 if decision>=price_`i' & (treatment==2 | treatment==4) & producer==0 replace higher_`i'=1 if valuation>=price_`i' & (treatment==2 | treatment==4) & producer==0 & ppnr==`j' sort mechanism treatment session period ppnr bysort mechanism treatment session period : egen mbackers_`i' = total(higher_`i') if (treatment==2 | treatment==4) & producer==0 replace actualownvalue=`i' if mbackers_`i'>=`i' & (treatment==2 | treatment==4) & producer==0 & ppnr==`j' replace actualownvalueprice=ceil(price_`i') if mbackers_`i'>=`i' & (treatment==2 | treatment==4) & producer==0 & ppnr==`j' replace actualownvalueprice=rset if rset>price_`i' & mbackers_`i'>=`i' & (treatment==2 | treatment==4) & producer==0 & ppnr==`j' drop price_`i' higher_`i' mbackers_`i' replace ghu=`j' } } generate actualownvalueearnings=valuation-actualownvalueprice if actualownvalueprice!=. & (treatment==2 | treatment==4) & producer==0 replace actualownvalueearnings=0 if actualownvalueearnings<0 | actualownvalueearnings==. & producer==0 & (treatment==2 | treatment==4) //payoff to backer i if backer i had bid reservation price and all other backers continue bidding what they actually did generate actualrset=. if (treatment==2 | treatment==4) generate actualrsetprice=. if (treatment==2 | treatment==4) generate ghu2=0 forvalues j=1/16 { forvalues i=1/15 { generate price_`i'=tset/`i' if (treatment==2 | treatment==4) replace price_`i'=rset if rset>price_`i' & (treatment==2 | treatment==4) generate higher_`i'=0 if (treatment==2 | treatment==4) & producer==0 replace higher_`i'=1 if decision>=price_`i' & (treatment==2 | treatment==4) & producer==0 & ppnr!=`j' replace higher_`i'=1 if (treatment==2 | treatment==4) & producer==0 & ppnr==`j' & valuation>=rset & rset>=price_`i' sort mechanism treatment session period ppnr bysort mechanism treatment session period : egen mbackers_`i' = total(higher_`i') if (treatment==2 | treatment==4) & producer==0 replace actualrset=`i' if mbackers_`i'>=`i' & (treatment==2 | treatment==4) & producer==0 & ppnr==`j' replace actualrsetprice=ceil(price_`i') if mbackers_`i'>=`i' & (treatment==2 | treatment==4) & producer==0 & ppnr==`j' replace actualrsetprice=rset if rset>price_`i' & mbackers_`i'>=`i' & (treatment==2 | treatment==4) & producer==0 & ppnr==`j' drop price_`i' higher_`i' mbackers_`i' replace ghu2=`j' } } generate actualrsetearnings=valuation-actualrsetprice if actualrsetprice!=. & (treatment==2 | treatment==4) & producer==0 & actualrsetprice==rset replace actualrsetearnings=0 if actualrsetearnings<0 | actualrsetearnings==. & producer==0 & (treatment==2 | treatment==4) // Percentage of ex-post costly mistakes (where mistakes are defined as lower payoff than as if backer i had bid own valuation and all other backers continue bidding what they actually did) generate mistake=actualownvalueearnings-earnings if (treatment==2 | treatment==4) & producer==0 generate indmistake=0 if (treatment==2 | treatment==4) & producer==0 replace indmistake=1 if mistake>0 & (treatment==2 | treatment==4) & producer==0 generate indobvmistake=0 if (treatment==2 | treatment==4) & producer==0 replace indobvmistake=1 if obvmistake>0 & (treatment==2 | treatment==4) & producer==0 sort mechanism treatment session ppnr period generate lastindobvmistake=indobvmistake[_n-1] if producer==0 & (treatment==2 | treatment==4) & ppnr==ppnr[_n-1] generate minusearnings=0 if (treatment==2 | treatment==4) & producer==0 replace minusearnings=-earnings if (treatment==2 | treatment==4) & producer==0 & earnings<0 generate indminusearnings=0 if (treatment==2 | treatment==4) & producer==0 replace indminusearnings=1 if (treatment==2 | treatment==4) & producer==0 & minusearnings>0 generate bidisvalue=0 if producer==0 replace bidisvalue=1 if producer==0 & decision==valuation generate bidgrvalue=0 if producer==0 replace bidgrvalue=1 if producer==0 & valuationpricenow & (treatment==2 | treatment==4) & producer==0 replace abcd=abcd+1 if (treatment==2 | treatment==4) & producer==0 & ((valuation>pricenow & pricenow>decision)|(valuationpricenow & pricenow>decision replace toohighq=toohighq+1 if (treatment==2 | treatment==4) & producer==0 & valuation=ceil(tset/`i') //replace higherb=higherb+1 if (treatment==2 | treatment==4) & producer==0 & decision>=ceil(tset/`i') } //} generate nodev=0 if producer==0 & (treatment==2 | treatment==4) replace nodev=1 if producer==0 & (treatment==2 | treatment==4) & abcd==0 generate bestresponse=0 if producer==0 & (treatment==2 | treatment==4) replace bestresponse=lowvb+bidisvalue+bid1smvalue+nodev if producer==0 & (treatment==2 | treatment==4) replace bestresponse=1 if producer==0 & (treatment==2 | treatment==4) & bestresponse>1 //for japanese generate abcdj=0 if (treatment==2 | treatment==4) & producer==0 generate toolowqj=0 if (treatment==2 | treatment==4) & producer==0 generate toohighqj=0 if (treatment==2 | treatment==4) & producer==0 generate pricenowj=0 if (treatment==2 | treatment==4) & producer==0 replace stillin=0 if (treatment==2 | treatment==4) & producer==0 & japsession!=1 replace stillin=1 if (treatment==2 | treatment==4) & producer==0 & japsession!=1 & ((decision>=pricegms & pricegms!=.) | autostop==1) //generate higherb=0 if (treatment==2 | treatment==4) & producer==0 //forvalues j=1/16 { forvalues i=1/15 { replace pricenowj=ceil(tset/`i') if (treatment==2 | treatment==4) & producer==0 replace pricenowj=rset if rset>pricenowj & (treatment==2 | treatment==4) & producer==0 replace abcdj=abcdj+1 if (treatment==2 | treatment==4) & producer==0 & ((valuation>pricenowj & pricenowj>decision & stillin==0)|(valuationpricenowj & pricenowj>decision & japsession==1 replace toohighqj=toohighqj+1 if (treatment==2 | treatment==4) & producer==0 & valuationpricenowj & pricenowj>decision & stillin==0)|(valuationpricenowj & pricenowj>decisionb & japsession!=1 replace toohighqj=toohighqj+1 if (treatment==2 | treatment==4) & producer==0 & valuation=ceil(tset/`i') //replace higherb=higherb+1 if (treatment==2 | treatment==4) & producer==0 & decision>=ceil(tset/`i') } //} generate nodevj=0 if producer==0 & (treatment==2 | treatment==4) replace nodevj=1 if producer==0 & (treatment==2 | treatment==4) & abcdj==0 generate bestresponsej=0 if producer==0 & (treatment==2 | treatment==4) replace bestresponsej=lowvb+bidisvalue+bid1smvalue+nodevj if producer==0 & (treatment==2 | treatment==4) replace bestresponsej=1 if producer==0 & (treatment==2 | treatment==4) & bestresponsej>1 generate toolowj=0 if producer==0 & (treatment==2 | treatment==4) replace toolowj=1 if producer==0 & (treatment==2 | treatment==4) & toolowqj>0 replace toolowj=0 if bestresponsej==1 generate toohighj=0 if producer==0 & (treatment==2 | treatment==4) replace toohighj=1 if producer==0 & (treatment==2 | treatment==4) & toohighqj>0 //bestresponsej yields bestresponse for japanese version //end japanese generate toolow=0 if producer==0 & (treatment==2 | treatment==4) replace toolow=1 if producer==0 & (treatment==2 | treatment==4) & toolowq>0 generate toohigh=0 if producer==0 & (treatment==2 | treatment==4) replace toohigh=1 if producer==0 & (treatment==2 | treatment==4) & toohighq>0 generate weaklydominated=1-bestresponse if producer==0 & (treatment==2 | treatment==4) bysort mechanism treatment session ppnr: egen avgweaklydominated=mean(weaklydominated) if producer==0 & (treatment==2 | treatment==4) sort mechanism treatment session ppnr period generate lastweaklydominated=weaklydominated[_n-1] if producer==0 & (treatment==2 | treatment==4) & ppnr==ppnr[_n-1] sort mechanism treatment session ppnr period generate nextweaklydominated=weaklydominated[_n+1] if producer==0 & (treatment==2 | treatment==4) & ppnr==ppnr[_n+1] sort mechanism treatment session ppnr period //generate lastindobvmistake=indobvmistake[_n-1] if producer==0 & (treatment==2 | treatment==4) & ppnr==ppnr[_n-1] sort mechanism treatment session ppnr period generate nextindobvmistake=indobvmistake[_n+1] if producer==0 & (treatment==2 | treatment==4) & ppnr==ppnr[_n+1] //weaklydominated AON Lemma 1-3 replace weaklydominated=0 if (treatmentgroup==1 | treatmentgroup==4) & producer==0 replace weaklydominated=1 if decision!=0 & valuationrset & (treatmentgroup==1 | treatmentgroup==4) & producer==0 replace weaklydominated=1 if decision>=valuation & valuation>rset & (treatmentgroup==1 | treatmentgroup==4) & producer==0 //check for aon passive whether people play according to bayesian nash equilibrium (bnequal)...or whether they play best response given that all others play bayesian nash equilibrium (bninline) generate bnequal=0 if producer==0 & treatment==1 replace bnequal=1 if producer==0 & treatment==1 & valuation=rset & decision==rset & costs==50 replace bnequal=1 if producer==0 & treatment==1 & valuation>=rset & decision==rset & costs==60 replace bnequal=1 if producer==0 & treatment==1 & valuation>=rset & decision==rset & costs==80 replace bnequal=1 if producer==0 & treatment==1 & valuation>=11 & valuation<=19 & decision==11 & costs==70 replace bnequal=1 if producer==0 & treatment==1 & valuation>=19 & decision==12 & costs==70 replace bnequal=1 if producer==0 & treatment==1 & valuation>=12 & valuation<=19 & decision==12 & costs==90 replace bnequal=1 if producer==0 & treatment==1 & valuation>=19 & decision==13 & costs==90 replace bnequal=1 if producer==0 & treatment==1 & valuation>=11 & valuation<=19 & decision==11 & costs==100 replace bnequal=1 if producer==0 & treatment==1 & valuation>=19 & decision==12 & costs==100 generate bninline=bnequal replace bninline=1 if producer==0 & treatment==1 & valuation<=rset & decision==0 generate bnhigher=0 if producer==0 & treatment==1 replace bnhigher=1 if producer==0 & treatment==1 & valuation0 replace bnhigher=1 if producer==0 & treatment==1 & valuation>=rset & decision>rset & costs==50 replace bnhigher=1 if producer==0 & treatment==1 & valuation>=rset & decision>rset & costs==60 replace bnhigher=1 if producer==0 & treatment==1 & valuation>=rset & decision>rset & costs==80 replace bnhigher=1 if producer==0 & treatment==1 & valuation>=11 & valuation<19 & decision>11 & costs==70 replace bnhigher=1 if producer==0 & treatment==1 & valuation>=19 & decision>12 & costs==70 replace bnhigher=1 if producer==0 & treatment==1 & valuation>=12 & valuation<19 & decision>12 & costs==90 replace bnhigher=1 if producer==0 & treatment==1 & valuation>=19 & decision>13 & costs==90 replace bnhigher=1 if producer==0 & treatment==1 & valuation>=11 & valuation<19 & decision>11 & costs==100 replace bnhigher=1 if producer==0 & treatment==1 & valuation>=19 & decision>12 & costs==100 generate bnlower=0 if producer==0 & treatment==1 //replace bnlower=1 if producer==0 & treatment==1 & valuation0 replace bnlower=1 if producer==0 & treatment==1 & valuation>=rset & decision=rset & decision=rset & decision=11 & valuation<=19 & decision<11 & costs==70 replace bnlower=1 if producer==0 & treatment==1 & valuation>19 & decision<12 & costs==70 replace bnlower=1 if producer==0 & treatment==1 & valuation>=12 & valuation<=19 & decision<12 & costs==90 replace bnlower=1 if producer==0 & treatment==1 & valuation>19 & decision<13 & costs==90 replace bnlower=1 if producer==0 & treatment==1 & valuation>=11 & valuation<=19 & decision<11 & costs==100 replace bnlower=1 if producer==0 & treatment==1 & valuation>19 & decision<12 & costs==100 replace bnlower=1 if producer==0 & treatment==1 & valuation==rset & decision==0 generate bn=0 if producer==0 & treatment==1 replace bn=0 if producer==0 & treatment==1 & valuation=rset & costs==50 replace bn=10 if producer==0 & treatment==1 & valuation>=rset & costs==60 replace bn=10 if producer==0 & treatment==1 & valuation>=rset & costs==80 replace bn=11 if producer==0 & treatment==1 & valuation>=11 & valuation<19 & costs==70 replace bn=11.5 if producer==0 & treatment==1 & valuation==19 & costs==70 replace bn=12 if producer==0 & treatment==1 & valuation==20 & costs==70 replace bn=12 if producer==0 & treatment==1 & valuation>=12 & valuation<19 & costs==90 replace bn=12.5 if producer==0 & treatment==1 & valuation==19 & costs==90 replace bn=13 if producer==0 & treatment==1 & valuation==20 & costs==90 replace bn=11 if producer==0 & treatment==1 & valuation>=11 & valuation<19 & costs==100 replace bn=11.5 if producer==0 & treatment==1 & valuation==19 & costs==100 replace bn=12 if producer==0 & treatment==1 & valuation==20 & costs==100 replace bn=0 if producer==0 & treatment==3 & tset==20 & rset==5 & valuation<5 replace bn=5 if producer==0 & treatment==3 & tset==20 & rset==5 & valuation>=5 replace bn=0 if producer==0 & treatment==3 & tset==50 & rset==7 & valuation<7 replace bn=7 if producer==0 & treatment==3 & tset==50 & rset==7 & valuation>=7 replace bn=0 if producer==0 & treatment==3 & tset==50 & rset==8 & valuation<8 replace bn=8 if producer==0 & treatment==3 & tset==50 & rset==8 & valuation>=8 replace bn=0 if producer==0 & treatment==3 & tset==50 & rset==9 & valuation<9 replace bn=9 if producer==0 & treatment==3 & tset==50 & rset==9 & valuation>=9 replace bn=0 if producer==0 & treatment==3 & tset==52 & rset==7 & valuation<7 replace bn=7 if producer==0 & treatment==3 & tset==52 & rset==7 & valuation>=7 //check whether t55 and r4 is correct bn...also if two possible then use .5 replace bn=0 if producer==0 & treatment==3 & tset==55 & rset==4 & valuation<4 replace bn=4 if producer==0 & treatment==3 & tset==55 & rset==4 & valuation>=4 & valuation<16 replace bn=5 if producer==0 & treatment==3 & tset==55 & rset==4 & valuation>=15 & valuation<19 replace bn=6 if producer==0 & treatment==3 & tset==55 & rset==4 & valuation>=18 replace bn=7 if producer==0 & treatment==3 & tset==55 & rset==4 & valuation==20 /// replace bn=0 if producer==0 & treatment==3 & tset==55 & rset==10 & valuation<10 replace bn=10 if producer==0 & treatment==3 & tset==55 & rset==10 & valuation>=10 replace bn=0 if producer==0 & treatment==3 & tset==55 & rset==11 & valuation<11 replace bn=11 if producer==0 & treatment==3 & tset==55 & rset==11 & valuation>=11 replace bn=0 if producer==0 & treatment==3 & tset==55 & rset==9 & valuation<9 replace bn=9 if producer==0 & treatment==3 & tset==55 & rset==9 & valuation>=9 replace bn=0 if producer==0 & treatment==3 & tset==60 & rset==10 & valuation<10 replace bn=10 if producer==0 & treatment==3 & tset==60 & rset==10 & valuation>=10 replace bn=0 if producer==0 & treatment==3 & tset==60 & rset==6 & valuation<6 replace bn=6 if producer==0 & treatment==3 & tset==60 & rset==6 & valuation>=6 sort mechanism treatment session period ppnr bysort mechanism treatment session period: egen sumvaluation=total(valuation) bysort mechanism treatment session period: egen sumbid=total(decision) sort mechanism treatment session period ppnr generate allvaluetransfer=allvalue[_n-1]*allvalueprice[_n-1] if producer==1 generate allvalueearnprod=0 if producer==1 & (treatment==2 | treatment==4) replace allvalueearnprod=(allvaluetransfer-costs)*1/5 if profittreatment==1 & producer==1 & !missing(allvaluetransfer) replace allvalueearnprod=3 if allvaluetransfer>=costs & profittreatment==0 & producer==1 & !missing(allvaluetransfer) sort mechanism treatment session period ppnr bysort mechanism treatment session period: egen bntransfer=total(bn) if aon==1 generate allbnearnprod=0 if producer==1 & aon==1 replace allbnearnprod=(bntransfer-costs)*1/5 if bntransfer>=tset & profittreatment==1 & producer==1 & !missing(bntransfer) replace allbnearnprod=3 if bntransfer>=costs & bntransfer>=tset & profittreatment==0 & producer==1 & !missing(bntransfer) sort mechanism treatment session period ppnr generate paid=0 & producer==0 replace paid=obtained*pricegms if pricegms!=. replace paid=decision if aon==1 & success==1 bysort mechanism treatment session period: egen totalpaid=total(paid) generate realprofit=. replace realprofit=earningsproducer replace realprofit=5*earningsproducer if profittreatment==1 replace realprofit=0 if realprofit<0 generate realsurplus=totalsurplus if producer==1 replace realsurplus=0 if totalpaidcosts generate tislc=0 replace tislc=1 if tset=costs & totalpaid>=tset & producer==1 & aon==0 & profittreatment==1 replace realsuccess=1 if sumbid>=costs & sumbid>=tset & producer==1 & aon==1 & profittreatment==1 generate identifier=1 if treatment==1 replace identifier=2 if treatment==2 & mechanism==0 replace identifier=3 if treatment==2 & mechanism==2 replace identifier=4 if treatment==3 replace identifier=5 if treatment==4 & mechanism==0 replace identifier=6 if treatment==4 & mechanism==2 generate identifier2=1 if identifier<4 replace identifier2=2 if identifier>3 generate identifier3=1 if identifier==1 | identifier==4 replace identifier3=2 if identifier==2 | identifier==5 replace identifier3=3 if identifier==3 | identifier==6 sort mechanism treatment session period ppnr order mechanism treatment session ppnr period valuation decision decisionb stillin bestresponse bestresponsej pricegms costs tset rset success sumbid paid totalpaid realsuccess earnings earningsproducer weaklydominated bn bnequal bnhigher bnlower lastweaklydominated nextweaklydominated indmistake mistake indobvmistake obvmistake lastindobvmistake //mean indmistake if producer==0, over(treatment third) //mean mistake if producer==0, over (treatment) //mean indminusearnings if producer==0, over(treatment third) //mean minusearnings if producer==0, over (treatment third) //mean indobvmistake if producer==0, over(treatment) //mean obvmistake if producer==0, over (treatment) //mean bidisvalue if producer==0, over(treatment) //mean bidgrvalue if producer==0, over(treatment) //mean bidsmvalue if producer==0, over(treatment) //mean bid1smvalue if producer==0, over(treatment) //mean bidisr if producer==0, over(treatment profittreatment) //mean bestresponse if producer==0, over(treatment) //mean nodev if producer==0, over(treatment) mean weaklydominated if producer==0, over(treatment third) //only 11% of weakly dominated actions actually lead to loss in earnings...10% resp. 16% for v>b resp. b>v...could explain why learning so difficult regress indmistake weaklydominated if producer==0 & treatment==2 mean earningsproducer, over(treatment session) mean realsurplus, over(treatment session) mean bestresponse, over(treatment session) generate testa=1 if _n==1 replace testa=2 if _n==2 replace testa=3 if _n==3 replace testa=4 if _n==4 replace testa=5 if _n==5 replace testa=6 if _n==6 generate testb=0 if _n==1 replace testb=0 if _n==2 replace testb=0 if _n==3 replace testb=0 if _n==4 replace testb=0 if _n==5 replace testb=0 if _n==6 bysort mechanism treatment session: egen profitprofit=mean(realprofit) if third>1 & (mechanism==0 | mechanism==2) & profittreatment==1 order profitprofit gsort mechanism treatment session - period replace profitprofit=. if profitprofit[_n-1]==profitprofit & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period replace profitprofit=. if profitprofit[_n-1]==. & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period sort mechanism treatment session profitprofit replace profitprofit=. if profitprofit[_n+1]==profitprofit & mechanism[_n+1]==mechanism & treatment[_n+1]==treatment & session[_n+1]==session bysort mechanism treatment session: egen profitsurplus=mean(realsurplus) if third>1 & (mechanism==0 | mechanism==2) & profittreatment==1 order profitsurplus gsort mechanism treatment session - period replace profitsurplus=. if profitsurplus[_n-1]==profitsurplus & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period replace profitsurplus=. if profitsurplus[_n-1]==. & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period sort mechanism treatment session profitsurplus replace profitsurplus=. if profitsurplus[_n+1]==profitsurplus & mechanism[_n+1]==mechanism & treatment[_n+1]==treatment & session[_n+1]==session bysort mechanism treatment session: egen successsuccess=mean(realsuccess) if third>1 & (mechanism==0 | mechanism==2) & profittreatment==0 order successsuccess gsort mechanism treatment session - period replace successsuccess=. if successsuccess[_n-1]==successsuccess & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period replace successsuccess=. if successsuccess[_n-1]==. & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period sort mechanism treatment session successsuccess replace successsuccess=. if successsuccess[_n+1]==successsuccess & mechanism[_n+1]==mechanism & treatment[_n+1]==treatment & session[_n+1]==session bysort mechanism treatment session: egen successsurplus=mean(realsurplus) if third>1 & (mechanism==0 | mechanism==2) & profittreatment==0 order successsurplus gsort mechanism treatment session - period replace successsurplus=. if successsurplus[_n-1]==successsurplus & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period replace successsurplus=. if successsurplus[_n-1]==. & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period sort mechanism treatment session successsurplus replace successsurplus=. if successsurplus[_n+1]==successsurplus & mechanism[_n+1]==mechanism & treatment[_n+1]==treatment & session[_n+1]==session erase b1.gph erase b2.gph erase b3.gph erase b4.gph //erase scatter1.gph /////////////////////////////////////////////////////////////////////////////// performance graphs for passive treatments bysort abc session: egen realprofit2=mean(realprofit) if producer==1 & abc!=. order realprofit2 gsort mechanism treatment session - period //replace realprofit2=. if realprofit2[_n-1]==realprofit2 & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period //replace realprofit2=. if realprofit2[_n-1]==. & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period sort mechanism treatment session realprofit2 replace realprofit2=. if realprofit2[_n+1]==realprofit2 & mechanism[_n+1]==mechanism & treatment[_n+1]==treatment & session[_n+1]==session preserve collapse (mean) meanrealprofit= realprofit2 (sd) sdrealprofit=realprofit2 (count) n=realprofit2, by(abc) generate hirealprofit = meanrealprofit + invttail(n-1,0.025)*(sdrealprofit / sqrt(n)) generate lorealprofit = meanrealprofit - invttail(n-1,0.025)*(sdrealprofit / sqrt(n)) generate BT = abc //replace BT = Treatment+3 if NonProcInd==1 sort BT twoway (bar meanrealprofit BT) /// (rcap hirealprofit lorealprofit BT) (scatteri 14.17 1.1 14.37 1.1, recast(line) lcolor(black)) (scatteri 14.17 1.9 14.37 1.9, recast(line) lcolor(black)) (scatteri 14.37 1.1 14.37 1.9, recast(line) lcolor(black)) (scatteri 14.57 1.5 (0)"*", msymbol(none) lcolor(black)) (scatteri 14.44 2.1 14.64 2.1, recast(line) lcolor(black)) (scatteri 14.44 2.9 14.64 2.9, recast(line) lcolor(black)) (scatteri 14.64 2.1 14.64 2.9, recast(line) lcolor(black)) (scatteri 14.84 2.5 (0)"*", msymbol(none) lcolor(black)) (scatteri 15.790173 0.5 15.790173 1.5, recast(line) lpattern(dash) lcolor(black)) (scatteri 16.29204 1.5 16.29204 3.5, recast(line) lpattern(dash) lcolor(black)), legend(off) ylabel(,nogrid) saving(b1) restore bysort abc session: egen realsurplus2=mean(realsurplus) if producer==1 & abc!=. order realsurplus2 gsort mechanism treatment session - period //replace realprofit2=. if realprofit2[_n-1]==realprofit2 & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period //replace realprofit2=. if realprofit2[_n-1]==. & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period sort mechanism treatment session realsurplus2 replace realsurplus2=. if realsurplus2[_n+1]==realsurplus2 & mechanism[_n+1]==mechanism & treatment[_n+1]==treatment & session[_n+1]==session preserve collapse (mean) meanrealsurplus= realsurplus2 (sd) sdrealsurplus=realsurplus2 (count) n=realsurplus2, by(abc) generate hirealsurplus = meanrealsurplus + invttail(n-1,0.025)*(sdrealsurplus / sqrt(n)) generate lorealsurplus = meanrealsurplus - invttail(n-1,0.025)*(sdrealsurplus / sqrt(n)) generate BT = abc //replace BT = Treatment+3 if NonProcInd==1 sort BT twoway (bar meanrealsurplus BT) /// (rcap hirealsurplus lorealsurplus BT) (scatteri 30.9 1.1 31.4 1.1, recast(line) lcolor(black)) (scatteri 30.9 1.9 31.4 1.9, recast(line) lcolor(black)) (scatteri 31.4 1.1 31.4 1.9, recast(line) lcolor(black)) (scatteri 31.9 1.5 (0)"*", msymbol(none) lcolor(black)) (scatteri 31.64 2.1 32.14 2.1, recast(line) lcolor(black)) (scatteri 31.64 2.9 32.14 2.9, recast(line) lcolor(black)) (scatteri 32.14 2.1 32.14 2.9, recast(line) lcolor(black)) (scatteri 32.64 2.5 (0)"*", msymbol(none) lcolor(black)) (scatteri 35.771631 0.5 35.771631 1.5, recast(line) lpattern(dash) lcolor(black)) (scatteri 37.616598 1.5 37.616598 3.5, recast(line) lpattern(dash) lcolor(black)), legend(off) ylabel(,nogrid) saving(b2) restore graph combine "b1" "b2" ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// One-sided hypotheses erase b1.gph erase b2.gph erase b3.gph erase b4.gph //erase scatter1.gph /////////////////////////////////////////////////////////////////////////////// performance graphs for passive treatments bysort abc session: egen realprofit2=mean(realprofit) if producer==1 & abc!=. order realprofit2 gsort mechanism treatment session - period //replace realprofit2=. if realprofit2[_n-1]==realprofit2 & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period //replace realprofit2=. if realprofit2[_n-1]==. & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period sort mechanism treatment session realprofit2 replace realprofit2=. if realprofit2[_n+1]==realprofit2 & mechanism[_n+1]==mechanism & treatment[_n+1]==treatment & session[_n+1]==session preserve collapse (mean) meanrealprofit= realprofit2 (sd) sdrealprofit=realprofit2 (count) n=realprofit2, by(abc) generate hirealprofit = meanrealprofit + invttail(n-1,0.025)*(sdrealprofit / sqrt(n)) generate lorealprofit = meanrealprofit - invttail(n-1,0.025)*(sdrealprofit / sqrt(n)) generate BT = abc //replace BT = Treatment+3 if NonProcInd==1 sort BT twoway (bar meanrealprofit BT) /// (rcap hirealprofit lorealprofit BT) (scatteri 14.44 2.1 14.64 2.1, recast(line) lcolor(black)) (scatteri 14.44 2.9 14.64 2.9, recast(line) lcolor(black)) (scatteri 14.64 2.1 14.64 2.9, recast(line) lcolor(black)) (scatteri 14.84 2.5 (0)"**", msymbol(none) lcolor(black)) (scatteri 15.790173 0.5 15.790173 1.5, recast(line) lpattern(dash) lcolor(black)) (scatteri 16.29204 1.5 16.29204 3.5, recast(line) lpattern(dash) lcolor(black)), legend(off) ylabel(,nogrid) saving(b1) restore bysort abc session: egen realsurplus2=mean(realsurplus) if producer==1 & abc!=. order realsurplus2 gsort mechanism treatment session - period //replace realprofit2=. if realprofit2[_n-1]==realprofit2 & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period //replace realprofit2=. if realprofit2[_n-1]==. & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period sort mechanism treatment session realsurplus2 replace realsurplus2=. if realsurplus2[_n+1]==realsurplus2 & mechanism[_n+1]==mechanism & treatment[_n+1]==treatment & session[_n+1]==session preserve collapse (mean) meanrealsurplus= realsurplus2 (sd) sdrealsurplus=realsurplus2 (count) n=realsurplus2, by(abc) generate hirealsurplus = meanrealsurplus + invttail(n-1,0.025)*(sdrealsurplus / sqrt(n)) generate lorealsurplus = meanrealsurplus - invttail(n-1,0.025)*(sdrealsurplus / sqrt(n)) generate BT = abc //replace BT = Treatment+3 if NonProcInd==1 sort BT twoway (bar meanrealsurplus BT) /// (rcap hirealsurplus lorealsurplus BT) (scatteri 31.64 2.1 32.14 2.1, recast(line) lcolor(black)) (scatteri 31.64 2.9 32.14 2.9, recast(line) lcolor(black)) (scatteri 32.14 2.1 32.14 2.9, recast(line) lcolor(black)) (scatteri 32.64 2.5 (0)"**", msymbol(none) lcolor(black)) (scatteri 35.771631 0.5 35.771631 1.5, recast(line) lpattern(dash) lcolor(black)) (scatteri 37.616598 1.5 37.616598 3.5, recast(line) lpattern(dash) lcolor(black)), legend(off) ylabel(,nogrid) saving(b2) restore graph combine "b1" "b2" bysort def session: egen realsuccess2=mean(realsuccess) if producer==1 & def!=. order realsuccess2 gsort mechanism treatment session - period //replace realprofit2=. if realprofit2[_n-1]==realprofit2 & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period //replace realprofit2=. if realprofit2[_n-1]==. & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period sort mechanism treatment session realsuccess2 replace realsuccess2=. if realsuccess2[_n+1]==realsuccess2 & mechanism[_n+1]==mechanism & treatment[_n+1]==treatment & session[_n+1]==session preserve collapse (mean) meanrealsuccess= realsuccess2 (sd) sdrealsuccess=realsuccess2 (count) n=realsuccess2, by(def) generate hirealsuccess = meanrealsuccess + invttail(n-1,0.025)*(sdrealsuccess / sqrt(n)) generate lorealsuccess = meanrealsuccess - invttail(n-1,0.025)*(sdrealsuccess / sqrt(n)) generate BT = def //replace BT = Treatment+3 if NonProcInd==1 sort BT twoway (bar meanrealsuccess BT) /// (rcap hirealsuccess lorealsuccess BT) (scatteri 0.679 1.1 0.686 1.1, recast(line) lcolor(black)) (scatteri 0.679 2.9 0.686 2.9, recast(line) lcolor(black)) (scatteri 0.686 1.1 0.686 2.9, recast(line) lcolor(black)) (scatteri 0.693 2 (0)"*", msymbol(none) lcolor(black)) (scatteri .55926889 0.5 .55926889 1.5, recast(line) lpattern(dash) lcolor(black)) (scatteri .65143111 1.5 .65143111 3.5, recast(line) lpattern(dash) lcolor(black)), legend(off) ylabel(,nogrid) saving(b3) restore bysort def session: egen realsurplus4=mean(realsurplus) if producer==1 & def!=. order realsurplus4 gsort mechanism treatment session - period //replace realprofit2=. if realprofit2[_n-1]==realprofit2 & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period //replace realprofit2=. if realprofit2[_n-1]==. & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period sort mechanism treatment session realsurplus4 replace realsurplus4=. if realsurplus4[_n+1]==realsurplus4 & mechanism[_n+1]==mechanism & treatment[_n+1]==treatment & session[_n+1]==session preserve collapse (mean) meanrealsurplus= realsurplus4 (sd) sdrealsurplus=realsurplus4 (count) n=realsurplus4, by(def) generate hirealsurplus = meanrealsurplus + invttail(n-1,0.025)*(sdrealsurplus / sqrt(n)) generate lorealsurplus = meanrealsurplus - invttail(n-1,0.025)*(sdrealsurplus / sqrt(n)) generate BT = def //replace BT = Treatment+3 if NonProcInd==1 sort BT twoway (bar meanrealsurplus BT) /// (rcap hirealsurplus lorealsurplus BT) (scatteri 48.5 1.1 49.0 1.1, recast(line) lcolor(black)) (scatteri 48.5 2.9 49.0 2.9, recast(line) lcolor(black)) (scatteri 49.0 1.1 49.0 2.9, recast(line) lcolor(black)) (scatteri 49.5 2 (0)"**", msymbol(none) lcolor(black)) (scatteri 38.39 2.1 38.89 2.1, recast(line) lcolor(black)) (scatteri 38.39 2.9 38.89 2.9, recast(line) lcolor(black)) (scatteri 38.89 2.1 38.89 2.9, recast(line) lcolor(black)) (scatteri 39.39 2.5 (0)"**", msymbol(none) lcolor(black)) (scatteri 33.841516 0.5 33.841516 1.5, recast(line) lpattern(dash) lcolor(black)) (scatteri 46.732196 1.5 46.732196 3.5, recast(line) lpattern(dash) lcolor(black)), legend(off) ylabel(,nogrid) saving(b4) restore graph combine "b3" "b4" ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// bysort def session: egen realsuccess2=mean(realsuccess) if producer==1 & def!=. order realsuccess2 gsort mechanism treatment session - period //replace realprofit2=. if realprofit2[_n-1]==realprofit2 & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period //replace realprofit2=. if realprofit2[_n-1]==. & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period sort mechanism treatment session realsuccess2 replace realsuccess2=. if realsuccess2[_n+1]==realsuccess2 & mechanism[_n+1]==mechanism & treatment[_n+1]==treatment & session[_n+1]==session preserve collapse (mean) meanrealsuccess= realsuccess2 (sd) sdrealsuccess=realsuccess2 (count) n=realsuccess2, by(def) generate hirealsuccess = meanrealsuccess + invttail(n-1,0.025)*(sdrealsuccess / sqrt(n)) generate lorealsuccess = meanrealsuccess - invttail(n-1,0.025)*(sdrealsuccess / sqrt(n)) generate BT = def //replace BT = Treatment+3 if NonProcInd==1 sort BT twoway (bar meanrealsuccess BT) /// (rcap hirealsuccess lorealsuccess BT) (scatteri .55926889 0.5 .55926889 1.5, recast(line) lpattern(dash) lcolor(black)) (scatteri .65143111 1.5 .65143111 3.5, recast(line) lpattern(dash) lcolor(black)), legend(off) ylabel(,nogrid) saving(b3) restore bysort def session: egen realsurplus4=mean(realsurplus) if producer==1 & def!=. order realsurplus4 gsort mechanism treatment session - period //replace realprofit2=. if realprofit2[_n-1]==realprofit2 & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period //replace realprofit2=. if realprofit2[_n-1]==. & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period sort mechanism treatment session realsurplus4 replace realsurplus4=. if realsurplus4[_n+1]==realsurplus4 & mechanism[_n+1]==mechanism & treatment[_n+1]==treatment & session[_n+1]==session preserve collapse (mean) meanrealsurplus= realsurplus4 (sd) sdrealsurplus=realsurplus4 (count) n=realsurplus4, by(def) generate hirealsurplus = meanrealsurplus + invttail(n-1,0.025)*(sdrealsurplus / sqrt(n)) generate lorealsurplus = meanrealsurplus - invttail(n-1,0.025)*(sdrealsurplus / sqrt(n)) generate BT = def //replace BT = Treatment+3 if NonProcInd==1 sort BT twoway (bar meanrealsurplus BT) /// (rcap hirealsurplus lorealsurplus BT) (scatteri 48.5 1.1 49.0 1.1, recast(line) lcolor(black)) (scatteri 48.5 2.9 49.0 2.9, recast(line) lcolor(black)) (scatteri 49.0 1.1 49.0 2.9, recast(line) lcolor(black)) (scatteri 49.5 2 (0)"**", msymbol(none) lcolor(black)) (scatteri 38.39 2.1 38.89 2.1, recast(line) lcolor(black)) (scatteri 38.39 2.9 38.89 2.9, recast(line) lcolor(black)) (scatteri 38.89 2.1 38.89 2.9, recast(line) lcolor(black)) (scatteri 39.39 2.5 (0)"*", msymbol(none) lcolor(black)) (scatteri 33.841516 0.5 33.841516 1.5, recast(line) lpattern(dash) lcolor(black)) (scatteri 46.732196 1.5 46.732196 3.5, recast(line) lpattern(dash) lcolor(black)), legend(off) ylabel(,nogrid) saving(b4) restore graph combine "b3" "b4" /////// erase b1A.gph erase b2A.gph erase b3A.gph erase b4A.gph /////////////////////////////////////////////////////////////////////////////// performance graphs for active treatments bysort abcA session: egen realprofit2A=mean(realprofit) if producer==1 & abcA!=. order realprofit2A gsort mechanism treatment session - period //replace realprofit2=. if realprofit2[_n-1]==realprofit2 & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period //replace realprofit2=. if realprofit2[_n-1]==. & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period sort mechanism treatment session realprofit2A replace realprofit2A=. if realprofit2A[_n+1]==realprofit2A & mechanism[_n+1]==mechanism & treatment[_n+1]==treatment & session[_n+1]==session preserve collapse (mean) meanrealprofitA= realprofit2A (sd) sdrealprofitA=realprofit2A (count) nA=realprofit2A, by(abcA) generate hirealprofitA = meanrealprofitA + invttail(nA-1,0.025)*(sdrealprofitA / sqrt(nA)) generate lorealprofitA = meanrealprofitA - invttail(nA-1,0.025)*(sdrealprofitA / sqrt(nA)) generate BTA = abcA //replace BT = Treatment+3 if NonProcInd==1 sort BTA twoway (bar meanrealprofitA BTA) /// (rcap hirealprofitA lorealprofitA BTA) (scatteri 12.77 1.1 12.97 1.1, recast(line) lcolor(black)) (scatteri 12.77 2.9 12.97 2.9, recast(line) lcolor(black)) (scatteri 12.97 1.1 12.97 2.9, recast(line) lcolor(black)) (scatteri 13.17 2 (0)"**", msymbol(none) lcolor(black)) (scatteri 15.790173 0.5 15.790173 1.5, recast(line) lpattern(dash) lcolor(black)) (scatteri 16.29204 1.5 16.29204 3.5, recast(line) lpattern(dash) lcolor(black)), legend(off) ylabel(,nogrid) saving(b1A) restore bysort abcA session: egen realsurplus2A=mean(realsurplus) if producer==1 & abcA!=. order realsurplus2A gsort mechanism treatment session - period //replace realprofit2=. if realprofit2[_n-1]==realprofit2 & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period //replace realprofit2=. if realprofit2[_n-1]==. & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period sort mechanism treatment session realsurplus2A replace realsurplus2A=. if realsurplus2A[_n+1]==realsurplus2A & mechanism[_n+1]==mechanism & treatment[_n+1]==treatment & session[_n+1]==session preserve collapse (mean) meanrealsurplusA= realsurplus2A (sd) sdrealsurplusA=realsurplus2A (count) nA=realsurplus2A, by(abcA) generate hirealsurplusA = meanrealsurplusA + invttail(nA-1,0.025)*(sdrealsurplusA / sqrt(nA)) generate lorealsurplusA = meanrealsurplusA - invttail(nA-1,0.025)*(sdrealsurplusA / sqrt(nA)) generate BTA = abcA //replace BT = Treatment+3 if NonProcInd==1 sort BTA twoway (bar meanrealsurplusA BTA) /// (rcap hirealsurplusA lorealsurplusA BTA) (scatteri 35.771631 0.5 35.771631 1.5, recast(line) lpattern(dash) lcolor(black)) (scatteri 37.616598 1.5 37.616598 3.5, recast(line) lpattern(dash) lcolor(black)), legend(off) ylabel(,nogrid) saving(b2A) restore graph combine "b1A" "b2A" bysort defA session: egen realsuccess2A=mean(realsuccess) if producer==1 & defA!=. order realsuccess2A gsort mechanism treatment session - period //replace realprofit2=. if realprofit2[_n-1]==realprofit2 & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period //replace realprofit2=. if realprofit2[_n-1]==. & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period sort mechanism treatment session realsuccess2A replace realsuccess2A=. if realsuccess2A[_n+1]==realsuccess2A & mechanism[_n+1]==mechanism & treatment[_n+1]==treatment & session[_n+1]==session preserve collapse (mean) meanrealsuccessA= realsuccess2A (sd) sdrealsuccessA=realsuccess2A (count) nA=realsuccess2A, by(defA) generate hirealsuccessA = meanrealsuccessA + invttail(nA-1,0.025)*(sdrealsuccessA / sqrt(nA)) generate lorealsuccessA = meanrealsuccessA - invttail(nA-1,0.025)*(sdrealsuccessA / sqrt(nA)) generate BTA = defA //replace BT = Treatment+3 if NonProcInd==1 sort BTA twoway (bar meanrealsuccessA BTA) /// (rcap hirealsuccessA lorealsuccessA BTA) (scatteri 0.514 1.1 0.521 1.1, recast(line) lcolor(black)) (scatteri 0.514 1.9 0.521 1.9, recast(line) lcolor(black)) (scatteri 0.521 1.1 0.521 1.9, recast(line) lcolor(black)) (scatteri 0.528 1.5 (0)"*", msymbol(none) lcolor(black)) (scatteri .55926889 0.5 .55926889 1.5, recast(line) lpattern(dash) lcolor(black)) (scatteri .65143111 1.5 .65143111 3.5, recast(line) lpattern(dash) lcolor(black)), legend(off) ylabel(,nogrid) saving(b3A) restore bysort defA session: egen realsurplus4A=mean(realsurplus) if producer==1 & defA!=. order realsurplus4A gsort mechanism treatment session - period //replace realprofit2=. if realprofit2[_n-1]==realprofit2 & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period //replace realprofit2=. if realprofit2[_n-1]==. & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period sort mechanism treatment session realsurplus4A replace realsurplus4A=. if realsurplus4A[_n+1]==realsurplus4A & mechanism[_n+1]==mechanism & treatment[_n+1]==treatment & session[_n+1]==session preserve collapse (mean) meanrealsurplusA= realsurplus4A (sd) sdrealsurplusA=realsurplus4A (count) nA=realsurplus4A, by(defA) generate hirealsurplusA = meanrealsurplusA + invttail(nA-1,0.025)*(sdrealsurplusA / sqrt(nA)) generate lorealsurplusA = meanrealsurplusA - invttail(nA-1,0.025)*(sdrealsurplusA / sqrt(nA)) generate BTA = defA //replace BT = Treatment+3 if NonProcInd==1 sort BTA twoway (bar meanrealsurplusA BTA) /// (rcap hirealsurplusA lorealsurplusA BTA) (scatteri 40.03 1.1 40.63 1.1, recast(line) lcolor(black)) (scatteri 40.03 1.9 40.63 1.9, recast(line) lcolor(black)) (scatteri 40.63 1.1 40.63 1.9, recast(line) lcolor(black)) (scatteri 41.23 1.5 (0)"**", msymbol(none) lcolor(black)) (scatteri 33.841516 0.5 33.841516 1.5, recast(line) lpattern(dash) lcolor(black)) (scatteri 46.732196 1.5 46.732196 3.5, recast(line) lpattern(dash) lcolor(black)), legend(off) ylabel(,nogrid) saving(b4A) restore graph combine "b3A" "b4A" ///////// generate valdecisionb=valuation*1000+decisionb generate valdecision=valuation*1000+decision //drop valbid_freq2 drop valbid_freq egen valbid_freq2 = sum(1) if !missing(valdecisionb) & treatment==1 & mechanism==0 & profittreatment==1 & third==3 & costs<70, by(valdecisionb) egen valbid_freq = sum(1) if !missing(valdecision) & treatment==1 & mechanism==0 & profittreatment==1 & third==3 & costs<70, by(valdecision) //graph drop scatter1 //scatter decision valuation [w=valbid_freq] if treatment==1 & mechanism==0 & profittreatment==1 & third==3 & costs<70, msymbol(Oh) name(scatter1) xsize(6) ysize(6) yscale(range(20)) ////////////////////////////// regress realprofit ib3.abc i.costs period avgvaluation if abc<4, vce(cluster abcsession) //outreg2 using crowdfile, replace dec(3) regress realsurplus ib3.abc i.costs period avgvaluation if abc<4, vce(cluster abcsession) //outreg2 using crowdfile, see word excel tex dta dec(3) regress realsuccess ib3.def i.costs period avgvaluation2 if def<4, vce(cluster defsession) //outreg2 using crowdfile, replace dec(3) regress realsurplus ib3.def i.costs period avgvaluation2 if def<4, vce(cluster defsession) //outreg2 using crowdfile, see word excel tex dta dec(3) generate aondominated=0 if producer==0 & (treatment==1 | treatment==3) replace aondominated=1 if producer==0 & (treatment==1 | treatment==3) & valuation0 replace aondominated=1 if producer==0 & (treatment==1 | treatment==3) & valuation==rset & (decision!=0 & decision!=rset) replace aondominated=1 if producer==0 & (treatment==1 | treatment==3) & valuation>rset & (decision=valuation) bysort treatment mechanism costs valuation: egen meandecbyval=mean(decision) generate bidfunctionaon=0 if treatment==1 & valuation=rset replace bidfunctionaon=rset if treatment==1 & costs==70 & valuation>=rset replace bidfunctionaon=rset+0.5 if treatment==1 & costs==70 & valuation==19 replace bidfunctionaon=12 if treatment==1 & costs==70 & valuation==20 replace bidfunctionaon=rset if treatment==1 & costs==90 & valuation>=rset replace bidfunctionaon=rset+0.5 if treatment==1 & costs==90 & valuation==19 replace bidfunctionaon=13 if treatment==1 & costs==90 & valuation==20 replace bidfunctionaon=rset if treatment==1 & costs==100 & valuation>=rset replace bidfunctionaon=rset+0.5 if treatment==1 & costs==100 & valuation==19 replace bidfunctionaon=12 if treatment==1 & costs==100 & valuation==20 generate bidfunctiongms=valuation if treatment==2 line meandecbyval valuation if treatment==1 || line bidfunctionaon valuation if treatment==1, by(costid) xlabel(0(5)20) ylabel(0(5)20, nogrid) line meandecbyval valuation if treatment==2 & new==. || line bidfunctiongms valuation if treatment==2 & new==., by(costid) xlabel(0(5)20) ylabel(0(5)20, nogrid) //compare earnings to myselfbnearnings to see how much backers leave on the table by not playing bn given that all other backers play what they actually did. bysort mechanism treatment session period: egen myselfbn=total(decision) replace myselfbn=myselfbn-decision+ceil(bn) generate myselfbnsuc=0 bysort mechanism treatment session period: replace myselfbnsuc=1 if myselfbn>=tset generate myselfbnearnings=-bn*myselfbnsuc replace myselfbnearnings=(valuation-bn) if myselfbnsuc==1 & bn>=rset egen freq = sum(1) if !missing(valdecision) & third>1, by(treatment mechanism costid valdecision) egen freqdyn = sum(1) if !missing(valdecision) & third>1, by(treatment mechanism costid valdecision bestresponsej) egen freqactive = sum(1) if !missing(valdecision) & third>1, by(treatment mechanism costid valdecision bestresponse) scatter decision valuation [w=freq] if treatment==2 & mechanism==0 & third>1, by(costid) msymbol(Oh) xsize(6) ysize(6) yscale(range(20)) scatter decision valuation [w=freq] if treatment==2 & mechanism==0 & weaklydominated==0, msymbol(o) msize(vsmall) || scatter decision valuation [w=freq] if treatment==2 & mechanism==0 & weaklydominated==1, msymbol(o) msize(vsmall) || line rset valuation if treatment==2 & mechanism==0, by(costid) scatter decision valuation [w=freq] if treatment==2 & mechanism==0 & third>1, msymbol(o) msize(vsmall) || scatter decision valuation [w=freq] if treatment==2 & mechanism==0 & weaklydominated==1 & third>1, msymbol(o) msize(vsmall) by(costid) scatter decision valuation [w=freq] if treatment==1 & mechanism==0 & third>1, msymbol(o) msize(vsmall) || scatter decision valuation [w=freq] if treatment==1 & mechanism==0 & bninline==0 & third>1, msymbol(o) msize(vsmall) by(costid) scatter decision valuation [w=freq] if treatment==2 & mechanism==2 & third>1, msymbol(o) msize(vsmall) || scatter decision valuation [w=freqdyn] if treatment==2 & mechanism==2 & bestresponsej==0 & third>1, msymbol(o) msize(vsmall) by(costid) scatter decision valuation [w=freq] if treatment==4 & mechanism==0 & third>1, msymbol(o) msize(vsmall) || scatter decision valuation [w=freqactive] if treatment==4 & mechanism==0 & weaklydominated==1 & third>1, msymbol(o) msize(vsmall) by(costid) scatter decision valuation [w=freq] if treatment==4 & mechanism==2 & third>1, msymbol(o) msize(vsmall) || scatter decision valuation [w=freqdyn] if treatment==4 & mechanism==2 & bestresponsej==0 & third>1, msymbol(o) msize(vsmall) by(costid) /// egen freqtest = sum(1) if !missing(valdecision) & third>1 & producer==0 & treatmentgroup==6, by(valdecision) egen freqdyntest = sum(1) if !missing(valdecision) & third>1 & producer==0 & treatmentgroup==6, by(valdecision bestresponsej) scatter decision valuation if treatmentgroup==6 & third>1 & producer==0, msymbol(o) msize(vsmall) || scatter decision valuation [w=freqdyntest] if treatmentgroup==6 & bestresponsej==0 & third>1 & producer==0, msymbol(o) msize(vsmall) by(rset) //// //for appendix: by third: egen freqapp = sum(1) if !missing(valdecision) & third==1, by(treatment mechanism costid valdecision) egen freqdynapp = sum(1) if !missing(valdecision) & third==1, by(treatment mechanism costid valdecision bestresponsej) scatter decision valuation [w=freqapp] if treatment==2 & mechanism==0 & third==1, msymbol(o) msize(vsmall) || scatter decision valuation [w=freqapp] if treatment==2 & mechanism==0 & weaklydominated==1 & third==1, msymbol(o) msize(vsmall) by(costid) scatter decision valuation [w=freqapp] if treatment==1 & mechanism==0 & third==1, msymbol(o) msize(vsmall) || scatter decision valuation [w=freqapp] if treatment==1 & mechanism==0 & bninline==0 & third==1, msymbol(o) msize(vsmall) by(costid) scatter decision valuation [w=freqapp] if treatment==2 & mechanism==2 & third==1, msymbol(o) msize(vsmall) || scatter decision valuation [w=freqdynapp] if treatment==2 & mechanism==2 & bestresponsej==0 & third==1, msymbol(o) msize(vsmall) by(costid) egen freqapp2 = sum(1) if !missing(valdecision) & third==2, by(treatment mechanism costid valdecision) egen freqdynapp2 = sum(1) if !missing(valdecision) & third==2, by(treatment mechanism costid valdecision bestresponsej) scatter decision valuation [w=freqapp2] if treatment==2 & mechanism==0 & third==2, msymbol(o) msize(vsmall) || scatter decision valuation [w=freqapp2] if treatment==2 & mechanism==0 & weaklydominated==1 & third==2, msymbol(o) msize(vsmall) by(costid) scatter decision valuation [w=freqapp2] if treatment==1 & mechanism==0 & third==2, msymbol(o) msize(vsmall) || scatter decision valuation [w=freqapp2] if treatment==1 & mechanism==0 & bninline==0 & third==2, msymbol(o) msize(vsmall) by(costid) scatter decision valuation [w=freqapp2] if treatment==2 & mechanism==2 & third==2, msymbol(o) msize(vsmall) || scatter decision valuation [w=freqdynapp2] if treatment==2 & mechanism==2 & bestresponsej==0 & third==2, msymbol(o) msize(vsmall) by(costid) egen freqapp3 = sum(1) if !missing(valdecision) & third==3, by(treatment mechanism costid valdecision) egen freqdynapp3 = sum(1) if !missing(valdecision) & third==3, by(treatment mechanism costid valdecision bestresponsej) scatter decision valuation [w=freqapp3] if treatment==2 & mechanism==0 & third==3, msymbol(o) msize(vsmall) || scatter decision valuation [w=freqapp3] if treatment==2 & mechanism==0 & weaklydominated==1 & third==3, msymbol(o) msize(vsmall) by(costid) scatter decision valuation [w=freqapp3] if treatment==1 & mechanism==0 & third==3, msymbol(o) msize(vsmall) || scatter decision valuation [w=freqapp3] if treatment==1 & mechanism==0 & bninline==0 & third==3, msymbol(o) msize(vsmall) by(costid) scatter decision valuation [w=freqapp3] if treatment==2 & mechanism==2 & third==3, msymbol(o) msize(vsmall) || scatter decision valuation [w=freqdynapp3] if treatment==2 & mechanism==2 & bestresponsej==0 & third==3, msymbol(o) msize(vsmall) by(costid) // egen freqtrappnew = sum(1) if !missing(tsetrset), by(treatment mechanism third costid tsetrset) //egen freqopttrnew = sum(1) if !missing(opttsetrset), by(treatment mechanism third costid opttsetrset) //egen freqemptrnew = sum(1) if !missing(emptsetrset), by(treatment mechanism third costid emptsetrset) // scatter opttset optrset [w=freqopttrnew] if treatment==4 & mechanism==2, msymbol(o) msize(medium) || scatter tset rset [w=freqtrappnew] if treatment==4 & mechanism==2, msymbol(o) msize(vsmall) by( costid third, cols(3)) egen freqappnew = sum(1) if !missing(valdecision), by(treatment mechanism third costid valdecision) egen freqdynappnew = sum(1) if !missing(valdecision), by(treatment mechanism third costid valdecision bestresponsej) scatter decision valuation [w=freqappnew] if treatment==1 & mechanism==0, msymbol(o) msize(vsmall) || scatter decision valuation [w=freqappnew] if treatment==1 & mechanism==0 & bninline==0, msymbol(o) msize(vsmall) by(costid third, cols(3)) scatter decision valuation [w=freqappnew] if treatment==2 & mechanism==0, msymbol(o) msize(vsmall) || scatter decision valuation [w=freqappnew] if treatment==2 & mechanism==0 & weaklydominated==1, msymbol(o) msize(vsmall) by(costid third, cols(3)) scatter decision valuation [w=freqappnew] if treatment==2 & mechanism==2, msymbol(o) msize(vsmall) || scatter decision valuation [w=freqdynappnew] if treatment==2 & mechanism==2 & bestresponsej==0, msymbol(o) msize(vsmall) by(costid third, cols(3)) generate actualbidminusbidfunctionaon=decision-bidfunctionaon if treatment==1 & mechanism==0 generate valuegrr=valuation>=rset generate valuetimesvaluegrr=valuation*valuegrr generate valuegrrtimesr=valuegrr*rset // counterfactual dynamic sealed bid GMS egen freqb = sum(1) if !missing(valdecisionb) & third>1, by(treatment mechanism costid valdecisionb) egen freqdynb = sum(1) if !missing(valdecisionb) & third>1, by(treatment mechanism costid valdecisionb bestresponsej) scatter decisionb valuation [w=freq] if treatment==2 & mechanism==0 & third>1, msymbol(o) msize(vsmall) || scatter decisionb valuation [w=freqdyn] if treatment==2 & mechanism==0 & bestresponsej==0 & third>1, msymbol(o) msize(vsmall) by(costid) //producer t/r combination generate opttsetrset=100*opttset+optrset if producer==1 generate emptsetrset=100*emptset+emprset if producer==1 generate tsetrset=100*tset+rset if producer==1 egen freqtr = sum(1) if !missing(tsetrset) & third>1, by(treatment mechanism costid tsetrset) egen freqopttr = sum(1) if !missing(opttsetrset) & third>1, by(treatment mechanism costid opttsetrset) egen freqemptr = sum(1) if !missing(emptsetrset) & third>1, by(treatment mechanism costid emptsetrset) scatter opttset optrset [w=freqopttr] if treatment==3 & third>1, msymbol(o) msize(medium) || scatter emptset emprset [w=freqemptr] if treatment==3 & third>1, msymbol(o) msize(medium) || scatter tset rset [w=freqtr] if treatment==3 & third>1, msymbol(o) msize(vsmall) by(costid) scatter opttset optrset [w=freqopttr] if treatment==4 & mechanism==0 & third>1, msymbol(o) msize(medium) || scatter emptset emprset [w=freqemptr] if treatment==4 & mechanism==0 & third>1, msymbol(o) msize(medium) || scatter tset rset [w=freqtr] if treatment==4 & mechanism==0 & third>1, msymbol(o) msize(vsmall) by(costid) scatter opttset optrset [w=freqopttr] if treatment==4 & mechanism==2 & third>1, msymbol(o) msize(medium) || scatter tset rset [w=freqtr] if treatment==4 & mechanism==2 & third>1, msymbol(o) msize(vsmall) by(costid) //producer t/r combinations by third for appendix egen freqopttr2 = sum(1) if !missing(opttsetrset) & third==1, by(treatment mechanism costid opttsetrset) egen freqemptr2 = sum(1) if !missing(emptsetrset) & third==1, by(treatment mechanism costid emptsetrset) egen freqtrapp1 = sum(1) if !missing(tsetrset) & third==1, by(treatment mechanism costid tsetrset) egen freqtrapp2 = sum(1) if !missing(tsetrset) & third==2, by(treatment mechanism costid tsetrset) egen freqtrapp3 = sum(1) if !missing(tsetrset) & third==3, by(treatment mechanism costid tsetrset) egen freqtrappnew = sum(1) if !missing(tsetrset), by(treatment mechanism third costid tsetrset) egen freqopttrnew = sum(1) if !missing(opttsetrset), by(treatment mechanism third costid opttsetrset) egen freqemptrnew = sum(1) if !missing(emptsetrset), by(treatment mechanism third costid emptsetrset) egen freqtrappnewpro = sum(1) if !missing(tsetrset) & profittreatment==1, by(treatment mechanism third costid tsetrset profittreatment) egen freqopttrnewpro = sum(1) if !missing(opttsetrset) & profittreatment==1, by(treatment mechanism third costid opttsetrset profittreatment) scatter opttset optrset [w=freqopttr2] if treatment==3 & third==1, msymbol(o) msize(medium) || scatter emptset emprset [w=freqemptr2] if treatment==3 & third==1, msymbol(o) msize(medium) || scatter tset rset [w=freqtrapp1] if treatment==3 & third==1, msymbol(o) msize(vsmall) by(costid) scatter opttset optrset [w=freqopttr] if treatment==3 & third==2, msymbol(o) msize(medium) || scatter emptset emprset [w=freqemptr] if treatment==3 & third==2, msymbol(o) msize(medium) || scatter tset rset [w=freqtrapp2] if treatment==3 & third==2, msymbol(o) msize(vsmall) by(costid) scatter opttset optrset [w=freqopttr] if treatment==3 & third==3, msymbol(o) msize(medium) || scatter emptset emprset [w=freqemptr] if treatment==3 & third==3, msymbol(o) msize(medium) || scatter tset rset [w=freqtrapp3] if treatment==3 & third==3, msymbol(o) msize(vsmall) by(costid) scatter opttset optrset [w=freqopttr2] if treatment==4 & mechanism==0 & third==1, msymbol(o) msize(medium) || scatter emptset emprset [w=freqemptr2] if treatment==4 & mechanism==0 & third==1, msymbol(o) msize(medium) || scatter tset rset [w=freqtrapp1] if treatment==4 & mechanism==0 & third==1, msymbol(o) msize(vsmall) by(costid) scatter opttset optrset [w=freqopttr] if treatment==4 & mechanism==0 & third==2, msymbol(o) msize(medium) || scatter emptset emprset [w=freqemptr] if treatment==4 & mechanism==0 & third==2, msymbol(o) msize(medium) || scatter tset rset [w=freqtrapp2] if treatment==4 & mechanism==0 & third==2, msymbol(o) msize(vsmall) by(costid) scatter opttset optrset [w=freqopttr] if treatment==4 & mechanism==0 & third==3, msymbol(o) msize(medium) || scatter emptset emprset [w=freqemptr] if treatment==4 & mechanism==0 & third==3, msymbol(o) msize(medium) || scatter tset rset [w=freqtrapp3] if treatment==4 & mechanism==0 & third==3, msymbol(o) msize(vsmall) by(costid) scatter opttset optrset [w=freqopttr2] if treatment==4 & mechanism==2 & third==1, msymbol(o) msize(medium) || scatter tset rset [w=freqtrapp1] if treatment==4 & mechanism==2 & third==1, msymbol(o) msize(vsmall) by(costid) scatter opttset optrset [w=freqopttr] if treatment==4 & mechanism==2 & third==2, msymbol(o) msize(medium) || scatter tset rset [w=freqtrapp2] if treatment==4 & mechanism==2 & third==2, msymbol(o) msize(vsmall) by(costid) scatter opttset optrset [w=freqopttr] if treatment==4 & mechanism==2 & third==3, msymbol(o) msize(medium) || scatter tset rset [w=freqtrapp3] if treatment==4 & mechanism==2 & third==3, msymbol(o) msize(vsmall) by(costid) scatter opttset optrset [w=freqopttrnew] if treatment==4 & mechanism==2, msymbol(o) msize(medium) || scatter tset rset [w=freqtrappnew] if treatment==4 & mechanism==2, msymbol(o) msize(vsmall) by( costid third, cols(3)) scatter opttset optrset [w=freqopttrnew] if treatment==4 & mechanism==0, msymbol(o) msize(medium) || scatter emptset emprset [w=freqemptrnew] if treatment==4 & mechanism==0, msymbol(o) msize(medium) || scatter tset rset [w=freqtrappnew] if treatment==4 & mechanism==0, msymbol(o) msize(vsmall) by( costid third, cols(3)) scatter opttset optrset [w=freqopttrnew] if treatment==3 & mechanism==0, msymbol(o) msize(medium) || scatter emptset emprset [w=freqemptrnew] if treatment==3 & mechanism==0, msymbol(o) msize(medium) || scatter tset rset [w=freqtrappnew] if treatment==3 & mechanism==0, msymbol(o) msize(vsmall) by( costid third, cols(3)) //producer realprofit by third bysort treatment mechanism third: egen realprofitbythird=mean(realprofit) if profittreatment==1 scatter realprofitbythird third if treatment==3 || scatter realprofitbythird third if treatment==4 & mechanism==0 || scatter realprofitbythird third if treatment==4 & mechanism==2 ///for graph that shows difference between active and passive generate realprofitpassive=realprofit if abc!=. generate realsurpluspassive=realsurplus if abc!=. generate realsuccesspassive=realsuccess if def!=. replace realsurpluspassive=realsurplus if def!=. sort aon mechanism session ppnr period treatment replace realprofitpassive=realprofitpassive[_n-1] if abcA!=. generate diffrealprofit=realprofit-realprofitpassive if abcA!=. sort aon mechanism session ppnr period treatment replace realsurpluspassive=realsurpluspassive[_n-1] if abcA!=. generate diffrealsurplus=realsurplus-realsurpluspassive if abcA!=. sort aon mechanism session ppnr period treatment replace realsuccesspassive=realsuccesspassive[_n-1] if defA!=. generate diffrealsuccess=realsuccess-realsuccesspassive if defA!=. sort aon mechanism session ppnr period treatment replace realsurpluspassive=realsurpluspassive[_n-1] if defA!=. replace diffrealsurplus=realsurplus-realsurpluspassive if defA!=. erase b1D.gph erase b2D.gph erase b3D.gph erase b4D.gph /////////////////////////////////////////////////////////////////////////////// performance graphs for active treatments bysort abcA session: egen realprofit2D=mean(diffrealprofit) if producer==1 & abcA!=. order realprofit2D gsort mechanism treatment session - period //replace realprofit2=. if realprofit2[_n-1]==realprofit2 & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period //replace realprofit2=. if realprofit2[_n-1]==. & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period sort mechanism treatment session realprofit2D replace realprofit2D=. if realprofit2D[_n+1]==realprofit2D & mechanism[_n+1]==mechanism & treatment[_n+1]==treatment & session[_n+1]==session preserve collapse (mean) meanrealprofitD= realprofit2D (sd) sdrealprofitD=realprofit2D (count) nD=realprofit2D, by(abcA) generate hirealprofitD = meanrealprofitD + invttail(nD-1,0.025)*(sdrealprofitD / sqrt(nD)) generate lorealprofitD = meanrealprofitD - invttail(nD-1,0.025)*(sdrealprofitD / sqrt(nD)) generate BTD = abcA //replace BT = Treatment+3 if NonProcInd==1 sort BTD twoway (bar meanrealprofitD BTD) /// (rcap hirealprofitD lorealprofitD BTD), saving(b1D) restore bysort abcA session: egen realsurplus2D=mean(diffrealsurplus) if producer==1 & abcA!=. order realsurplus2D gsort mechanism treatment session - period //replace realprofit2=. if realprofit2[_n-1]==realprofit2 & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period //replace realprofit2=. if realprofit2[_n-1]==. & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period sort mechanism treatment session realsurplus2D replace realsurplus2D=. if realsurplus2D[_n+1]==realsurplus2D & mechanism[_n+1]==mechanism & treatment[_n+1]==treatment & session[_n+1]==session preserve collapse (mean) meanrealsurplusA= realsurplus2D (sd) sdrealsurplusA=realsurplus2D (count) nA=realsurplus2D, by(abcA) generate hirealsurplusA = meanrealsurplusA + invttail(nA-1,0.025)*(sdrealsurplusA / sqrt(nA)) generate lorealsurplusA = meanrealsurplusA - invttail(nA-1,0.025)*(sdrealsurplusA / sqrt(nA)) generate BTA = abcA //replace BT = Treatment+3 if NonProcInd==1 sort BTA twoway (bar meanrealsurplusA BTA) /// (rcap hirealsurplusA lorealsurplusA BTA), saving(b2D) restore graph combine "b1D" "b2D" bysort defA session: egen realsuccess2D=mean(diffrealsuccess) if producer==1 & defA!=. order realsuccess2D gsort mechanism treatment session - period //replace realprofit2=. if realprofit2[_n-1]==realprofit2 & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period //replace realprofit2=. if realprofit2[_n-1]==. & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period sort mechanism treatment session realsuccess2D replace realsuccess2D=. if realsuccess2D[_n+1]==realsuccess2D & mechanism[_n+1]==mechanism & treatment[_n+1]==treatment & session[_n+1]==session preserve collapse (mean) meanrealsuccessA= realsuccess2D (sd) sdrealsuccessA=realsuccess2D (count) nA=realsuccess2D, by(defA) generate hirealsuccessA = meanrealsuccessA + invttail(nA-1,0.025)*(sdrealsuccessA / sqrt(nA)) generate lorealsuccessA = meanrealsuccessA - invttail(nA-1,0.025)*(sdrealsuccessA / sqrt(nA)) generate BTA = defA //replace BT = Treatment+3 if NonProcInd==1 sort BTA twoway (bar meanrealsuccessA BTA) /// (rcap hirealsuccessA lorealsuccessA BTA), saving(b3D) restore bysort defA session: egen realsurplus4D=mean(diffrealsurplus) if producer==1 & defA!=. order realsurplus4D gsort mechanism treatment session - period //replace realprofit2=. if realprofit2[_n-1]==realprofit2 & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period //replace realprofit2=. if realprofit2[_n-1]==. & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period sort mechanism treatment session realsurplus4D replace realsurplus4D=. if realsurplus4D[_n+1]==realsurplus4D & mechanism[_n+1]==mechanism & treatment[_n+1]==treatment & session[_n+1]==session preserve collapse (mean) meanrealsurplusA= realsurplus4D (sd) sdrealsurplusA=realsurplus4D (count) nA=realsurplus4D, by(defA) generate hirealsurplusA = meanrealsurplusA + invttail(nA-1,0.025)*(sdrealsurplusA / sqrt(nA)) generate lorealsurplusA = meanrealsurplusA - invttail(nA-1,0.025)*(sdrealsurplusA / sqrt(nA)) generate BTA = defA //replace BT = Treatment+3 if NonProcInd==1 sort BTA twoway (bar meanrealsurplusA BTA) /// (rcap hirealsurplusA lorealsurplusA BTA), saving(b4D) restore graph combine "b3D" "b4D" ///////// generate diffrset=rset-optrset bysort abcA session: egen meandiffrset=mean(diffrset) if producer==1 & abcA!=. ////predicting behavior in active AON generate tsquared=tset*tset generate rsquared=rset*rset regress decision valuation tset tsquared rset rsquared if treatment==3 & valuation>rset & mechanism==0 & third>1, vce (cluster idnr) predict decisionhat if treatment==3 & valuation>rset & mechanism==0 & third>1 regress decision valuation tset tsquared rset rsquared if treatment==3 & valuation1, vce (cluster idnr) predict decisionhat2 if treatment==3 & valuation1 regress decision valuation tset tsquared rset rsquared if treatment==3 & valuation==rset & mechanism==0 & third>1, vce (cluster idnr) predict decisionhat3 if treatment==3 & valuation==rset & mechanism==0 & third>1 replace decisionhat=decisionhat2 if treatment==3 & valuation1 replace decisionhat=decisionhat3 if treatment==3 & valuation==rset & mechanism==0 & third>1 bysort mechanism treatment session period: egen sumbidhat=total(decisionhat) ////predicting behavior in active sGMS regress decision valuation tset tsquared rset rsquared if treatment==4 & valuation>rset & mechanism==0 & third>1, vce (cluster idnr) //predict decisionhat if treatment==4 & valuation>rset & mechanism==0 & third>1 regress decision valuation tset tsquared rset rsquared if treatment==4 & valuation1, vce (cluster idnr) //predict decisionhat2 if treatment==4 & valuation1 regress decision valuation tset tsquared rset rsquared if treatment==4 & valuation==rset & mechanism==0 & third>1, vce (cluster idnr) //predict decisionhat3 if treatment==4 & valuation==rset & mechanism==0 & third>1 replace decisionhat=decisionhat2 if treatment==4 & valuation1 replace decisionhat=decisionhat3 if treatment==4 & valuation==rset & mechanism==0 & third>1 ///////////////////// Consumer Welfare Graph bysort mechanism treatment session period: egen consumerwelfare=total(earnings) replace consumerwelfare=. if producer==0 generate consumerwelfarepassive=consumerwelfare if abc!=. replace consumerwelfarepassive=consumerwelfare if def!=. sort aon mechanism session ppnr period treatment replace consumerwelfarepassive=consumerwelfarepassive[_n-1] if abcA!=. generate diffconsumerwelfare=consumerwelfare-consumerwelfarepassive if abcA!=. sort aon mechanism session ppnr period treatment replace consumerwelfarepassive=consumerwelfarepassive[_n-1] if defA!=. replace diffconsumerwelfare=consumerwelfare-consumerwelfarepassive if defA!=. bysort abcA session: egen consumerwelfaresession=mean(consumerwelfare) if producer==1 & abcA!=. bysort abcA session: egen consumerwelfaresessionpassive=mean(consumerwelfarepassive) if producer==1 & abcA!=. bysort defA session: egen consumerwelfaresession2=mean(consumerwelfare) if producer==1 & defA!=. bysort defA session: egen consumerwelfaresessionpassive2=mean(consumerwelfarepassive) if producer==1 & defA!=. sort mechanism treatment session consumerwelfaresession replace consumerwelfaresession=. if consumerwelfaresession[_n+1]==consumerwelfaresession & mechanism[_n+1]==mechanism & treatment[_n+1]==treatment & session[_n+1]==session sort mechanism treatment session consumerwelfaresessionpassive replace consumerwelfaresessionpassive=. if consumerwelfaresessionpassive[_n+1]==consumerwelfaresessionpassive & mechanism[_n+1]==mechanism & treatment[_n+1]==treatment & session[_n+1]==session sort mechanism treatment session consumerwelfaresession2 replace consumerwelfaresession2=. if consumerwelfaresession2[_n+1]==consumerwelfaresession2 & mechanism[_n+1]==mechanism & treatment[_n+1]==treatment & session[_n+1]==session sort mechanism treatment session consumerwelfaresessionpassive2 replace consumerwelfaresessionpassive2=. if consumerwelfaresessionpassive2[_n+1]==consumerwelfaresessionpassive2 & mechanism[_n+1]==mechanism & treatment[_n+1]==treatment & session[_n+1]==session erase cw1.gph erase cw2.gph bysort abcA session: egen realprofit3D=mean(diffconsumerwelfare) if producer==1 & abcA!=. order realprofit3D gsort mechanism treatment session - period //replace realprofit2=. if realprofit2[_n-1]==realprofit2 & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period //replace realprofit2=. if realprofit2[_n-1]==. & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period sort mechanism treatment session realprofit3D replace realprofit3D=. if realprofit3D[_n+1]==realprofit3D & mechanism[_n+1]==mechanism & treatment[_n+1]==treatment & session[_n+1]==session preserve collapse (mean) meanrealprofitD= realprofit3D (sd) sdrealprofitD=realprofit3D (count) nD=realprofit3D, by(abcA) generate hirealprofitD = meanrealprofitD + invttail(nD-1,0.025)*(sdrealprofitD / sqrt(nD)) generate lorealprofitD = meanrealprofitD - invttail(nD-1,0.025)*(sdrealprofitD / sqrt(nD)) generate BTD = abcA //replace BT = Treatment+3 if NonProcInd==1 sort BTD twoway (bar meanrealprofitD BTD) /// (rcap hirealprofitD lorealprofitD BTD), saving(cw1) restore bysort defA session: egen realsurplus5D=mean(diffconsumerwelfare) if producer==1 & defA!=. order realsurplus5D gsort mechanism treatment session - period //replace realprofit2=. if realprofit2[_n-1]==realprofit2 & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period //replace realprofit2=. if realprofit2[_n-1]==. & mechanism[_n-1]==mechanism & treatment[_n-1]==treatment & session[_n-1]==session & period[_n-1]==period sort mechanism treatment session realsurplus5D replace realsurplus5D=. if realsurplus5D[_n+1]==realsurplus5D & mechanism[_n+1]==mechanism & treatment[_n+1]==treatment & session[_n+1]==session preserve collapse (mean) meanrealsurplusA= realsurplus5D (sd) sdrealsurplusA=realsurplus5D (count) nA=realsurplus5D, by(defA) generate hirealsurplusA = meanrealsurplusA + invttail(nA-1,0.025)*(sdrealsurplusA / sqrt(nA)) generate lorealsurplusA = meanrealsurplusA - invttail(nA-1,0.025)*(sdrealsurplusA / sqrt(nA)) generate BTA = defA //replace BT = Treatment+3 if NonProcInd==1 sort BTA twoway (bar meanrealsurplusA BTA) /// (rcap hirealsurplusA lorealsurplusA BTA), saving(cw2) restore graph combine "cw1" "cw2" ////Alternative: predicting behavior in active AON //generate tsquared=tset*tset //generate rsquared=rset*rset generate vhigher=0 replace vhigher=1 if valuation>rset generate vequal=0 replace vequal=1 if valuation==rset generate vlower=0 replace vlower=1 if valuation1, vce (cluster idnr) predict decisionhat7 if treatment==3 & mechanism==0 & third>1 //compare producer behavior generate lowoptr=0 if producer==1 & treatmentgroup>3 replace lowoptr=1 if producer==1 & treatmentgroup>3 & rset3 replace lowempr=1 if producer==1 & treatmentgroup>3 & rset3 replace lowoptt=1 if producer==1 & treatmentgroup>3 & tset3 replace lowempt=1 if producer==1 & treatmentgroup>3 & tset3 replace highoptr=1 if producer==1 & treatmentgroup>3 & rset>optrset //lower than theoretical optimum generate highempr=0 if producer==1 & treatmentgroup>3 replace highempr=1 if producer==1 & treatmentgroup>3 & rset>emprset //lower than empirical optimum generate highoptt=0 if producer==1 & treatmentgroup>3 replace highoptt=1 if producer==1 & treatmentgroup>3 & tset>opttset //lower than theoretical optimum generate highempt=0 if producer==1 & treatmentgroup>3 replace highempt=1 if producer==1 & treatmentgroup>3 & tset>emptset //lower than empirical optimum generate lowminr=0 if producer==1 & treatmentgroup>3 generate minrset=4 if treatmentgroup>3 & newgroupactive>1 & costs==60 replace minrset=6 if treatmentgroup>3 & newgroupactive>1 & costs==80 replace minrset=7 if treatmentgroup>3 & newgroupactive>1 & costs==100 generate highminr=0 if producer==1 & treatmentgroup>3 replace highminr=1 if producer==1 & treatmentgroup>3 & rset>minrset bysort newgroupactive session: egen avgrsetprofit=mean(rset) if producer==1 & newgroupactive!=. & profittreatment==1 bysort newgroupactive session: egen avgrsetsuccess=mean(rset) if producer==1 & newgroupactive!=. & profittreatment==0 sort newgroupactive session profittreatment replace avgrsetprofit=. if avgrsetprofit[_n+1]==avgrsetprofit & newgroupactive[_n+1]==newgroupactive & session[_n+1]==session & profittreatment[_n+1]==profittreatment & profittreatment==1 sort newgroupactive session profittreatment replace avgrsetsuccess=. if avgrsetsuccess[_n+1]==avgrsetsuccess & newgroupactive[_n+1]==newgroupactive & session[_n+1]==session & profittreatment[_n+1]==profittreatment & profittreatment==0 sort newgroupactive session avgrsetprofit avgrsetsuccess replace avgrsetsuccess=avgrsetsuccess[_n+1] if avgrsetsuccess[_n+1]!=. replace avgrsetsuccess=. if avgrsetsuccess[_n-1]!=. bysort newgroupactive session: egen avgtsetprofit=mean(tset) if producer==1 & newgroupactive!=. & profittreatment==1 bysort newgroupactive session: egen avgtsetsuccess=mean(tset) if producer==1 & newgroupactive!=. & profittreatment==0 sort newgroupactive session profittreatment replace avgtsetprofit=. if avgtsetprofit[_n+1]==avgtsetprofit & newgroupactive[_n+1]==newgroupactive & session[_n+1]==session & profittreatment[_n+1]==profittreatment & profittreatment==1 sort newgroupactive session profittreatment replace avgtsetsuccess=. if avgtsetsuccess[_n+1]==avgtsetsuccess & newgroupactive[_n+1]==newgroupactive & session[_n+1]==session & profittreatment[_n+1]==profittreatment & profittreatment==0 sort newgroupactive session avgtsetprofit avgtsetsuccess replace avgtsetsuccess=avgtsetsuccess[_n+1] if avgtsetsuccess[_n+1]!=. replace avgtsetsuccess=. if avgtsetsuccess[_n-1]!=. generate tequalcosts=0 if newgroupactive!=. & producer==1 & profitt==0 replace tequalcosts=1 if newgroupactive!=. & producer==1 & profitt==0 & tset==costs ////predicting behavior in passive AON regress decision valuation tset tsquared rset rsquared if treatment==1 & valuation>rset & mechanism==0 & third>1, vce (cluster idnr) regress decision valuation tset tsquared rset rsquared if treatment==1 & valuation1, vce (cluster idnr) regress decision valuation tset tsquared rset rsquared if treatment==1 & valuation==rset & mechanism==0 & third>1, vce (cluster idnr) //////////////////////////////Active consumer behavior order producer treatment session period ppnr tset rset valuation decision sort producer treatment session period tset rset ppnr save "C:\Users\Andrej Woerner\Crowdfunding\crowdfunding\Data\SaveA", replace import excel "C:\Users\Andrej Woerner\Crowdfunding\crowdfunding\Matlab codes\theoreticalpredictionconsumersactive.xlsx", sheet("Tabelle1") firstrow clear save "C:\Users\Andrej Woerner\Crowdfunding\crowdfunding\Data\SaveB", replace merge m:m treatment session period ppnr using "C:\Users\Andrej Woerner\Crowdfunding\crowdfunding\Data\SaveA", force drop _merge save "C:\Users\Andrej Woerner\Crowdfunding\crowdfunding\Data\SaveC", replace import excel "C:\Users\Andrej Woerner\Crowdfunding\crowdfunding\Data\RawData\survey.xlsx", sheet("Tabelle1") firstrow clear save "C:\Users\Andrej Woerner\Crowdfunding\crowdfunding\Data\SaveD", replace merge 1:m treatment session mechanism ppnr using "C:\Users\Andrej Woerner\Crowdfunding\crowdfunding\Data\SaveC", force drop _merge save "C:\Users\Andrej Woerner\Crowdfunding\crowdfunding\Data\SaveE", replace import excel "C:\Users\Andrej Woerner\Crowdfunding\crowdfunding\Matlab codes\combination.xlsx", sheet("Tabelle1") firstrow clear save "C:\Users\Andrej Woerner\Crowdfunding\crowdfunding\Data\SaveF", replace merge 1:m treatment session mechanism ppnr period using "C:\Users\Andrej Woerner\Crowdfunding\crowdfunding\Data\SaveE", force drop _merge destring counterfactualrealprofit counterfactualrealsuccess, replace generate female=1 if gender==2 replace female=0 if gender==1 generate economist=0 replace economist=1 if study=="econ" replace bninline=bnequal if treatment==3 replace bninline=1 if producer==0 & treatment==3 & valuation<=rset & decision==0 egen freqinline = sum(1) if !missing(valdecision) & third>1, by(treatment mechanism costid valdecision bninline) generate toolow22= bnlower if treatment==3 replace toolow22=0 if decision==0 & valuation==rset & treatment==3 egen freqtoolow22 = sum(1) if !missing(valdecision) & third>1, by(treatment mechanism costid valdecision toolow22) egen freqtoohigh = sum(1) if !missing(valdecision) & third>1, by(treatment mechanism costid valdecision bnhigher) scatter decision valuation [w=freq] if treatment==3 & mechanism==0 & third>1, msymbol(o) msize(vsmall) || scatter decision valuation [w=freqinline] if treatment==3 & mechanism==0 & bninline==0 & third>1, msymbol(o) msize(vsmall) || scatter decision valuation [w=freqtoolow22] if treatment==3 & mechanism==0 & toolow22==1 & third>1, msymbol(o) msize(vsmall) by(costid) //best responses over time by individual bysort idnr: egen avgbestresponse=mean(bestresponse) if third>1 bysort idnr: egen avgbestresponsethird1=mean(bestresponse) if third==1 bysort idnr: egen avgbestresponsethird2=mean(bestresponse) if third==2 bysort idnr: egen avgbestresponsethird3=mean(bestresponse) if third==3 sort idnr period replace avgbestresponsethird1=avgbestresponsethird1[_n-1] if avgbestresponsethird1[_n-1]!=. & idnr==idnr[_n-1] replace avgbestresponsethird2=avgbestresponsethird2[_n-1] if avgbestresponsethird2[_n-1]!=. & idnr==idnr[_n-1] replace avgbestresponsethird3=avgbestresponsethird3[_n-1] if avgbestresponsethird3[_n-1]!=. & idnr==idnr[_n-1] gen h7=100*avgbestresponse+avgbestresponsethird1 if period==45 egen freqbestresponse = sum(1) if !missing(h7) & third>1 & period==45, by(treatmentgroup h7) twoway (scatter avgbestresponse avgbestresponsethird1 [w=freqbestresponse] if treatmentgroup==2 & period==45) (scatteri 0 0 1 1, recast(line) lpattern(dash) lcolor(black)) twoway (scatter avgbestresponse avgbestresponsethird1 [w=freqbestresponse] if treatmentgroup==5 & period==45) (scatteri 0 0 1 1, recast(line) lpattern(dash) lcolor(black)) bysort idnr: egen avgbestresponsej=mean(bestresponsej) if third>1 bysort idnr: egen avgbestresponsejthird1=mean(bestresponsej) if third==1 bysort idnr: egen avgbestresponsejthird2=mean(bestresponsej) if third==2 bysort idnr: egen avgbestresponsejthird3=mean(bestresponsej) if third==3 sort idnr period replace avgbestresponsejthird1=avgbestresponsejthird1[_n-1] if avgbestresponsejthird1[_n-1]!=. & idnr==idnr[_n-1] replace avgbestresponsejthird2=avgbestresponsejthird2[_n-1] if avgbestresponsejthird2[_n-1]!=. & idnr==idnr[_n-1] replace avgbestresponsejthird3=avgbestresponsejthird3[_n-1] if avgbestresponsejthird3[_n-1]!=. & idnr==idnr[_n-1] gen h7j=100*avgbestresponsej+avgbestresponsejthird1 if period==45 egen freqbestresponsej = sum(1) if !missing(h7) & third>1 & period==45, by(treatmentgroup h7j) twoway (scatter avgbestresponsej avgbestresponsejthird1 [w=freqbestresponsej] if treatmentgroup==3 & period==45) (scatteri 0 0 1 1, recast(line) lpattern(dash) lcolor(black)) twoway (scatter avgbestresponsej avgbestresponsejthird1 [w=freqbestresponsej] if treatmentgroup==6 & period==45) (scatteri 0 0 1 1, recast(line) lpattern(dash) lcolor(black)) cdfplot avgbestresponse if treatmentgroup==2 & period==45 cdfplot avgbestresponsej if (treatmentgroup==2 | treatmentgroup==3) & period==45, by(treatmentgroup) //underbidding bysort idnr: egen avgtoolow=mean(toolow) if third>1 bysort idnr: egen avgtoolowthird1=mean(toolow) if third==1 bysort idnr: egen avgtoolowthird2=mean(toolow) if third==2 bysort idnr: egen avgtoolowthird3=mean(toolow) if third==3 sort idnr period replace avgtoolowthird1=avgtoolowthird1[_n-1] if avgtoolowthird1[_n-1]!=. & idnr==idnr[_n-1] replace avgtoolowthird2=avgtoolowthird2[_n-1] if avgtoolowthird2[_n-1]!=. & idnr==idnr[_n-1] replace avgtoolowthird3=avgtoolowthird3[_n-1] if avgtoolowthird3[_n-1]!=. & idnr==idnr[_n-1] gen hh7=100*avgtoolow+avgtoolowthird1 if period==45 egen freqtoolow = sum(1) if !missing(hh7) & third>1 & period==45, by(treatmentgroup hh7) twoway (scatter avgtoolow avgtoolowthird1 [w=freqtoolow] if treatmentgroup==2 & period==45) (scatteri 0 0 1 1, recast(line) lpattern(dash) lcolor(black)) twoway (scatter avgtoolow avgtoolowthird1 [w=freqtoolow] if treatmentgroup==5 & period==45) (scatteri 0 0 1 1, recast(line) lpattern(dash) lcolor(black)) //graph with producer performance by third //producer realprofit by third bysort treatmentgroup third session: egen realprofitbythirdsession=mean(realprofit) if profittreatment==1 bysort treatmentgroup third session: egen realsuccessbythirdsession=mean(realsuccess) if profittreatment==0 generate trueminprice=ceil(max(tset/15,rset)) if treatmentgroup==2 | treatmentgroup==3 | treatmentgroup==5 | treatmentgroup==6 generate distancet=abs(tset-opttset) generate distancer=abs(rset-optrset) //use "C:\Users\Andrej Woerner\Crowdfunding\crowdfunding\Data\ProducerPerformanceThird" //erase DiffProfitThird.gph //erase DiffSuccessThird.gph //profileplot pro1 pro2 pro3, by(mechanism) saving(DiffProfitThird) //profileplot suc1 suc2 suc3, by(mechanism) saving(DiffSuccessThird) //graph combine "DiffProfitThird" "DiffSuccessThird" //use "C:\Users\Andrej Woerner\Crowdfunding\crowdfunding\Data\ProducerBehaviorThird" //erase DistanceThird.gph //profileplot pro1 pro2 pro3, by(mechanism) saving(DiffProfitThird) //profileplot suc1 suc2 suc3, by(mechanism) saving(DiffSuccessThird) //graph combine "DiffProfitThird" "DiffSuccessThird" //Euclidian Distance where distance of threshold is divided by 10 generate distance10=sqrt((rset-optrset)^2+((tset-opttset)/10)^2) generate distanceemp10=sqrt((rset-emprset)^2+((tset-emptset)/10)^2) generate distancesd=sqrt(((rset-optrset)/2.322302)^2+((tset-opttset)/21.46239)^2) if treatmentgroup==4 replace distancesd=sqrt(((rset-optrset)/3.428522)^2+((tset-opttset)/17.40259)^2) if treatmentgroup==5 replace distancesd=sqrt(((rset-optrset)/2.838731)^2+((tset-opttset)/15.43329)^2) if treatmentgroup==6 generate distanceempsd=sqrt(((rset-emprset)/2.322302)^2+((tset-emptset)/21.46239)^2) if treatmentgroup==4 replace distanceempsd=sqrt(((rset-emprset)/3.428522)^2+((tset-emptset)/17.40259)^2) if treatmentgroup==5 replace distanceempsd=sqrt(((rset-emprset)/2.838731)^2+((tset-emptset)/15.43329)^2) if treatmentgroup==6 //Bayesian Analysis // Model for performance and gender reg rset profittreatment if treatmentgroup>4 & producer==1 & period>15, vce(cluster idnr) // Bayes with uninformative priors, st dev 1 and 0.1 bayes, prior({rset: profittreatment}, normal(0, 0.3)}) saving(uninfo1coef_simdata, replace): reg rset profittreatment i.idnr if treatmentgroup==4 & producer==1 estimates store uninfo1coef bayes, prior({rset: profittreatment}, normal(1, 0.3)}) saving(uninfo01coef_simdata, replace): reg rset profittreatment i.idnr if treatmentgroup==4 & producer==1 estimates store uninfo01coef // Bayes with "informative prior" that gender has the same effect in SR and nR , based on "reg correct female if rivalry==0&type==1", the variance is just the squared standard error of the coefficient bayes, prior({rset: profittreatment}, normal(1 , 0.3)}) saving(infontcoef_simdata, replace): reg rset profittreatment if treatmentgroup==4 & producer==1 estimates store infoetcoef //bayesmh rset, reffects(profittreatment) likelihood(normal(0,1)) /// //prior({rset:profittreatment}, flat) noconstant /// //showreffects({rset:profittreatment}) if treatmentgroup==4 //determine Bayes Factor bayesstats ic uninfo1coef infoetcoef, bayesfactor bayesstats ic uninfo01coef infoetcoef, bayesfactor //test which model is better bayestest model uninfo1coef infoetcoef bayestest model uninfo01coef infoetcoef //restore translate @Results bayesoutput.txt, replace reg rset profittreatment if treatmentgroup==5, vce(cluster idnr) preserve drop if producer!=1 drop if period<16 drop if treatmentgroup==. drop if treatmentgroup<4 collapse (mean) tminusc rset, by(treatmentgroup session profittreatment) reshape wide tminusc rset, i(treatmentgroup session) j(profittreatment) list permtest1 tminusc0=tminusc1 if treatmentgroup==4, exact permtest1 tminusc0=tminusc1 if treatmentgroup==5, exact permtest1 tminusc0=tminusc1 if treatmentgroup==6, exact permtest1 rset0=rset1 if treatmentgroup==4, exact permtest1 rset0=rset1 if treatmentgroup==5, exact permtest1 rset0=rset1 if treatmentgroup==6, exact generate diffr1r0=rset1-rset0 reg diffr1r0 if treatmentgroup==5 reg diffr1r0 if treatmentgroup==6 bayes, prior({diffr1r0: _cons}, normal( 0 , 0.2970152)}) saving(bayes1_simdata, replace): reg diffr1r0 if treatmentgroup==4 estimates store bayes1 bayes, prior({diffr1r0: _cons}, normal( 1, 0.2970152)}) saving(bayes2_simdata, replace): reg diffr1r0 if treatmentgroup==4 estimates store bayes2 //bayes, prior({diffr1r0: _cons}, normal( 3, 1)}) saving(bayes3_simdata, replace): reg diffr1r0 if treatmentgroup==4 //estimates store bayes3 bayesstats ic bayes1 bayes2, bayesfactor bayestest model bayes1 bayes2 translate @Results bayesoutput.txt, replace //twoway scatter rset0 rset1 if treatmentgroup==4 || scatter rset0 rset1 if treatmentgroup==5 || scatter rset0 rset1 if treatmentgroup==6 //pwcorr rset0 rset1 //pwcorr rset0 rset1 if treatmentgroup==5 //pwcorr rset0 rset1 if treatmentgroup==6 //scatter tminusc0 tminusc1, by(treatmentgroup) //pwcorr tminusc0 tminusc1 //pwcorr tminusc0 tminusc1 restore //bayesian testing preserve drop if producer!=1 drop if period<16 drop if treatmentgroup==. drop if treatmentgroup<4 collapse (mean) rset, by(treatmentgroup session profittreatment) reshape wide rset, i(treatmentgroup session) j(profittreatment) list generate diffr1r0=rset1-rset0 summarize diffr1r0 if treatmentgroup>4, detail reg diffr1r0 if treatmentgroup==5 reg diffr1r0 if treatmentgroup==6 bayes, prior({diffr1r0: _cons}, normal( 0 , 0.2970152^2)}) saving(bayes1_simdata, replace) mcmcsize(300000): reg diffr1r0 if treatmentgroup==4 //bayes, prior({diffr1r0: _cons}, normal( 0 , .07833)}) saving(bayes1_simdata, replace) mcmcsize(100000): reg diffr1r0 if treatmentgroup==4 estimates store bayes1 bayes, prior({diffr1r0: _cons}, normal( 1, 0.2970152^2)}) saving(bayes2_simdata, replace) mcmcsize(300000): reg diffr1r0 if treatmentgroup==4 //bayes, prior({diffr1r0: _cons}, normal( 1, 0.07833)}) saving(bayes2_simdata, replace) mcmcsize(100000): reg diffr1r0 if treatmentgroup==4 estimates store bayes2 bayesstats ic bayes1 bayes2, bayesfactor bayestest model bayes1 bayes2 bayesgraph diagnostics diffr1r0: _cons bayesstats ess translate @Results bayesoutput.txt, replace restore //just testing preserve drop if producer!=1 drop if period<16 drop if treatmentgroup==. drop if treatmentgroup<4 collapse (mean) rset, by(treatmentgroup session profittreatment) reshape wide rset, i(treatmentgroup session) j(profittreatment) list generate diffr1r0=rset1-rset0 summarize diffr1r0 if treatmentgroup>4, detail histogram diffr1r0 if treatmentgroup==4, width(0.01) reg diffr1r0 if treatmentgroup==5 reg diffr1r0 if treatmentgroup==6 bayes, prior({diffr1r0: _cons}, normal( 0 , 0.2970152^2)}) saving(bayes1_simdata, replace) mcmcsize(30000): reg diffr1r0 if treatmentgroup==4 //bayes, prior({diffr1r0: _cons}, normal( 0 , .07833)}) saving(bayes1_simdata, replace) mcmcsize(100000): reg diffr1r0 if treatmentgroup==4 estimates store bayes1 bayes, prior({diffr1r0: _cons}, normal( 1, 0.2970152^2)}) saving(bayes2_simdata, replace) mcmcsize(30000): ttest diffr1r0 if treatmentgroup==4 //bayes, prior({diffr1r0: _cons}, normal( 1, 0.07833)}) saving(bayes2_simdata, replace) mcmcsize(100000): reg diffr1r0 if treatmentgroup==4 estimates store bayes2 bayesstats ic bayes1 bayes2, bayesfactor bayestest model bayes1 bayes2 bayesgraph diagnostics diffr1r0: _cons bayesstats ess translate @Results bayesoutput.txt, replace restore //checking whether empirical and theoretical r is lower than observed r preserve drop if period>15 drop if producer!=1 collapse (mean) rset emprset optrset, by(profittreatment treatmentgroup session) permtest1 rset=optrset if profittreatment==1 & treatmentgroup==4 permtest1 rset=emprset if profittreatment==1 & treatmentgroup==4 signrank rset=optrset if profittreatment==1 & treatmentgroup==4 ttest rset=emprset if profittreatment==1 & treatmentgroup==4 gen y9=rset-emprset ttest y9=0 if profittreatment==1 & treatmentgroup==4 reg y9 if profittreatment==1 & treatmentgroup==4 restore preserve drop if period>15 drop if (treatmentgroup!=3 & treatmentgroup!=6) collapse (mean) bestresponsej toolowj toohighj, by(treatmentgroup idnr) //reshape wide bestresponsej toolowj toohighj, i(session) j(treatmentgroup) //permtest1 bestresponsej3=bestresponsej6, exact cdfplot toohighj if treatmentgroup==3 | treatmentgroup==6, by(treatmentgroup) qplot toolowj if treatmentgroup==3 | treatmentgroup==6, recast(line) over(treatmentgroup) restore preserve //keep bestresponsej treatmentgroup idnr period //reshape wide bestresponsej, i(treatmentgroup idnr) j(period) xtset idnr period sort idnr period logit toolowj passive##dynamic rset tset L1.toolowj L2.toolowj L3.toolowj L1.indobvmistakelow L2.indobvmistakelow L3.indobvmistakelow, vce (cluster idnr) restore generate newprofit=(totalpaid-costs)*(totalpaid>=tset) if producer==1 generate newsuccess=(totalpaid>=tset)*(totalpaid>=costs) if producer==1 generate newsurplus=realsurplus if producer==1 tobit newprofit i.treatmentgroup c.tset##c.rset sumvaluation if treatmentgroup<4 & third>1, ll(0) vce(cluster idnr) tobit newprofit i.treatmentgroup##c.third c.tset##c.rset sumvaluation if treatmentgroup<4, ll(0) vce(cluster idnr) tobit newsurplus i.treatmentgroup c.tset##c.rset sumvaluation if treatmentgroup<4 & third>1, ll(0) vce(cluster idnr) tobit newsurplus i.treatmentgroup##c.third c.tset##c.rset sumvaluation if treatmentgroup<4, ll(0) vce(cluster idnr) probit newsuccess i.treatmentgroup c.tset##c.rset sumvaluation if treatmentgroup<4 & third>1, vce(cluster idnr) probit newsuccess i.treatmentgroup##c.third c.tset##c.rset sumvaluation if treatmentgroup<4, vce(cluster idnr) tobit newprofit b2.treatmentgroup c.tset##c.rset sumvaluation if treatmentgroup<4 & third>1, ll(0) vce(cluster idnr) tobit newprofit b2.treatmentgroup##c.third c.tset##c.rset sumvaluation if treatmentgroup<4, ll(0) vce(cluster idnr) tobit newsurplus b2.treatmentgroup c.tset##c.rset sumvaluation if treatmentgroup<4 & third>1, ll(0) vce(cluster idnr) tobit newsurplus b2.treatmentgroup##c.third c.tset##c.rset sumvaluation if treatmentgroup<4, ll(0) vce(cluster idnr) probit newsuccess b2.treatmentgroup c.tset##c.rset sumvaluation if treatmentgroup<4 & third>1, vce(cluster idnr) probit newsuccess b2.treatmentgroup##c.third c.tset##c.rset sumvaluation if treatmentgroup<4, vce(cluster idnr) generate meanvaluation=sumvaluation/15 tobit newprofit i.treatmentgroup c.tset c.rset meanvaluation if treatmentgroup<4 & third>1, ll(0) vce(cluster idnr) est tab, p(%12.10g) tobit newsurplus i.treatmentgroup c.tset c.rset meanvaluation if treatmentgroup<4 & third>1, ll(0) vce(cluster idnr) est tab, p(%12.10g) probit newsuccess i.treatmentgroup c.tset c.rset meanvaluation if treatmentgroup<4 & third>1, vce(cluster idnr) est tab, p(%12.10g) tobit newprofit b2.treatmentgroup c.tset c.rset meanvaluation if treatmentgroup<4 & third>1, ll(0) vce(cluster idnr) est tab, p(%12.10g) tobit newsurplus b2.treatmentgroup c.tset c.rset meanvaluation if treatmentgroup<4 & third>1, ll(0) vce(cluster idnr) est tab, p(%12.10g) probit newsuccess b2.treatmentgroup c.tset c.rset meanvaluation if treatmentgroup<4 & third>1, vce(cluster idnr) est tab, p(%12.10g)