Technical Datasheet
YourValidator · planning calculator for marketing budgets · Status: October 2026
This datasheet summarises the tool's architecture, calculation model, test coverage, security, runtime and memory behaviour. All figures are based on automated tests and measurements. Measured values are lab values (Chromium, desktop) intended for orientation, not as guaranteed properties.
1. Architecture
| Execution | Entirely in the browser (HTML with embedded JavaScript). No account, no backend for the calculation. |
| Third-party libraries | Chart.js and d3, self-hosted (no inclusion of third-party servers) |
| Data storage | Inputs, plans and backups exclusively local in the browser (localStorage) or as a file on the user's side. No transfer of planning data to YourValidator. |
| Network access |
(1) Licence check for Pro: licence key and purchase ID to yourvalidator.net – no planning data.
(2) Optional AI functions (Pro, user's own API key): only when triggered by the user, directly from the browser to the chosen provider (Anthropic, OpenAI or Google Gemini). The plan state and the request are transmitted.
No other network access. |
| Embedding | Embedding for agencies via a separate embed page; all other pages are protected against third-party framing. |
2. Calculation model
| Nature | Deterministic: the same inputs give the same results. No randomness, no AI in the calculation. |
| Saturation | Hill function per month: customers = P · Bs / (Bs + Hs). P = potential (user input), H calibrated from the reference budget, s from the optional "doubled budget" input (default 1). Without a potential: linear, labelled "optimistic". |
| Time factors | Ramp-up curve (creation, ramp-up, inflection point), monthly seasonality, growth, regional and market factor; halo between channels with lag and decay rate. |
| Action channels | One-off or annually repeated actions (e.g. trade fair): budget per action in active months, effect distributed via lag and decay rate; weights sum to 1 (no additional or lost customers). |
| Metrics | Saturation level, marginal cost of the next customer, break-even budget per channel, target back-calculation (exact monthly model), contribution margin, break-even, customer lifetime value. |
| Architecture rule | One central calculation function for main result, channel box, validation, target back-calculation, simulation and AI data – no copies of formulas. |
| Positioning | Planning tool, not a marketing mix model and not proof of effect. |
3. Test coverage
| Test environment | Automated browser tests (Playwright, Chromium) |
| Scope | More than 1,300 automated tests; full runs without failed or flaky tests |
| Reference check | Reference values and invariants are checked after every change against a recorded reference state |
| Display check | About 2,800 displayed values in several scenarios (incl. USD, halo, validation, unreachable target) are compared after every change |
| Counter-checks | New tests are run against the state before the respective change and must fail there – evidence that they actually test the new behaviour |
| Focus areas | Saturation model, channel box and validation, target back-calculation, action channels, plans, backups and JSON import, AI updates, runtime and memory, security |
Independent review
In addition to the test suite, significant changes are independently reviewed with separate scripts, using the original libraries:
| Reference scenarios | SEO and paid scenarios against hand calculation, including target back-calculation and marginal cost |
| Full strategy | 9 channels incl. custom channels, 24 months, seasonality, growth, ramp-up, halo: budget increase per channel exactly on the expected Hill factor; target back-calculation confirmed exactly in forward calculation |
| Action channels | Distribution, end of strategy, repetition, duration, costs and target back-calculation against hand calculation |
| Stress test | Extreme values (60 months, seasonality 0–300 %, circular halo, budgets from 0 to 100 million, invalid inputs, targets 0/negative/10 million, currency switch, plan loading): no NaN/Infinity displays, no negative values, consistent totals, no JavaScript errors |
| Charts | Chart data compared with the previous version over several change steps: identical |
| AI update | Simulated AI response creates an action channel and fills fields; calculation confirmed against hand calculation |
4. Security
| Code injection (XSS) | User- and import-determined text (channel names, labels, plan and company name, AI responses, imported content) is escaped or set as plain text. A crafted channel name containing script code was tested via all input and import routes and in all views: the code is never executed; the name appears as text. |
| Imported files | Identifiers from plans, backups and JSON import are sanitised before use. A crafted file cannot execute code this way. |
| Dynamic code execution | No eval, no new Function. |
| Input validation | Negative rates, reach, budgets and CPC are reported as "Critical" and calculated as 0; rates above 100 % are reported as "Critical"; CPC 0 and target ≤ 0 with a notice. Negative growth remains deliberately permitted. |
| AI updates | Values are checked and capped before writing; fields changed by the user are not overwritten; changed fields are marked in yellow and must be confirmed; at most 5 new channels per request. |
| Plans and backups | On loading, all fields are first reset to their initial values; no values from the previous state remain. |
| Operation | HTTPS with Strict-Transport-Security, framing protection and further security headers |
5. Calculation speed
| Measurement | Result |
| Recalculation per input, 7 channels | approx. 11–30 ms |
| Recalculation per input, 20 channels | approx. 15–41 ms |
| Recalculation per input, 50 channels | approx. 26–63 ms (depending on duration 12–60 months) |
| Target back-calculation, 50 channels | approx. 7–23 ms |
| Validation incl. sensitivity analysis (20 channels) | approx. 430 ms |
| Loading a plan incl. recalculation | approx. 67 ms |
| PDF print view | approx. 317 ms |
| Calculation runs per input | exactly one |
| Channel limit | none; tested up to 50 channels |
Values: median, Chromium, desktop. Fixed threshold tests: 50 channels, 36 months below 250 ms per input and target back-calculation.
6. Memory behaviour
| Operation | Result |
| 500 recalculations | No memory growth; event listeners and chart instances unchanged |
| Creating and deleting 20 channels | No memory growth; no orphaned listeners or charts |
| Loading 50 plans | No memory growth; listeners constant |
| Charts | Updated instead of recreated |
Fixed tests: 500 recalculations with at most 10 % memory growth after garbage collection; listener and chart counts unchanged.
7. Limits of the model
- No statistical uncertainty, no frequency effects, no control variables; the carryover of an ongoing channel's own budget is not calculated separately.
- The default values supplied are unverified reference values and should be replaced with your own data.
- Results are as good as the assumptions entered. The tool shows what follows from these assumptions, not what will happen.