JSFiddle - React, Tailwind, and code Playground

by Timatnet

HTML

<script src="https://raw.githubusercontent.com/flot/flot/master/jquery.flot.js"></script>
<div id="placeholder" style="width:600px;height:300px"></div>

JavaScript

// Дюпон анализ. Переменные - вероятностные ряды. Вводим исходные значения (вероятностно задается через нормальное распределение вокруг заданного значения, через вопрос "какая вероятность, что +15%, какая вероятность, что -15%").

/*
Дюпон анализ:
Прибыль

Доход
-
Расход

Стоимость единицы продукции (средний чек)
x
Количество проданных единиц

Постоянные издержки
+
Переменные издержки


(?) Стоимость единицы продукции зависит от
Воспринимаемого качества
Потребности в продукте
Количества денег в наличии

(?) Количество проданных единиц зависит от
Воспринимаемого качества
Потребности в продукте
Количества денег в наличии

(?) Воспринимаемое качество зависит от:
Бюджета на маркетинг
Эффективности маркетинга
*/


var ValueRange = {
    mul: function() {
    },
    div: function() {
    },
    plus: function() {
    },
    minus: function() {
    },
    values: [],
    show: function() {
        var options = { yaxis: { max: 1 } };
        $.plot($("#placeholder"), this.values, options);
    },
    create: function() {
        return this;
    }
};

var A = ValueRange.create(), B = ValueRange.create();

function normal() {
    return ValueRange.create();
}

createEntity('Прибыль');
createEntity('Доход');
createEntity('Расход');
createEntity('Стоимость единицы продукции');
createEntity('Количество проданных единиц');
createEntity('Постоянные издержки');
createEntity('Переменные издержки');
createEntity('Переменные издержки на единицу продукции');

createRelation('Прибыль', ['Доход', 'Расход'], function(A, B, C) {return B-C});

createValue('Расход', normal(15000));

createChangable('Доход', 0.6);
createChangable('Расход', 0.6);

createGoal('Прибыль', 'MAX');