Descuento Temporal

Autor/a

Israel Varona, Lab25

Presentación

Descuento Exponencial

Haz Clic para ver el Código
```{python}
import matplotlib.pyplot as plt
import matplotlib as mpl
import math
import numpy as np
import ipywidgets as ipw

def descuento_exp(A, D, k):
  utilidad_exp = A * math.exp(-1 * D * k)
  return utilidad_exp

descuento_exp_vectorized = np.vectorize(descuento_exp)

def grafica_1(A, k, Día):
  plt.figure(figsize=(8,7))
  axes = plt.subplot()
  plt.xlim(0,30)
  plt.ylim(0,155)
  axes.tick_params(labelsize="large")
  plt.xlabel("Días desde la elección", size="xx-large")
  plt.ylabel("Utilidad ($)", size="xx-large")
  D = np.arange(0, 31)
  x = descuento_exp_vectorized(A, D, k)
  plt.plot(D, x, color="black")
  plt.scatter(Día, descuento_exp_vectorized(A, Día, k), s=100, color="red")
  plt.text(15, 120, "Utilidad = $" + str(round(descuento_exp(A, Día, k),2)), size="xx-large")

grafica_1(A= 50, k= 0.5, Día = 30)
```

Descuento Hiperbólico

Haz Clic para ver el Código
```{python}
import matplotlib.pyplot as plt
import matplotlib as mpl
import math
import numpy as np
import ipywidgets as ipw

def descuento_hip(A, D, k):
  utilidad_hip = A / (1 + k * D)
  return utilidad_hip

descuento_hip_vectorized = np.vectorize(descuento_hip)

def grafica_2(A, k, Día):
  plt.figure(figsize=(8,7))
  axes = plt.subplot()
  plt.xlim(0,30)
  plt.ylim(0,155)
  axes.tick_params(labelsize="large")
  plt.xlabel("Días desde la elección", size="xx-large")
  plt.ylabel("Utilidad ($)", size="xx-large")
  D = np.arange(0, 31)
  y = descuento_hip_vectorized(A, D, k)
  plt.plot(D, y, color="black")
  plt.scatter(Día, descuento_hip_vectorized(A, Día, k), s=100, color="red")
  plt.text(15, 120, "Utilidad = $" + str(round(descuento_hip(A, Día, k),2)), size="xx-large")

grafica_2(A = 150, k = 0.5, Día = 30)
```

Descuento Quasi-Hipérbolico

Haz Clic para ver el Código
```{python}
import matplotlib.pyplot as plt
import matplotlib as mpl
import math
import numpy as np
import ipywidgets as ipw

def descuento_quasi(A, Descuento, Sesgo, D):
  if D == 0:
    utilidad_quasi = A
  else:
    utilidad_quasi = A * Sesgo * (Descuento ** D)
  return utilidad_quasi

descuento_quasi_vectorized = np.vectorize(descuento_quasi)

def grafica_3(A, Descuento, Sesgo, Día):
  plt.figure(figsize=(8,7))
  axes = plt.subplot()
  plt.xlim(0,30)
  plt.ylim(0,155)
  axes.tick_params(labelsize="large")
  plt.xlabel("Días desde la elección", size="xx-large")
  plt.ylabel("Utilidad ($)", size="xx-large")
  D = np.arange(0, 31)
  z = descuento_quasi_vectorized(A, Descuento, Sesgo, D)
  plt.plot(D, z, color="black")
  plt.scatter(Día, descuento_quasi_vectorized(A, Descuento, Sesgo, Día), s=100, color="red")
  plt.text(15, 120, "Utilidad = $" + str(round(descuento_quasi(A, Descuento, Sesgo, Día),2)), size="xx-large")

grafica_3(A= 150, Descuento = 0.1, Sesgo = 0.1, Día = 30)
```

Estacionalidad de las preferencias

Haz Clic para ver el Código
```{python}
def descuento_exp(A, D, k):
  utilidad_exp = A * math.exp(-1 * D * k)
  return utilidad_exp

descuento_exp_vectorized = np.vectorize(descuento_exp)

def grafica_1(A, a, k):
  plt.figure(figsize=(8,7))
  axes = plt.subplot()
  plt.xlim(0,30)
  plt.ylim(0,100)
  axes.tick_params(labelsize="large")
  plt.xlabel("Días desde la elección", size="xx-large")
  plt.ylabel("Utilidad ($)", size="xx-large")
  D = np.arange(5, 36)
  d = np.arange(0, 31)
  eje_x = np.arange(0, 31)
  x = descuento_exp_vectorized(A, D, k)
  y = descuento_exp_vectorized(a, d, k)
  plt.plot(eje_x, x, color="red")
  plt.plot(eje_x, y, color="blue")

grafica_1(150, 75, 0.1)
```

Inversión de preferencias

Haz Clic para ver el Código
```{python}
def descuento_hip(A, D, k):
  utilidad_hip = A / (1 + k * D)
  return utilidad_hip

descuento_hip_vectorized = np.vectorize(descuento_hip)

def grafica_1(A, a, k):
  plt.figure(figsize=(8,7))
  axes = plt.subplot()
  plt.xlim(0,30)
  plt.ylim(0,100)
  axes.tick_params(labelsize="large")
  plt.xlabel("Días desde la elección", size="xx-large")
  plt.ylabel("Utilidad ($)", size="xx-large")
  D = np.arange(5, 36)
  d = np.arange(0, 31)
  eje_x = np.arange(0, 31)
  x = descuento_hip_vectorized(A, D, k)
  y = descuento_hip_vectorized(a, d, k)
  plt.plot(eje_x, x, color="red")
  plt.plot(eje_x, y, color="blue")

grafica_1(150, 75, 1)
```

Versión Interactiva

Aquí puedes encontrar la versión interactiva.