Facilitates tidy calculation of popular quantitative marketing 
    metrics. It also includes functions for doing analysis that will help
    marketers and data analysts better understand the drivers and/or trends
    of these metrics. These metrics include Customer Experience Index 
    <https://go.forrester.com/analytics/cx-index/> and Net Promoter Score 
    <https://www.netpromoter.com/know/>.

Provides estimation methods for markets in equilibrium and
    disequilibrium. Supports the estimation of an equilibrium and
    four disequilibrium models with both correlated and independent shocks.
    Also provides post-estimation analysis tools, such as aggregation,
    marginal effect, and shortage calculations. See Karapanagiotis (2024)
    <doi:10.18637/jss.v108.i02> for an overview of the functionality 
    and examples. The estimation methods are based on full information
    maximum likelihood techniques given in
    Maddala and Nelson (1974) <doi:10.2307/1914215>. They are implemented
    using the analytic derivative expressions calculated in
    Karapanagiotis (2020) <doi:10.2139/ssrn.3525622>. Standard
    errors can be estimated by adjusting for heteroscedasticity or clustering.
    The equilibrium estimation constitutes a case of a system of linear,
    simultaneous equations. Instead, the disequilibrium models replace the
    market-clearing condition with a non-linear,
    short-side rule and allow for different specifications of price dynamics.

Automatic marking of R assignments for students and teachers based
    on 'testthat' test suites.

Allows for fitting of maximum likelihood models using Markov chains
    on phylogenetic trees for analysis of discrete character data. Examples of such
    discrete character data include restriction sites, gene family presence/absence,
    intron presence/absence, and gene family size data. Hypothesis-driven user-
    specified substitution rate matrices can be estimated. Allows for biologically
    realistic models combining constrained substitution rate matrices, site rate
    variation, site partitioning, branch-specific rates, allowing for non-stationary
    prior root probabilities, correcting for sampling bias, etc. See Dang and Golding 
    (2016) <doi:10.1093/bioinformatics/btv541> for more details.