Announcement

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

  • Calculations with year variable

    Dear all

    I have the following sample dataset.
    For each firm, I have the operating revenue turnover for the year 2014-2017.
    I also made seperate operating revenue turnover variables.
    Now, I want to calculate the revenue growth for for example 2014-2015.
    I actually want to do the following:
    operatingrevenueturnover2015 - operatingrevenueturnover2014 / ​​​​​​​operatingrevenueturnover2014
    If I do it this way, this does not work.
    How can I do this?

    ​​​​​​​Thanks!

    Code:
    * Example generated by -dataex-. To install: ssc install dataex
    clear
    input float firm int year double operatingrevenueturnover float(operatingrevenueturnover2014 operatingrevenueturnover2015 operatingrevenueturnover2016 operatingrevenueturnover2017)
     1 2017    750000         .         .         .    750000
     1 2015    713500         .    713500         .         .
     1 2016    751700         .         .    751700         .
     1 2014    783781    783781         .         .         .
     2 2016    621000         .         .    621000         .
     2 2015    621000         .    621000         .         .
     2 2014    579000    579000         .         .         .
     2 2017    600000         .         .         .    600000
     3 2014  84146095  84146096         .         .         .
     3 2016 108837094         .         . 108837096         .
     3 2015  91007681         .  91007680         .         .
     3 2017 116326189         .         .         . 116326192
     4 2017    252000         .         .         .    252000
     4 2015    252000         .    252000         .         .
     4 2014    225000    225000         .         .         .
     4 2016    252000         .         .    252000         .
     5 2014    454000    454000         .         .         .
     5 2016    653000         .         .    653000         .
     5 2017    490000         .         .         .    490000
     5 2015    490000         .    490000         .         .
     6 2014  62731632  62731632         .         .         .
     6 2016  64443465         .         .  64443464         .
     6 2017  70734286         .         .         .  70734288
     6 2015  62652350         .  62652352         .         .
     7 2015   7000000         .   7000000         .         .
     7 2014  11511100  11511100         .         .         .
     7 2017   8000000         .         .         .   8000000
     7 2016   7500000         .         .   7500000         .
     8 2014   1000000   1000000         .         .         .
     8 2017   1450000         .         .         .   1450000
     8 2016   1300000         .         .   1300000         .
     8 2015   1200000         .   1200000         .         .
     9 2015   2510000         .   2510000         .         .
     9 2016   2340000         .         .   2340000         .
     9 2017   2300000         .         .         .   2300000
     9 2014   3021000   3021000         .         .         .
    10 2017   1700000         .         .         .   1700000
    10 2016   1751000         .         .   1751000         .
    10 2014   1751000   1751000         .         .         .
    10 2015   1751000         .   1751000         .         .
    11 2017    120000         .         .         .    120000
    11 2015   7000000         .   7000000         .         .
    11 2016     90000         .         .     90000         .
    11 2014  10500000  1.05e+07         .         .         .
    12 2014   1543400   1543400         .         .         .
    12 2017   1543500         .         .         .   1543500
    12 2016   1736000         .         .   1736000         .
    12 2015   1929000         .   1929000         .         .
    13 2016   1152000         .         .   1152000         .
    13 2017   1200000         .         .         .   1200000
    13 2015   1152000         .   1152000         .         .
    13 2014   1152000   1152000         .         .         .
    14 2014   2800000   2800000         .         .         .
    14 2016   2704900         .         .   2704900         .
    14 2017   3010000         .         .         .   3010000
    14 2015   2300000         .   2300000         .         .
    15 2017   1800000         .         .         .   1800000
    15 2015   1400000         .   1400000         .         .
    15 2014   1800000   1800000         .         .         .
    15 2016   1500000         .         .   1500000         .
    16 2014   2020000   2020000         .         .         .
    16 2017   2700000         .         .         .   2700000
    16 2015   2020000         .   2020000         .         .
    16 2016   2020000         .         .   2020000         .
    17 2017     84000         .         .         .     84000
    17 2015     93948         .     93948         .         .
    17 2014     90876     90876         .         .         .
    17 2016     74072         .         .     74072         .
    18 2016   2947300         .         .   2947300         .
    18 2014   1528000   1528000         .         .         .
    18 2017   3647233         .         .         .   3647233
    18 2015   2533800         .   2533800         .         .
    19 2016   6444000         .         .   6444000         .
    19 2015   5463000         .   5463000         .         .
    19 2017   6444000         .         .         .   6444000
    19 2014   6724000   6724000         .         .         .
    20 2014    293000    293000         .         .         .
    20 2017    609000         .         .         .    609000
    20 2016    305000         .         .    305000         .
    20 2015    304000         .    304000         .         .
    21 2017 292546298         .         .         . 292546304
    21 2014 330467701 330467712         .         .         .
    21 2016 292327723         .         . 292327712         .
    21 2015 315647667         . 315647680         .         .
    22 2015   5561719         .   5561719         .         .
    22 2016   6278254         .         .   6278254         .
    22 2014   6294419   6294419         .         .         .
    22 2017   8196184         .         .         .   8196184
    23 2016   2300000         .         .   2300000         .
    23 2017   2800000         .         .         .   2800000
    23 2014   2000000   2000000         .         .         .
    23 2015   2100000         .   2100000         .         .
    24 2016    730000         .         .    730000         .
    24 2017    730000         .         .         .    730000
    24 2015    730000         .    730000         .         .
    24 2014    730000    730000         .         .         .
    25 2017    421000         .         .         .    421000
    25 2015    420000         .    420000         .         .
    25 2014    420000    420000         .         .         .
    25 2016    420000         .         .    420000         .
    end

  • #2
    The code you showed was
    Code:
    operatingrevenueturnover2015 - operatingrevenueturnover2014 / operatingrevenueturnover2014
    In Stata, as in mathematics in general, multiplication and division take precence over addition and subtraction. You need
    Code:
    ( operatingrevenueturnover2015 - operatingrevenueturnover2014 ) / operatingrevenueturnover2014
    to cause Stata to calculate the difference between the 2015 and 2014 values and then divide that difference by the 2014 value.

    But that's not the full problem. Here's how you need to do this.
    Code:
    * Example generated by -dataex-. For more info, type help dataex
    clear
    input float firm int year double operatingrevenueturnover
     1 2017    750000
     1 2015    713500
     1 2016    751700
     1 2014    783781
     2 2016    621000
     2 2015    621000
     2 2014    579000
     2 2017    600000
     3 2014  84146095
     3 2016 108837094
     3 2015  91007681
     3 2017 116326189
     4 2017    252000
     4 2015    252000
     4 2014    225000
     4 2016    252000
     5 2014    454000
     5 2016    653000
     5 2017    490000
     5 2015    490000
     6 2014  62731632
     6 2016  64443465
     6 2017  70734286
     6 2015  62652350
     7 2015   7000000
     7 2014  11511100
     7 2017   8000000
     7 2016   7500000
     8 2014   1000000
     8 2017   1450000
     8 2016   1300000
     8 2015   1200000
     9 2015   2510000
     9 2016   2340000
     9 2017   2300000
     9 2014   3021000
    10 2017   1700000
    10 2016   1751000
    10 2014   1751000
    10 2015   1751000
    11 2017    120000
    11 2015   7000000
    11 2016     90000
    11 2014  10500000
    12 2014   1543400
    12 2017   1543500
    12 2016   1736000
    12 2015   1929000
    13 2016   1152000
    13 2017   1200000
    13 2015   1152000
    13 2014   1152000
    14 2014   2800000
    14 2016   2704900
    14 2017   3010000
    14 2015   2300000
    15 2017   1800000
    15 2015   1400000
    15 2014   1800000
    15 2016   1500000
    16 2014   2020000
    16 2017   2700000
    16 2015   2020000
    16 2016   2020000
    17 2017     84000
    17 2015     93948
    17 2014     90876
    17 2016     74072
    18 2016   2947300
    18 2014   1528000
    18 2017   3647233
    18 2015   2533800
    19 2016   6444000
    19 2015   5463000
    19 2017   6444000
    19 2014   6724000
    20 2014    293000
    20 2017    609000
    20 2016    305000
    20 2015    304000
    21 2017 292546298
    21 2014 330467701
    21 2016 292327723
    21 2015 315647667
    22 2015   5561719
    22 2016   6278254
    22 2014   6294419
    22 2017   8196184
    23 2016   2300000
    23 2017   2800000
    23 2014   2000000
    23 2015   2100000
    24 2016    730000
    24 2017    730000
    24 2015    730000
    24 2014    730000
    25 2017    421000
    25 2015    420000
    25 2014    420000
    25 2016    420000
    end
    
    by firm (year), sort: generate revenuegrowth = ( operatingrevenueturnover - operatingrevenueturnover[_n-1] ) / operatingrevenueturnover[_n-1]
    format %9.4f revenuegrowth
    format %12.0fc operatingrevenueturnover
    list if firm<=5, abbreviate(30) sepby(firm)
    Code:
    . list if firm<=5, abbreviate(30) sepby(firm)
    
         +--------------------------------------------------------+
         | firm   year   operatingrevenueturnover   revenuegrowth |
         |--------------------------------------------------------|
      1. |    1   2014                    783,781               . |
      2. |    1   2015                    713,500         -0.0897 |
      3. |    1   2016                    751,700          0.0535 |
      4. |    1   2017                    750,000         -0.0023 |
         |--------------------------------------------------------|
      5. |    2   2014                    579,000               . |
      6. |    2   2015                    621,000          0.0725 |
      7. |    2   2016                    621,000          0.0000 |
      8. |    2   2017                    600,000         -0.0338 |
         |--------------------------------------------------------|
      9. |    3   2014                 84,146,095               . |
     10. |    3   2015                 91,007,681          0.0815 |
     11. |    3   2016                108,837,094          0.1959 |
     12. |    3   2017                116,326,189          0.0688 |
         |--------------------------------------------------------|
     13. |    4   2014                    225,000               . |
     14. |    4   2015                    252,000          0.1200 |
     15. |    4   2016                    252,000          0.0000 |
     16. |    4   2017                    252,000          0.0000 |
         |--------------------------------------------------------|
     17. |    5   2014                    454,000               . |
     18. |    5   2015                    490,000          0.0793 |
     19. |    5   2016                    653,000          0.3327 |
     20. |    5   2017                    490,000         -0.2496 |
         +--------------------------------------------------------+

    Comment

    Working...
    X