from otree.api import * doc = """ Your app description """ class C(BaseConstants): NAME_IN_URL = 'RecSysQ' PLAYERS_PER_GROUP = None NUM_ROUNDS = 1 class Subsession(BaseSubsession): pass def creating_session(subsession: Subsession): import random, string for player in subsession.get_players(): r = ''.join(random.choices(string.ascii_letters + string.digits, k=5)) player.code = r class Group(BaseGroup): pass class Player(BasePlayer): # def make_field1(label): # return models.IntegerField( # label=label, # choices=[[1,'テレビ・ラジオ'], # [2,'新聞・雑誌'], # [3,'インターネットニュース'], # [4,'専門情報サイト'], # [5,'Twitter、LINE、Facebookなどのソーシャルメディア'], # [6,'ブログ、その他のサイト'], # [7,'知人、友人、家族からの会話'], # [8,'お店の店員'], # [9,'そのような情報は必要としなかった']], # widget=widgets.RadioSelect # ) def make_field2(label): return models.IntegerField( label=label, choices=[[1,'よく購入する'], [2,'たまに購入する'], [3,'どちらでもない'], [4,'あまり購入しない'], [5,'まったく購入しない'],], widget=widgets.RadioSelect ) def make_field2_1(label): return models.IntegerField( label=label, choices=[[1,'よくクリックする'], [2,'たまにクリックする'], [3,'どちらでもない'], [4,'あまりクリックしない'], [5,'まったくクリックしない'],], widget=widgets.RadioSelect ) def make_field3(label): return models.IntegerField( label=label, choices=[[1,'頻繁に購入する'], [2,'たまに購入する'], [3,'どちらともいえない'], [4,'ほとんど購入しない'], [5,'まったく購入しない'],], widget=widgets.RadioSelect ) def make_field4(label): return models.IntegerField( label=label, choices=[[1,'非常によく使う'], [2,'よく使う'], [3,'どちらでもない'], [4,'あまり使わない'], [5,'まったく使わない'],], widget=widgets.RadioSelect ) def make_field5(label): return models.IntegerField( label=label, choices=[[1,'非常に信頼できる'], [2,'ある程度信頼できる'], [3,'あまり信頼できない'], [4,'全く信頼できない'], [5,'そもそもインターネット通販を使わない、知らない'],], widget=widgets.RadioSelect ) # フェイスシート d1 = models.IntegerField(label='(1) あなたの性別をお答えください', choices=[[1,'男性'],[2,'女性'],[3,'答えたくない']]) # d2 = models.IntegerField(label='(2) あなたが自認している性別をお答えください', # choices=[[1,'男性'],[2,'女性'],[3,'答えたくない']]) d3 = models.IntegerField(label='(2) あなたの年齢をお答えください',choices=list(range(16,100))) d4 = models.IntegerField(label='(4) あなたの最終学歴は次のうちどれですか', choices=[[1,'中学校'],[2,'高校'],[3,'短大・高専・専門学校'],[4,'大学'],[5,'大学院']]) d5 = models.IntegerField(label='(5) あなたは現在、結婚していますか。', choices=[[1,'未婚'],[2,'離婚、死別'],[3,'既婚(パートナーとの同居を含む)']]) d6 = models.IntegerField(label='(6) 現在同居なさっているご家族は何人ですか。あなた自身を含めた人数をお答えください。',min=1, max=20,choices=list(range(1,21))) d7 = models.IntegerField(label='(7) あなたの現在の雇用状況にもっとも当てはまるものをお選びください。', choices=[[1,'正規雇用'],[2,'アルバイト・派遣社員'],[3,'自営業'],[4,'失業して1年以上'],[5,'失業して1年以内'], [6,'主婦・主夫'],[7,'学生'],[8,'退職'],[9,'労働が困難な状況にある']]) d8 = models.IntegerField(label='(7-1) 現在の雇用状況で「正規雇用」、「アルバイト・派遣社員」、「自営業」と回答された方にお尋ねします。あなたのお仕事の業種としてもっとも適切なものをお選びください。', choices=[[1,'農林水産・鉱業'],[2,'建設業'],[3,'製造業'],[4,'卸・小売業・飲食店'],[5,'金融・保険業'], [6,'不動産業'],[7,'運輸・通信業'],[8,'学術研究、専門・技術サービス業'], [9,'宿泊業、飲食サービス業'],[10,'生活関連サービス業、娯楽業'], [11,'教育、学習支援業'],[12,'医療、福祉'],[13,'複合サービス業(郵便局、協同組合)'],[14,'教育'],[15,'公務'],[16,'その他']],blank=True) d9 = models.IntegerField(label='(7-2) 現在の雇用状況で「正規雇用」、「アルバイト・派遣」と回答された方にお尋ねします。あなたの担当されている業務についてもっとも適切なものを選びください。', choices=[[1,'運営・管理'],[2,'一般事務'],[3,'受付'],[4,'生産・製造'], [5,'研究・分析・設計'],[6,'調達'],[7,'販売・サービス提供'],[8,'コンサルティング'],[9,'営業'], [10,'建設・工事作業'],[11,'その他']],blank=True) d10 = models.IntegerField(label='(8) あなたの世帯収入はどのくらいですか。', choices=[[1,'200万円未満'],[2,'200万円以上〜400万円未満'],[3,'400万円以上〜600万円未満'], [4,'600万円以上〜800万円未満'],[5,'800万円以上〜1000万円未満'], [6,'1000万円以上〜1200万円未満'],[7,'1200万円以上〜1400万円未満'],[8,'1400万円以上']],blank=True) d11 = models.IntegerField(label='(3) お住まいの都道府県をお答えください。*海外在住の場合などは「その他」を選んでください。', choices=[[1,'北海道'],[2,'青森'],[3,'岩手'],[4,'宮城'],[5,'秋田'],[6,'山形'],[7,'福島'],[8,'茨城'], [9,'栃木'],[10,'群馬'],[11,'埼玉'],[12,'千葉'],[13,'東京'],[14,'神奈川'],[15,'新潟'],[16,'富山'],[17,'石川'], [18,'福井'],[19,'山梨'],[20,'長野'],[21,'岐阜'],[22,'静岡'],[23,'愛知'],[24,'三重'],[25,'滋賀'],[26,'京都'], [27,'大阪'],[28,'兵庫'],[29,'奈良'],[30,'和歌山'],[31,'鳥取'],[32,'島根'],[33,'岡山'],[34,'広島'],[35,'山口'], [36,'徳島'],[37,'香川'],[38,'愛媛'],[39,'高知'],[40,'福岡'],[41,'佐賀'],[42,'長崎'],[43,'熊本'],[44,'大分'], [45,'宮崎'],[46,'鹿児島'],[47,'沖縄'],[48,'その他']]) # インターネットの検索度合いを聞く項目 (domain exploration) de1_1 = models.BooleanField(blank=True) de1_2 = models.BooleanField(blank=True) de1_3 = models.BooleanField(blank=True) de1_4 = models.BooleanField(blank=True) de1_5 = models.BooleanField(blank=True) de1_6 = models.BooleanField(blank=True) de1_7 = models.BooleanField(blank=True) de1_8 = models.BooleanField(blank=True) de1_9 = models.BooleanField(blank=True) de2_1 = models.BooleanField(blank=True) de2_2 = models.BooleanField(blank=True) de2_3 = models.BooleanField(blank=True) de2_4 = models.BooleanField(blank=True) de2_5 = models.BooleanField(blank=True) de2_6 = models.BooleanField(blank=True) de2_7 = models.BooleanField(blank=True) de2_8 = models.BooleanField(blank=True) de2_9 = models.BooleanField(blank=True) de3_1 = models.BooleanField(blank=True) de3_2 = models.BooleanField(blank=True) de3_3 = models.BooleanField(blank=True) de3_4 = models.BooleanField(blank=True) de3_5 = models.BooleanField(blank=True) de3_6 = models.BooleanField(blank=True) de3_7 = models.BooleanField(blank=True) de3_8 = models.BooleanField(blank=True) de3_9 = models.BooleanField(blank=True) de4_1 = models.BooleanField(blank=True) de4_2 = models.BooleanField(blank=True) de4_3 = models.BooleanField(blank=True) de4_4 = models.BooleanField(blank=True) de4_5 = models.BooleanField(blank=True) de4_6 = models.BooleanField(blank=True) de4_7 = models.BooleanField(blank=True) de4_8 = models.BooleanField(blank=True) de4_9 = models.BooleanField(blank=True) de5_1 = models.BooleanField(blank=True) de5_2 = models.BooleanField(blank=True) de5_3 = models.BooleanField(blank=True) de5_4 = models.BooleanField(blank=True) de5_5 = models.BooleanField(blank=True) de5_6 = models.BooleanField(blank=True) de5_7 = models.BooleanField(blank=True) de5_8 = models.BooleanField(blank=True) de5_9 = models.BooleanField(blank=True) de6_1 = models.BooleanField(blank=True) de6_2 = models.BooleanField(blank=True) de6_3 = models.BooleanField(blank=True) de6_4 = models.BooleanField(blank=True) de6_5 = models.BooleanField(blank=True) de6_6 = models.BooleanField(blank=True) de6_7 = models.BooleanField(blank=True) de6_8 = models.BooleanField(blank=True) de6_9 = models.BooleanField(blank=True) de7_1 = models.BooleanField(blank=True) de7_2 = models.BooleanField(blank=True) de7_3 = models.BooleanField(blank=True) de7_4 = models.BooleanField(blank=True) de7_5 = models.BooleanField(blank=True) de7_6 = models.BooleanField(blank=True) de7_7 = models.BooleanField(blank=True) de7_8 = models.BooleanField(blank=True) de7_9 = models.BooleanField(blank=True) de8_1 = models.BooleanField(blank=True) de8_2 = models.BooleanField(blank=True) de8_3 = models.BooleanField(blank=True) de8_4 = models.BooleanField(blank=True) de8_5 = models.BooleanField(blank=True) de8_6 = models.BooleanField(blank=True) de8_7 = models.BooleanField(blank=True) de8_8 = models.BooleanField(blank=True) de8_9 = models.BooleanField(blank=True) de9_1 = models.BooleanField(blank=True) de9_2 = models.BooleanField(blank=True) de9_3 = models.BooleanField(blank=True) de9_4 = models.BooleanField(blank=True) de9_5 = models.BooleanField(blank=True) de9_6 = models.BooleanField(blank=True) de9_7 = models.BooleanField(blank=True) de9_8 = models.BooleanField(blank=True) de9_9 = models.BooleanField(blank=True) # de1 = make_field1('(1)仕事に関連した情報') # de2 = make_field1('(2)日常でわからない言葉などに遭遇したとき') # de3 = make_field1('(3)時事ニュースに関連した情報') # de4 = make_field1('(4)スポーツに関連した情報') # de5 = make_field1('(5)気象・天気に関連した情報') # de6 = make_field1('(6)グルメに関連した情報') # de7 = make_field1('(7)旅行・観光に関連した情報') # de8 = make_field1('(8)芸能・娯楽に関連した情報') # de9 = make_field1('(9)ショッピングに関連した情報') # インターネットで検索する際に使用しているアプリ、機器 (application) # app1 = models.IntegerField(label='情報を収集したり、調べたりするさい、どのサイト、またはアプリを用いますか', # choices=[[1,'Google'],[2,'Duckduckgo'],[3,'Yahoo!'], # [4,'Bing'],[5,'goo'], # [6,'SNS'],[7,'その他']]) app1_1 = models.BooleanField(blank=True) app1_2 = models.BooleanField(blank=True) app1_3 = models.BooleanField(blank=True) app1_4 = models.BooleanField(blank=True) app1_5 = models.BooleanField(blank=True) app1_6 = models.BooleanField(blank=True) app1_7 = models.BooleanField(blank=True) app1_e = models.StringField(label='(1-1) その他を選んだ方は何を使用しているかお書きください',initial=' ',blank=True) # app2 = models.IntegerField(label='上記の質問でSNSを選んだ方にお尋ねします。SNSは具体的にどのサービスを使用していますか', # choices=[[1,'Twitter'],[2,'Instagram'],[3,'Facebook'], # [4,'LinkedIn'],[5,'Mixi'], # [6,'その他']]) app2_1 = models.BooleanField(blank=True) app2_2 = models.BooleanField(blank=True) app2_3 = models.BooleanField(blank=True) app2_4 = models.BooleanField(blank=True) app2_5 = models.BooleanField(blank=True) app2_6 = models.BooleanField(blank=True) app2_e = models.StringField(label='その他を選んだ方:利用されているサイトまたはアプリの名称をお答えください。',initial=' ',blank=True) app3_1 = make_field4(label='(2) 普段 Web 検索をする際、パソコンをどれくらい使いますか') app3_2 = make_field4(label='(3) 普段 Web 検索をする際、携帯・スマートフォンをどれくらい使いますか') app3_3 = make_field4(label='(4) 普段 Web 検索をする際、スマートスピーカーをどれくらい使いますか') app3_4 = make_field4(label='(5) 普段 Web 検索をする際、ゲーム機をどれくらい使いますか') app3_5 = make_field4(label='(6) 普段 Web 検索をする際、タブレット端末(iPadやAndroidタブレット等)をどれくらい使いますか') # おすすめ、評価をどのように使用しているか (net exploration) ne1_1 = make_field3('(1) 嗜好品(ゲーム、本・漫画、映画等)') ne2_1 = make_field3('(2) ファッション・アクセサリー') ne3_1 = make_field3('(3) 食料品') ne4_1 = make_field3('(4) 家電製品') ne5_1 = make_field3('(5) 日用品') ne1 = make_field3('(6) 嗜好品(ゲーム、本・漫画、映画等)') ne2 = make_field3('(7) ファッション・アクセサリー') ne3 = make_field3('(8) 食料品') ne4 = make_field3('(9) 家電製品') ne5 = make_field3('(10) 日用品') ne1_2 = make_field5('(11) 嗜好品(ゲーム、本・漫画、映画等)') ne2_2 = make_field5('(12) ファッション・アクセサリー') ne3_2 = make_field5('(13) 食料品') ne4_2 = make_field5('(14) 家電製品') ne5_2 = make_field5('(15) 日用品') # ne6 = models.IntegerField(label='(6) 普段ウェブ通販で買い物をするさい、どのサイト、またはアプリを用いますか', # choices=[[1,'Amazon'],[2,'楽天'],[3,'メルカリ'], # [4,'ジモティー'],[5,'ヤフオク'], # [6,'Zozotown'],[7,'その他']]) ne6_1 = models.BooleanField(blank=True) ne6_2 = models.BooleanField(blank=True) ne6_3 = models.BooleanField(blank=True) ne6_4 = models.BooleanField(blank=True) ne6_5 = models.BooleanField(blank=True) ne6_6 = models.BooleanField(blank=True) ne6_7 = models.BooleanField(blank=True) ne6_e = models.StringField(label='(6-1) その他を選んだ方は何を使用しているかお書きください',initial=' ',blank=True) ne7 = models.IntegerField(label='普段どれほどアマゾン等の通販サイトで買い物をしますか', choices=[[1,'週に数回'],[2,'月に数回'],[3,'半年に数回'], [4,'1年に数回'],[5,'1年未満']],widget=widgets.RadioSelect) ## 嗜好品(ゲーム、本・漫画、映画等) ### 購入するか nehobby1 = make_field2('(1-1) 通販サイト内であなたのクリックした商品にもとづいておすすめされる商品') nehobby2 = make_field2('(1-2) 通販サイト内であなたの購入履歴にもとづいておすすめされる商品') nehobby3 = make_field2('(1-3) 通販サイト内で「これを買った人はこれも買っています」として紹介される商品') nehobby4 = make_field2('(1-4) 通販サイト内で高い評価を受けている商品') nehobby5 = make_field2('(1-5) 通販サイト内でランキングの高い商品') nehobby6 = make_field2('(1-6) 通販サイト内でベストセラーとなっている商品') ### クリックするか nehobby7 = make_field2_1('(1-7) 通販サイト内であなたのクリックした商品にもとづいておすすめされる商品') nehobby8 = make_field2_1('(1-8) 通販サイト内であなたの購入履歴にもとづいておすすめされる商品') nehobby9 = make_field2_1('(1-9) 通販サイト内で「これを買った人はこれも買っています」として紹介される商品') nehobby10 = make_field2_1('(1-10) 通販サイト内で高い評価を受けている商品') nehobby11 = make_field2_1('(1-11) 通販サイト内でランキングの高い商品') nehobby12 = make_field2_1('(1-12) 通販サイト内でベストセラーとなっている商品') ## 服 ### 購入するか newear1 = make_field2('(2-1) 通販サイト内であなたのクリックした商品にもとづいておすすめされる商品') newear2 = make_field2('(2-2) 通販サイト内であなたの購入履歴にもとづいておすすめされる商品') newear3 = make_field2('(2-3) 通販サイト内で「これを買った人はこれも買っています」として紹介される商品') newear4 = make_field2('(2-4) 通販サイト内で高い評価を受けている商品') newear5 = make_field2('(2-5) 通販サイト内でランキングの高い商品') newear6 = make_field2('(2-6) 通販サイト内でベストセラーとなっている商品') ### クリックするか newear7 = make_field2_1('(2-7) 通販サイト内であなたのクリックした商品にもとづいておすすめされる商品') newear8 = make_field2_1('(2-8) 通販サイト内であなたの購入履歴にもとづいておすすめされる商品') newear9 = make_field2_1('(2-9) 通販サイト内で「これを買った人はこれも買っています」として紹介される商品') newear10 = make_field2_1('(2-10) 通販サイト内で高い評価を受けている商品') newear11 = make_field2_1('(2-11) 通販サイト内でランキングの高い商品') newear12 = make_field2_1('(2-12) 通販サイト内でベストセラーとなっている商品') ## 食料品 ### 購入するか nefood1 = make_field2('(3-1) 通販サイト内であなたのクリックした商品にもとづいておすすめされる商品') nefood2 = make_field2('(3-2) 通販サイト内であなたの購入履歴にもとづいておすすめされる商品') nefood3 = make_field2('(3-3) 通販サイト内で「これを買った人はこれも買っています」として紹介される商品') nefood4 = make_field2('(3-4) 通販サイト内で高い評価を受けている商品') nefood5 = make_field2('(3-5) 通販サイト内でランキングの高い商品') nefood6 = make_field2('(3-6) 通販サイト内でベストセラーとなっている商品') ### クリックするか nefood7 = make_field2_1('(3-7) 通販サイト内であなたのクリックした商品にもとづいておすすめされる商品') nefood8 = make_field2_1('(3-8) 通販サイト内であなたの購入履歴にもとづいておすすめされる商品') nefood9 = make_field2_1('(3-9) 通販サイト内で「これを買った人はこれも買っています」として紹介される商品') nefood10 = make_field2_1('(3-10) 通販サイト内で高い評価を受けている商品') nefood11 = make_field2_1('(3-11) 通販サイト内でランキングの高い商品') nefood12 = make_field2_1('(3-12) 通販サイト内でベストセラーとなっている商品') ## 家電製品 ### 購入するか neelec1 = make_field2('(4-1) 通販サイト内であなたのクリックした商品にもとづいておすすめされる商品') neelec2 = make_field2('(4-2) 通販サイト内であなたの購入履歴にもとづいておすすめされる商品') neelec3 = make_field2('(4-3) 通販サイト内で「これを買った人はこれも買っています」として紹介される商品') neelec4 = make_field2('(4-4) 通販サイト内で高い評価を受けている商品') neelec5 = make_field2('(4-5) 通販サイト内でランキングの高い商品') neelec6 = make_field2('(4-6) 通販サイト内でベストセラーとなっている商品') ### クリックするか neelec7 = make_field2_1('(4-7) 通販サイト内であなたのクリックした商品にもとづいておすすめされる商品') neelec8 = make_field2_1('(4-8) 通販サイト内であなたの購入履歴にもとづいておすすめされる商品') neelec9 = make_field2_1('(4-9) 通販サイト内で「これを買った人はこれも買っています」として紹介される商品') neelec10 = make_field2_1('(4-10) 通販サイト内で高い評価を受けている商品') neelec11 = make_field2_1('(4-11) 通販サイト内でランキングの高い商品') neelec12 = make_field2_1('(4-12) 通販サイト内でベストセラーとなっている商品') ## 日用品 ### 購入するか nedaily1 = make_field2('(5-1) 通販サイト内であなたのクリックした商品にもとづいておすすめされる商品') nedaily2 = make_field2('(5-2) 通販サイト内であなたの購入履歴にもとづいておすすめされる商品') nedaily3 = make_field2('(5-3) 通販サイト内で「これを買った人はこれも買っています」として紹介される商品') nedaily4 = make_field2('(5-4) 通販サイト内で高い評価を受けている商品') nedaily5 = make_field2('(5-5) 通販サイト内でランキングの高い商品') nedaily6 = make_field2('(5-6) 通販サイト内でベストセラーとなっている商品') ### クリックするか nedaily7 = make_field2_1('(5-7) 通販サイト内であなたのクリックした商品にもとづいておすすめされる商品') nedaily8 = make_field2_1('(5-8) 通販サイト内であなたの購入履歴にもとづいておすすめされる商品') nedaily9 = make_field2_1('(5-9) 通販サイト内で「これを買った人はこれも買っています」として紹介される商品') nedaily10 = make_field2_1('(5-10) 通販サイト内で高い評価を受けている商品') nedaily11 = make_field2_1('(5-11) 通販サイト内でランキングの高い商品') nedaily12 = make_field2_1('(5-12) 通販サイト内でベストセラーとなっている商品') code = models.StringField() # PAGES class demographics(Page): form_model = "player" form_fields = ["d1","d3","d11","d4","d5","d6","d7","d8","d9","d10"] class de(Page): form_model = "player" form_fields = ["de1_1","de1_2","de1_3","de1_4","de1_5","de1_6","de1_7","de1_8","de1_9", "de2_1","de2_2","de2_3","de2_4","de2_5","de2_6","de2_7","de2_8","de2_9", "de3_1","de3_2","de3_3","de3_4","de3_5","de3_6","de3_7","de3_8","de3_9", "de4_1","de4_2","de4_3","de4_4","de4_5","de4_6","de4_7","de4_8","de4_9", "de5_1","de5_2","de5_3","de5_4","de5_5","de5_6","de5_7","de5_8","de5_9", "de6_1","de6_2","de6_3","de6_4","de6_5","de6_6","de6_7","de6_8","de6_9", "de7_1","de7_2","de7_3","de7_4","de7_5","de7_6","de7_7","de7_8","de7_9", "de8_1","de8_2","de8_3","de8_4","de8_5","de8_6","de8_7","de8_8","de8_9", "de9_1","de9_2","de9_3","de9_4","de9_5","de9_6","de9_7","de9_8","de9_9"] class app(Page): form_model = "player" form_fields = ["app1_1","app1_2","app1_3","app1_4","app1_5","app1_6","app1_7","app1_e","app2_1","app2_2","app2_3","app2_4","app2_5","app2_6","app2_e","app3_1","app3_2","app3_3","app3_4","app3_5"] class ne1(Page): form_model = "player" form_fields = ["ne1_1","ne2_1","ne3_1","ne4_1","ne5_1","ne1","ne2","ne3","ne4","ne5","ne1_2","ne2_2","ne3_2","ne4_2","ne5_2","ne6_1","ne6_2","ne6_3","ne6_4","ne6_5","ne6_6","ne6_7","ne6_e"] class ne2_1(Page): @staticmethod def is_displayed(player): return player.ne1 != 5 form_model = "player" form_fields = ["nehobby1","nehobby2","nehobby3","nehobby4","nehobby5","nehobby6","nehobby7","nehobby8","nehobby9","nehobby10","nehobby11","nehobby12"] class ne2_2(Page): @staticmethod def is_displayed(player): return player.ne2 != 5 form_model = "player" form_fields = ["newear1","newear2","newear3","newear4","newear5","newear6","newear7","newear8","newear9","newear10","newear11","newear12",] class ne2_3(Page): @staticmethod def is_displayed(player): return player.ne3 != 5 form_model = "player" form_fields = ["nefood1","nefood2","nefood3","nefood4","nefood5","nefood6","nefood7","nefood8","nefood9","nefood10","nefood11","nefood12",] class ne2_4(Page): @staticmethod def is_displayed(player): return player.ne4 != 5 form_model = "player" form_fields = ["neelec1","neelec2","neelec3","neelec4","neelec5","neelec6","neelec7","neelec8","neelec9","neelec10","neelec11","neelec12",] class ne2_5(Page): @staticmethod def is_displayed(player): return player.ne5 != 5 form_model = "player" form_fields = ["nedaily1","nedaily2","nedaily3","nedaily4","nedaily5","nedaily6","nedaily7","nedaily8","nedaily9","nedaily10","nedaily11","nedaily12"] class Intro(Page): pass class Thanks(Page): form_model = "player" form_fields = ["code",] page_sequence = [Intro,de,app,ne1,ne2_1,ne2_2,ne2_3,ne2_4,ne2_5,demographics,Thanks] # Intro,de,app,ne1,ne2_1,ne2_2,ne2_3,ne2_4,ne2_5,demographics,Thanks