Annual Revenue Growth Calculator
Info
Created On: April 11, 2023
Created By:
AI
Model: gpt-4-0314
Time: 212 seconds
Prompt Tokens: 965
Completion Tokens: 1420
Total Token Cost: 2385
Get This App On Your Website
Copy Code
1. Copy the code above with the iframe and link.
2. Paste the code into your website.
3. Resize the iframe to fit your website.
Javascript, HTML, CSS Code
Copy
<html>
<head>
<script type="text/javascript"> window.addEventListener('error', function(event) { var message = JSON.parse(JSON.stringify(event.message)); var source = event.filename; var lineno = event.lineno; var colno = event.colno; var error = event.error; window.parent.postMessage({ type: 'iframeError', details: { message: message, source: source, lineno: lineno, colno: colno, error: error ? error.stack : '' } }, '*'); }); window.addEventListener('unhandledrejection', function(event) { window.parent.postMessage({ type: 'iframePromiseRejection', details: { reason: event.reason } }, '*'); }); </script>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Annual Revenue Growth Calculator</title>
<meta name="description" content="A calculator to estimate the monthly growth rate based on annual reoccuring revenue and quarterly revenue inputs.">
<meta name="keywords" content="revenue, calculator, growth, rate, annual, quarterly, monthly">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
<!-- Built-In Functions for Apps -->
<script type="text/javascript">
var localStoragePrefix = "ct-168124900240838";
var lastSave = 0;
// save to localstorage
function saveLocal(data) {
if (Date.now() - lastSave < 1000) {
return;
}
// save to cookie
let cookie = localStoragePrefix + "=" + JSON.stringify(data) + "; path=" + window.location.pathname + "'; SameSite=Strict";
cookie += "; expires=" + new Date(Date.now() + 1000 * 60 * 60 * 24 * 365 * 1000).toUTCString();
document.cookie = cookie;
lastSave = Date.now();
}
// load from localstorage
function loadLocal() {
var cookiePrefix = localStoragePrefix + "=";
var cookieStart = document.cookie.indexOf(cookiePrefix);
if (cookieStart > -1) {
let cookieEnd = document.cookie.indexOf(";", cookieStart);
if (cookieEnd == -1) {
cookieEnd = document.cookie.length;
}
var cookieData = document.cookie.substring(cookieStart + cookiePrefix.length, cookieEnd);
return JSON.parse(cookieData);
}
}
</script>
<script type="text/javascript">
// App Javascript Goes Here
function calculateGrowthRate() {
var startRevenue = parseFloat($("#startRevenue").val());
var quarters = parseInt($("#quarters").val());
var quarterRevenue = [
parseFloat($("#quarter1").val()),
parseFloat($("#quarter2").val()),
parseFloat($("#quarter3").val()),
parseFloat($("#quarter4").val()),
];
var totalRevenue = startRevenue;
for (var i = 0; i < quarters; i++) {
totalRevenue += quarterRevenue[i];
}
var months = quarters * 3;
var growthRate = Math.pow(totalRevenue / startRevenue, 1 / months) - 1;
$("#result").text("Monthly Growth Rate: " + (growthRate * 100).toFixed(2) + "%");
// Animation
$("#rocket").css("animation", "shootRocket 2s linear");
setTimeout(function() {
$("#rocket").css("animation", "");
}, 2000);
}
</script>
<style>
/* App CSS Goes Here */
body {
background: linear-gradient(120deg, #f6d365 0%, #fda085 100%);
}
.input-container {
display: flex;
flex-direction: column;
margin-bottom: 1rem;
}
input[type="number"] {
background-color: #fda085;
border: none;
padding: 0.5rem;
font-size: 1rem;
}
.calculate-btn {
background-color: #fcc8b2;
border: none;
color: #333;
padding: 0.5rem 1rem;
font-size: 1.5rem;
cursor: pointer;
}
#rocket {
position: fixed;
bottom: 0;
left: 0;
font-size: 3rem;
opacity: 0;
animation-fill-mode: forwards;
}
@keyframes shootRocket {
0% {
opacity: 1;
transform: translateY(0) translateX(0);
}
100% {
opacity: 0;
transform: translateY(-100vh) translateX(100vw);
}
}
</style>
<link rel="canonical" href="https://calculator.tools/prompt/273/">
<meta charset="utf-8">
</head>
<body>
<div id="main-container" class="container">
<!-- App HTML Goes Here -->
<h1>Annual Revenue Growth Calculator</h1>
<div class="input-container">
<label for="startRevenue">Starting Annual Reoccurring Revenue:</label>
<input type="number" id="startRevenue" min="0" step="0.01" required>
</div>
<div class="input-container">
<label for="quarters">Number of Quarters (1-4):</label>
<input type="number" id="quarters" min="1" max="4" value="1" required>
</div>
<div class="input-container">
<label for="quarter1">Quarter 1 Revenue:</label>
<input type="number" id="quarter1" min="0" step="0.01" required>
</div>
<div class="input-container">
<label for="quarter2">Quarter 2 Revenue:</label>
<input type="number" id="quarter2" min="0" step="0.01" required>
</div>
<div class="input-container">
<label for="quarter3">Quarter 3 Revenue:</label>
<input type="number" id="quarter3" min="0" step="0.01" required>
</div>
<div class="input-container">
<label for="quarter4">Quarter 4 Revenue:</label>
<input type="number" id="quarter4" min="0" step="0.01" required>
</div>
<button class="calculate-btn" onclick="calculateGrowthRate()">Calculate 🚀</button>
<p id="result"></p>
<span id="rocket">🚀</span>
</div>
<script type="text/javascript"> var localStoragePrefix = "ct-{{ cachebreaker }}"; var lastSave = 0; function saveLocal(data) { if (Date.now() - lastSave < 1000) { return; } let cookie = localStoragePrefix + "=" + JSON.stringify(data) + "; path=" + window.location.pathname + "'; SameSite=Strict"; cookie += "; expires=" + new Date(Date.now() + 1000 * 60 * 60 * 24 * 365 * 1000).toUTCString(); document.cookie = cookie; lastSave = Date.now(); } function loadLocal() { var cookiePrefix = localStoragePrefix + "="; var cookieStart = document.cookie.indexOf(cookiePrefix); if (cookieStart > -1) { let cookieEnd = document.cookie.indexOf(";", cookieStart); if (cookieEnd == -1) { cookieEnd = document.cookie.length; } var cookieData = document.cookie.substring(cookieStart + cookiePrefix.length, cookieEnd); return JSON.parse(cookieData); } } </script>
<script type="text/javascript"> window.addEventListener('load', function() { var observer = new MutationObserver(function() { window.parent.postMessage({height: document.documentElement.scrollHeight || document.body.scrollHeight},"*"); }); observer.observe(document.body, {attributes: true, childList: true, subtree: true}); window.parent.postMessage({height: document.documentElement.scrollHeight || document.body.scrollHeight},"*"); }); </script>
</body>
</html>