Proces zakupów
Po zarejestrowaniu użytkowników czas zamodelować proces generowania przychodów. Klient, który się zarejestrował, podejmuje decyzję o zakupie lub jego braku – to naturalny kandydat na zmienną losową o rozkładzie dwumianowym. Przyjmijmy, że 10% rejestracji kończy się zakupem.
Chociaż klienci mogą dokonywać wielu zakupów, dla uproszczenia załóżmy jeden zakup na klienta. Wartość zakupu można modelować dowolną ciągłą zmienną losową – dobrym kandydatem jest tu rozkład wykładniczy. Przyjmijmy, że średnia wartość zakupu na klienta wynosi 1000 USD. Na tej podstawie tworzymy zmienną losową purchase_values. Przychód to po prostu suma wszystkich wartości zakupów.
Zmienne ct_rate, su_rate oraz funkcja get_signups() z poprzedniego ćwiczenia są już wczytane.
To ćwiczenie jest częścią kursu
Symulacje statystyczne w Pythonie
Instrukcje do ćwiczenia
- Zamodeluj
purchasesjako zmienną losową o rozkładzie dwumianowym zp=0.1. - Zamodeluj
purchase_valuesjako zmienną losową o rozkładzie wykładniczym zscale=1000i odpowiednim parametremsize. - Dołącz do
revsumę wartościpurchase_values.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
def get_revenue(signups):
rev = []
np.random.seed(123)
for s in signups:
# Model purchases as binomial, purchase_values as exponential
purchases = ____(s, p=____)
purchase_values = ____
# Append to revenue the sum of all purchase values.
rev.append(____)
return rev
print("Simulated Revenue = ${}".format(get_revenue(get_signups('low', ct_rate, su_rate, 1))[0]))