Skip to contents

An offender commits crimes at rate lambda while free; each crime leads to a sentence of length S with probability q. The long-run crime rate is \(\lambda/(1 + \lambda q S)\) (Research.P17.steady_state_rate); the share of free-state offending removed is \(\lambda q S/(1 + \lambda q S)\), always below one (prevented_share_lt_one); longer or surer sentences lower the rate (rate_antitone_in_S, rate_antitone_in_q); and each extra year prevents \(\lambda^2 q/((1+\lambda q S)(1+\lambda q (S+1)))\) crimes per year, less than the year before (marginal_prevention_eq). With several offender groups the aggregate rate is the share-weighted sum and a uniform sentence removes the larger share from the higher-rate group (high_rate_more_prevented). The model holds \(\lambda\) constant and replaces nobody; those are the assumptions, not the theorems.

Usage

morie_incapacitation(lambda, q, S, shares = NULL)

Arguments

lambda

Offending rate(s) while free (crimes per year), positive.

q

Probability per crime of a sentence, in (0, 1].

S

Sentence length(s) in years, non-negative.

shares

Optional group shares (one per lambda), summing to one.

Value

A data frame with one row per group: lambda, q, S, rate, prevented_share, marginal_prevention; with shares, the attribute "aggregate" holds the share-weighted free rate, incapacitated rate and prevented share; attribute "theorems".

Examples

morie_incapacitation(lambda = c(2, 10), q = 0.1, S = 1, shares = c(0.8, 0.2))
#>   lambda   q S     rate prevented_share marginal_prevention
#> 1      2 0.1 1 1.666667       0.1666667           0.2380952
#> 2     10 0.1 1 5.000000       0.5000000           1.6666667