Published
Edited
Mar 31, 2020
1 fork
Importers
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
viewof percentageOfUsersTransacting = slider({
min: 0,
max: 1,
step: .01,
value: .05,
title: "Percentage of users that transact in a given year",
description: "Increments in percentages of 1"
})
Insert cell
viewof averageDollarValuePerTrade = slider({
min: 0,
max: 1000,
step: 10,
value: 100,
title: "Average dollar value per trade",
description: "Increments in $10"
})
Insert cell
viewof numberOfTransactionsPerUserYear = slider({
min: 0,
max: 100,
step: 1,
value: 2,
title: "Number of transactions per user per year",
description: "increments in 1"
})
Insert cell
viewof transactionFee = slider({
min: 0,
max: 0.01,
step: 0.0001,
value: 0.0025,
precision: 4,
title: "Transaction fee per trade",
description: "The transaction fee which will be burned"
})
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
transactionFeeDollarDemandPerYear = {
return users.map((userCount, idx) => {
if (idx) return Math.round((userCount - users[idx-1]) * percentageOfUsersTransacting * averageDollarValuePerTrade * numberOfTransactionsPerUserYear * transactionFee)
return userCount * percentageOfUsersTransacting * averageDollarValuePerTrade * numberOfTransactionsPerUserYear * transactionFee
})
}
Insert cell
Insert cell
aggregateDollarDemandPerYear = users.map((year,idx) => licenseDollarDemandPerYear[idx] + transactionFeeDollarDemandPerYear[idx])
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
slide`Assuming termination after 10 years

Net Present Utility Value ${CLUV}`
Insert cell
liquidationUtilityValue = (Math.floor(NPVaggregate(discountRate, ...aggregateDollarDemandPerYear))) * (1- probabilityOfFailure)
Insert cell
CLUV = formatCurrency(liquidationUtilityValue)
Insert cell
CUV = formatCurrency(currentUtilityValue)
Insert cell
Insert cell
Insert cell
import { statusUsers, userGrowth, terminalGrowth, churnRate, getUsers, getDiscountRate, numberWithCommas, NPV } from '@bgits/status-im'
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
formatCurrency = num => num.toLocaleString(undefined, { style: 'currency', currency: 'USD'}).split('.')[0]
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more