# Calculate Year on Year growth

Hey everyone,

I have a datasheet containing cashflow information for multiple years for multipe companies. Is there any way to calculate the year on year growth rate per company.

Each company has a unique company key (gvkey), and the fiscal year is presented in variable fyear. For a short overview of the data:

``````    gvkey       fyear        cashflow
001004	2017	104.700
001004	2016	108.400
001004	2015	101.300
001004	2014	73.200
001013	2006	162.300
001013	2005	NA
001021	2008	-5.806
001021	2007	-0.951
001021	2006	1.221
001021	2005	NA
001034	2007	11.639
001034	2006	93.682
001034	2005	NA
``````

Via the link down below you can acces my complete dataset. Thank you in advance.

Please use `reprex`. You can get enough data in readily usable form simply with

``````library(magrittr)
``````

and cutting and pasting the output into the window. As shown in the `reprex` below. (Yours will be a bit wordier; I used a shortcut.)

``````suppressPackageStartupMessages(library(dplyr))
dat <- structure(list(
gvkey =
c(1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1013, 1013, 1013, 1013, 1013, 1013, 1021),
fyear =
c(2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2005, 2006, 2007, 2008, 2009, 2010, 2005),
cashflow =
c(NA, 63.54, 73255, 106229, 108.4, 86527, 127295, 147.36, 164.1, 170.1, 73.2, 101.3, 108.4, 104.7, NA, 162.3, 148.3, 138.9, 62, 86.9, NA)),
class =
c("spec_tbl_df", "tbl_df", "tbl", "data.frame"),
row.names =
c(NA, -21L), spec = structure(list( cols = list(gvkey = structure(list(),
class =
c("collector_double", "collector")), fyear = structure(list(),
class =
c("collector_double", "collector")), cashflow = structure(list(),
class =
c("collector_number", "collector"))), default = structure(list(),
class =
c("collector_guess", "collector")), skip = 1),
class = "col_spec"))

dat %>% group_by(gvkey) %>%  mutate(yoy = cashflow - lag(cashflow,1)) %>% print(n = Inf)
#> # A tibble: 21 x 4
#> # Groups:   gvkey [3]
#>    gvkey fyear cashflow       yoy
#>    <dbl> <dbl>    <dbl>     <dbl>
#>  1  1004  2004     NA        NA
#>  2  1004  2005     63.5      NA
#>  3  1004  2006  73255     73191.
#>  4  1004  2007 106229     32974
#>  5  1004  2008    108.  -106121.
#>  6  1004  2009  86527     86419.
#>  7  1004  2010 127295     40768
#>  8  1004  2011    147.  -127148.
#>  9  1004  2012    164.       16.7
#> 10  1004  2013    170.        6
#> 11  1004  2014     73.2     -96.9
#> 12  1004  2015    101.       28.1
#> 13  1004  2016    108.        7.1
#> 14  1004  2017    105.       -3.7
#> 15  1013  2005     NA        NA
#> 16  1013  2006    162.       NA
#> 17  1013  2007    148.      -14
#> 18  1013  2008    139.       -9.4
#> 19  1013  2009     62       -76.9
#> 20  1013  2010     86.9      24.9
#> 21  1021  2005     NA        NA
``````

Created on 2020-03-28 by the reprex package (v0.3.0)

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.