def ret_romi(self): """ Return an estimate of how effective retention spend is, as a rough integer multiple of current investment. Returns 0 if the marketing investment in this period is $0. """ return round( d_div_or_0(self.estimated_ret_revenue_gain, self.ret_investment))
def romi(self): """ Return an estimate of how effective marketing spend is, as a rough integer multiple of current investment. Returns 0 if the marketing investment in this period is $0. """ acq_weight = d_div_or_0(self.acq_investment, self.investment) ret_weight = decimal.Decimal(1) - acq_weight weighted_acq_romi = mult_or_0(self.acq_romi, acq_weight) weighted_ret_romi = mult_or_0(self.ret_romi, ret_weight) return round(sum_or_0(weighted_acq_romi, weighted_ret_romi))
def cost_per_exe(self): """Return the estimated cost to obtain a lease execution in this period.""" return d_quant_currency( d_div_or_0(self.acq_investment, self.leases_executed))
def cost_per_app(self): """Return the estimated cost to obtain a lease application in this period.""" return d_quant_currency( d_div_or_0(self.acq_investment, self.lease_applications))
def cost_per_tou(self): """Return the estimated cost to obtain an inbound tour in this period.""" return d_quant_currency(d_div_or_0(self.acq_investment, self.tours))
def cost_per_inq(self): """Return the estimated cost to obtain an inbound inquiry in this period.""" return d_quant_currency( d_div_or_0(self.acq_investment_without_leasing, self.inquiries))
def cost_per_usv(self): """Return the estimated cost to obtain a unique site visitor in this period.""" return d_quant_currency( d_div_or_0(self.acq_investment_without_leasing, self.usvs))