Description Usage Arguments Functions See Also Examples
Calculate revenue for annual vs lifetime scenarios
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | nc_annual_stream(retain_all, prices, wsfr_amount = NULL,
min_amount = NULL, senior_price = NULL, senior_age = 65,
age_cutoff = 80, youth_ages = 0:15)
nc_annual(retain_all, prices, wsfr_amount = NULL, min_amount = NULL,
senior_price = NULL, senior_age = 65, age_cutoff = 80,
youth_ages = 0:15)
nc_lifetime(prices, return_life, inflation, wsfr_amount = NULL,
min_amount = NULL, perpetuity = TRUE, youth_ages = 0:15,
age_cutoff = 80, fund_years = 0:50)
nc_lifetime_stream(prices, return_life, inflation, wsfr_amount = NULL,
min_amount = NULL, fund_years = 0:500, youth_ages = 0:15,
age_cutoff = 80)
|
retain_all |
data frame of predicted years by age like that produced by
|
prices |
data frame of lifetime prices by age with at least 2 variables: current_age and price_lifetime |
wsfr_amount |
numeric estimated amount for aid dollars (use SFRF for fishing, WRF for hunting) |
min_amount |
numeric the minimum expenditure that will count for a certified hunter/angler (use 2 for hunt/fish and 4 for combo) |
senior_price |
numeric price for a senior lifetime license |
senior_age |
numeric age when a participant will be expected to buy a cheap lifetime license |
age_cutoff |
numeric final age that can be counted for lifetime license-based WSFR dollars |
youth_ages |
if not NULL, assumes for youths that the fund is able to
compound until adulthood (when the agency will begin drawing revenue). See
|
return_life |
percentage return from lifetime fund |
inflation |
inflation rate for depreciation of lifetime fund |
perpetuity |
if TRUE, use a perpetuity calculation
(https://en.wikipedia.org/wiki/Perpetuity) instead of
|
fund_years |
range of years to cast forward for stream-based lifetime fund valuation |
nc_annual_stream
: Stream of Revenue for annual scenario (Revenue|A)
nc_annual
: Total Revenue for annual scenario (Revenue|A)
Convenience function to pull total revenue across all years
nc_lifetime
: Revenue for lifetime scenario (Revenue|L)
nc_lifetime_stream
: Stream of Revenue for lifetime scenario (Revenue|L)
Other wrapper functions for NC results: nc_break_even_yrs
,
nc_break_even
,
nc_price_lifetime_youth
,
nc_retain_youth
, nc_retain
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 | library(dplyr)
library(ggplot2)
data(retain_all)
data(retain)
# parameters
senior_price <- 15 # lifetime license price at age 65
wsfr_amount <- 16.65 # WSFR estimated aid amount per sportsman
min_amount <- 4 # WSFR minimum revenue for certified sportsman calculations
return_life <- 0.05 # annual return to lifetime fund
inflation <- 0.02 # inflation rate for fund depreciation
prices <- tibble(
current_age = 0:63,
price_lifetime = rep(250, 64),
price_annual = rep(36, 64)
)
# total revenue
annual <- nc_annual(retain_all, prices, wsfr_amount, min_amount, senior_price)
ggplot(annual, aes(current_age, revenue_annual, fill = stream)) + geom_col()
lifetime <- nc_lifetime(prices, return_life, inflation, wsfr_amount, min_amount)
ggplot(lifetime, aes(current_age, revenue_lifetime, fill = stream)) + geom_col()
# revenue streams
nc_annual_stream(retain_all, prices, wsfr_amount, min_amount, senior_price) %>%
filter(age_year >= 16)
nc_lifetime_stream(prices, return_life, inflation, wsfr_amount, min_amount)
# break-even
x <- nc_break_even(retain_all, prices, return_life, inflation, wsfr_amount,
min_amount, senior_price)
ggplot(x, aes(current_age, break_even)) + geom_line()
# years to break-even (using revenue stream calculations)
x <- nc_break_even_yrs(retain_all, prices, return_life, inflation, wsfr_amount,
min_amount, senior_price)
ggplot(x, aes(current_age, yrs_to_break_even)) + geom_col()
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.