{"id":13540,"date":"2022-08-26T13:25:53","date_gmt":"2022-08-26T18:25:53","guid":{"rendered":"https:\/\/manage4.performancescoring.net\/kb\/?p=13540"},"modified":"2025-10-14T21:19:55","modified_gmt":"2025-10-15T02:19:55","slug":"on-track-off-track","status":"publish","type":"post","link":"https:\/\/securedb.io\/kb\/?p=13540","title":{"rendered":"On-Track and Off-Track Projects"},"content":{"rendered":"\n<p>In Etho, <a href=\"https:\/\/securedb.io\/kb\/?p=14767\" data-type=\"post\" data-id=\"14767\">Projects <\/a>have start dates and deadline dates. Within each Project are <a href=\"https:\/\/securedb.io\/kb\/?p=12849\" data-type=\"post\" data-id=\"12849\">Tasks<\/a> which have their own start and end dates. Looking at the Project as a whole, you&#8217;ll see we calculate the percent of the Tasks inside a Project in progress or complete so we know how far along the Project is. We also automatically calculate whether that Project is &#8220;On-Track&#8221; or &#8220;Off-Track.&#8221; There&#8217;s a reason we don&#8217;t want this status to be a &#8220;gut instinct,&#8221; but let&#8217;s dig into how that math works.<\/p>\n\n\n\n<p>The short answer is, a Project in Etho is considered &#8220;Off-Track&#8221; if its percent complete is more than 20% behind the amount of time left in the Project. So, if your Project is 60% complete, but 90% of the time available for the Project to be completed has already passed, that Project is considered &#8220;Off-Track.&#8221;<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>\u2026a Project in Etho is considered \u201cOff-Track\u201d if its percent complete is more than 20% behind the amount of time left in the Project.<\/em><\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">The Math: TL;DR<\/h2>\n\n\n\n<p>For the mathematically-inclined, here&#8217;s a simplified algorithm you can walk through. If you prefer an example, jump down to that here.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$tasksNum = Total Number of Tasks in Project<br>$tasksInProgress = Number of tasks in the Project marked \"In Progress\"<br>$tasksComplete = Total Number of tasks in the Project Marked \"Complete\"<\/code><\/pre>\n\n\n\n<p>Now, we need to calculate what &#8220;percent complete&#8221; the Project is. To do that, we give Tasks &#8220;In Progress&#8221; half-credit and then come up with the ratio, like so:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$percentComplete = (($tasksInProgress * 0.5) + $tasksComplete) \/ $tasksNum<\/code><\/pre>\n\n\n\n<p>Great. Now we need to calculate &#8220;percent time&#8221; that&#8217;s been used by the Project already. If the Project was 12 months long and it&#8217;s half-way through that time period, we&#8217;d say our &#8220;percent time&#8221; is 50% (6 \/ 12). We are going to break it down into weeks, not months though.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$startDate = The date the project started<br>$endDate = The date the project should be completed<br>$now = today's date<br>$weeksTotal = number of weeks between $startDate and $endDate<br>$weeksToDeadline = number of weeks between $now and $endDate<\/code><\/pre>\n\n\n\n<p>Just need to calculate the the amount of time that has passed.  That&#8217;s also the inverse of the amount of time remaining.  We get that value like so:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$percentTime = 1 - ($weeksToDeadline \/ $weeksTotal);<\/code><\/pre>\n\n\n\n<p>Because we want to build in a little &#8220;wiggle room,&#8221; we&#8217;re going to call this Project &#8220;On-Track&#8221; until the percent of Tasks inside it are more than 20% behind the percent of time remaining before the deadline. So, our IF\/ELSE looks like this.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>IF ($percentTime &lt; ($percentComplete + 0.2)) = \"Off-Track\"; ELSE \"On-Track\"<\/code><\/pre>\n\n\n\n<p>There&#8217;s more to it than that to prevent any division by zeros and other things, but that&#8217;s the gist. How about an example? <\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"example-on-track-project\">Example Project<\/h2>\n\n\n\n<p>Let&#8217;s say we have a Project with 5 Tasks in it (total). 0 of the Tasks are in progress and 3 are already complete. That means the <strong>Project is 60% complete<\/strong> (3 \/ 5 as a percent).<\/p>\n\n\n\n<p>The Project is set to start and end over a period of 10 weeks. Today, it&#8217;s already 2.2 weeks until the deadline. That means, <strong>we&#8217;re already 78% of the way through the time we have to complete<\/strong> this Project.<\/p>\n\n\n\n<p>While you might assume that if you&#8217;re 78% of the way along, you should have about that percent of the Tasks in the Project complete, but you only have 60% complete. So, this Project would calculate as &#8220;Off-Track.&#8221; However, <strong>Etho puts in &#8220;wiggle room&#8221; of 20%<\/strong>. So that bump puts our percent complete higher than the percent of time that&#8217;s already elapsed. That is: 0.78 &lt; (0.6 + 0.2) = &#8220;On-Track.&#8221;<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><\/p>\n<\/blockquote>\n\n\n\n<p>Now, if you went all week the next week without completing any more Tasks (changing that 78% to an 88%), the amount of time that&#8217;s already passed will quickly be larger than the percent complete of the Project. That would put it &#8220;Off-Track.&#8221; That is: 0.88 > (0.6 + 0.2) = &#8220;Off-Track.&#8221;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"why-not-set-it-manually\">Why Can&#8217;t I just Set a Project as On or Off-Track?<\/h2>\n\n\n\n<p>Great question! Many systems allow for that. However, Etho is all about accountability and transparency. If a Project is more than 20% behind where it should be, that Project is Off-Track. We want the system to call that out immediately.<\/p>\n\n\n\n<p>Remember, the math is based both on time remaining and percent complete. So, if a Project is taking longer than expected, just push the due date back. Of course, that&#8217;s the whole exercise that should be happening in a Project review. We wouldn&#8217;t want to just &#8220;go with our gut.&#8221;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Etho, have start dates and deadline dates. Within each are which have their own start and end dates. Looking at the as a whole, you&#8217;ll see we calculate the [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":13906,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_helpful_status":1,"footnotes":""},"categories":[25],"tags":[119,120,34,42],"class_list":["post-13540","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-faq","tag-off-track","tag-on-track","tag-projects","tag-tasks"],"wps_subtitle":"How \u201cOn-Track\u201d and \u201cOff-Track\u201d Are Calculated","_links":{"self":[{"href":"https:\/\/securedb.io\/kb\/index.php?rest_route=\/wp\/v2\/posts\/13540","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/securedb.io\/kb\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/securedb.io\/kb\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/securedb.io\/kb\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/securedb.io\/kb\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=13540"}],"version-history":[{"count":17,"href":"https:\/\/securedb.io\/kb\/index.php?rest_route=\/wp\/v2\/posts\/13540\/revisions"}],"predecessor-version":[{"id":19674,"href":"https:\/\/securedb.io\/kb\/index.php?rest_route=\/wp\/v2\/posts\/13540\/revisions\/19674"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/securedb.io\/kb\/index.php?rest_route=\/"}],"wp:attachment":[{"href":"https:\/\/securedb.io\/kb\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=13540"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/securedb.io\/kb\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=13540"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/securedb.io\/kb\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=13540"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}