Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • How to make a scorecard (1-100) with different weights?

    Hi everyone,

    I have three variables each having a different scale

    1) clubtime - indicating whether club activity started on time (1), started late (0.5) or if there was no club activity at all (0)
    2) attendance - an integer value for the number of girls who attended the club on the day of the survey.
    3) financial_literacy - a binary variable indicating whether the club as whole organized a financial literacy training or not.

    I want to create a scorecard (1-100) by combining the above 3 variables such that clubtime and attendance each get 30% weight in the scorecard whereas financial_literacy gets 40% weight.

    Any help in this regard will be highly appreciated.

    Thanks
    Danish

    Code:
    * Example generated by -dataex-. To install: ssc install dataex
    clear
    input byte(survey_country ela_club) double clubtime byte(attendance financial_literacy)
    1  2  0 20 0
    2 11  1 11 1
    1  1  0 20 0
    2  9 .5  2 1
    1  6  1  2 1
    1  3 .5  3 0
    1  5  1  6 1
    1  4  0 20 0
    2  7  1  8 1
    2 10 .5  0 1
    2 12 .5  4 1
    2  8  1 11 1
    3 15 .5  8 1
    3 16 .5  8 1
    3 14  1  4 1
    3 13  1 16 1
    end
    label values survey_country survey_country
    label def survey_country 1 "Uganda", modify
    label def survey_country 2 "Tanzania", modify
    label def survey_country 3 "Liberia", modify
    label values ela_club ela_club
    label def ela_club 1 "Masaanaa", modify
    label def ela_club 2 "Muzana 1", modify
    label def ela_club 3 "Bukejje", modify
    label def ela_club 4 "Kikajjo", modify
    label def ela_club 5 "Kampala Road", modify
    label def ela_club 6 "Kirombe A", modify
    label def ela_club 7 "Nsalaga", modify
    label def ela_club 8 "Chemchan", modify
    label def ela_club 9 "Chadurua", modify
    label def ela_club 10 "Ipagala A", modify
    label def ela_club 11 "Sandali", modify
    label def ela_club 12 "Mamboleo", modify
    label def ela_club 13 "Focus Girls", modify
    label def ela_club 14 "Faith Girls", modify
    label def ela_club 15 "Bright Future", modify
    label def ela_club 16 "Opportunity", modify
    label values financial_literacy financial_literacy
    label def financial_literacy 0 "No", modify
    label def financial_literacy 1 "Yes", modify

  • #2
    You have to specify the scoring rules for each of your variables, e.g.,

    clubtime - indicating whether club activity started on time (1), started late (0.5) or if there was no club activity at all (0)
    no activity=0/30, started late= 15/30, started on time=30/30


    Comment


    • #3
      Hi Andrew Musau

      Thanks for the prompt response. I'm not sure if I get what you're asking.

      - attendance is a numeric value and can take any value from 0 to 30. Should I create my own rules here? For example if attendance is from 0-10 the score is = 0, if 10-20 = 0.5, and anything > 20 gets a score of 1

      - Financial_literacy is a binary variable taking the value of 1 if they had the training, 0 otherwise.

      Thanks.

      Comment


      • #4
        You want to rescale clubtime to 0-30, attendance to 1-30 (well that's done since by coincidence the largest possible value of attendance is 30), and financial_literacy to 0-40. Then you add those together for your score. The value of the sum will run from 1 to 100, and clubtime and attendance will each amount to 30% and financial_literacy to 40%.

        That means financial_literacy is 0 or 40, and clubtime is 0, 15, or 30.

        Comment


        • #5
          You can rescale as William suggests or simply do the following

          Code:
          gen score= (30*clubtime)+ attendance +(40*financial_literacy)
          It makes sense to treat attendance as a score if for each of the clubs, the maximum number of possible attendees is 30. Otherwise, your scoring rule will be unfairly punishing smaller clubs.

          Comment

          Working...
          X