{"id":3194,"date":"2026-08-13T13:02:36","date_gmt":"2026-08-13T13:02:36","guid":{"rendered":"https:\/\/www.bare-digital.com\/ashe\/?page_id=3194"},"modified":"2026-08-13T13:08:42","modified_gmt":"2026-08-13T13:08:42","slug":"revenue-target-html","status":"publish","type":"page","link":"https:\/\/www.bare-digital.com\/ashe\/revenue-target-html\/","title":{"rendered":"Revenue Target"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"3194\" class=\"elementor elementor-3194\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ef54789 e-con-full e-flex e-con e-parent\" data-id=\"ef54789\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-002a4e6 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"002a4e6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<html lang=\"en\">\r\n<head>\r\n<meta charset=\"utf-8\">\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\r\n<title>Your revenue target \u00b7 Build It Backwards<\/title>\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500&family=Inter:wght@400;500&family=Plus+Jakarta+Sans:wght@600;700&display=swap\" rel=\"stylesheet\">\r\n<style>\r\n  :root{\r\n    --ivory:#F6F0E6; --cream:#FCF8F1; --plum:#4A2C3B; --caramel:#BE8A5A; --caramelD:#9A6B3A;\r\n    --rose:#C7A07A; --ink:#2B2328; --muted:#6E5F63; --faint:#B4A69F; --line:#E7D9C4; --sage:#7E8A63;\r\n    --sf:'Fraunces',Georgia,serif; --ss:'Inter',-apple-system,system-ui,sans-serif;\r\n  }\r\n  *{box-sizing:border-box}\r\n  body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--ss);line-height:1.55;-webkit-font-smoothing:antialiased}\r\n  .wrap{max-width:720px;margin:0 auto;padding:32px 20px 60px}\r\n  .eye{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--caramelD)}\r\n  h1{font-family:var(--sf);font-weight:500;font-size:30px;margin:6px 0 2px}\r\n  .lede{color:var(--muted);font-size:14px;margin:0;max-width:56ch}\r\n\r\n  .togglab{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--caramelD);margin:16px 0 2px}\r\n  .toggle{display:flex;gap:8px;margin:8px 0;flex-wrap:wrap}\r\n  .toggle button{font-family:var(--ss);font-size:13px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:22px;padding:9px 15px;cursor:pointer}\r\n  .toggle button.on{background:var(--plum);color:#F3E9DC;border-color:var(--plum)}\r\n\r\n  .card{margin-top:14px;background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:20px 22px}\r\n  .card .n{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--caramelD)}\r\n  .card h2{font-family:var(--sf);font-weight:500;font-size:18px;margin:4px 0 4px}\r\n  .card .note{font-size:12.5px;color:var(--muted);margin:0 0 8px;line-height:1.5}\r\n  .field{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}\r\n  .field.first{border-top:none}\r\n  .field label{font-size:13.5px}\r\n  .field label .h{display:block;font-size:11.5px;color:var(--muted)}\r\n  .field .in{display:flex;align-items:baseline;gap:2px}\r\n  .field .in .pre,.field .in .suf{font-size:14px;color:var(--faint)}\r\n  .field .in input{border:none;background:transparent;font-family:var(--sf);font-size:20px;color:var(--ink);width:120px;text-align:right;padding:0;outline:none;border-bottom:1px solid transparent}\r\n  .field .in input:focus{border-bottom:1px solid var(--rose)}\r\n  .auditBtn{display:inline-block;margin-top:10px;font-size:12.5px;color:var(--caramelD);text-decoration:none;border:1px solid var(--rose);border-radius:18px;padding:7px 14px}\r\n  .from{font-size:12px;color:var(--caramelD);margin-top:8px}\r\n\r\n  .headline{margin-top:18px;background:var(--plum);color:#F1E6D8;border-radius:16px;padding:24px;text-align:center}\r\n  .headline .cap{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#CBB4A2}\r\n  .headline .big{font-family:var(--sf);font-size:42px;line-height:1;margin:8px 0 2px}\r\n  .headline .u{font-size:13px;color:#CBB4A2}\r\n  .pulse{margin-top:12px;background:var(--caramel);color:#3A2230;border-radius:16px;padding:20px 24px;text-align:center}\r\n  .pulse .cap{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#6E4C2A}\r\n  .pulse .big{font-family:var(--sf);font-size:34px;line-height:1;margin:6px 0 2px}\r\n  .pulse .u{font-size:12.5px;color:#6E4C2A}\r\n\r\n  .where{margin-top:16px}\r\n  .wheretitle{font-family:var(--sf);font-size:16px;text-align:center;margin-bottom:12px}\r\n  .moneybar{display:flex;height:32px;border-radius:10px;overflow:hidden;border:1px solid var(--line)}\r\n  .seg.profit{background:#4A2C3B} .seg.over{background:#B79A86} .seg.cos{background:#7E8A63}\r\n  .buckets{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:12px}\r\n  .bucket{background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:14px 16px}\r\n  .bucket .dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-bottom:6px}\r\n  .bucket.profit .dot{background:#4A2C3B} .bucket.over .dot{background:#B79A86} .bucket.cos .dot{background:#7E8A63}\r\n  .bucket .cap{font-family:var(--sf);font-size:14px}\r\n  .bucket .v{font-family:var(--sf);font-size:24px;margin-top:3px}\r\n  .bucket .s{font-size:11.5px;color:var(--muted);margin-top:4px}\r\n\r\n  .workedToggle{display:block;margin:14px auto 0;background:transparent;border:1px solid var(--rose);color:var(--caramelD);font-family:var(--ss);font-size:13px;border-radius:22px;padding:9px 18px;cursor:pointer}\r\n  .worked{margin-top:12px;background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:16px 18px;display:none;font-size:13px;line-height:1.7;color:var(--ink)}\r\n  .worked b{font-family:var(--sf);font-weight:500}\r\n\r\n  .diagnostic{margin-top:16px;background:#3A2230;color:#F1E6D8;border-radius:12px;padding:18px 20px}\r\n  .diagnostic h3{font-family:var(--sf);font-weight:500;font-size:16px;color:#fff;margin:0 0 8px}\r\n  .diagnostic p{font-size:13px;margin:0 0 6px;line-height:1.55}\r\n  .diagnostic .tag{color:#E7C9A8}\r\n\r\n  .toDash{margin-top:16px;background:#F0E7DC;border:1px solid var(--line);border-radius:12px;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}\r\n  .toDash .t{font-size:13.5px} .toDash .t b{font-weight:500}\r\n  .toDash button{font-family:var(--ss);font-weight:500;font-size:14px;background:var(--caramel);color:#3A2230;border:none;border-radius:8px;padding:11px 18px;cursor:pointer}\r\n  .toDash .done{font-size:13px;color:#3B5A2E}\r\n  .next{margin-top:12px;font-size:12.5px;color:var(--muted);text-align:center}\r\n  .next a{color:var(--caramelD)}\r\n\r\n  .strivex{margin-top:22px;background:#161D51;border-radius:16px;padding:24px 26px;text-align:center;font-family:'Plus Jakarta Sans',var(--ss)}\r\n  .strivex .k{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#8E93C4;font-weight:600}\r\n  .strivex h3{font-family:'Plus Jakarta Sans',var(--ss);font-weight:700;font-size:19px;color:#fff;margin:8px 0 6px}\r\n  .strivex p{font-size:13px;color:#C6C9E4;margin:0 auto 16px;max-width:46ch}\r\n  .strivex a.cta{display:inline-block;background:#7B08B5;color:#fff;font-family:'Plus Jakarta Sans',var(--ss);font-weight:600;font-size:15px;text-decoration:none;padding:13px 28px;border-radius:50px}\r\n  .foot{margin-top:18px;font-size:11px;color:#9A8C86;text-align:center;line-height:1.6}\r\n<\/style>\r\n<\/head>\r\n<body>\r\n<div class=\"wrap\">\r\n  <div class=\"eye\">Build it backwards \u00b7 toolkit<\/div>\r\n  <h1>Your revenue target<\/h1>\r\n  <p class=\"lede\">Your Number tells you the profit your life needs. But profit is not revenue. This turns that profit into the sales you must actually generate, and into one weekly number to watch.<\/p>\r\n\r\n  <div class=\"card\">\r\n    <div class=\"n\">Start here<\/div>\r\n    <h2>The profit your life needs<\/h2>\r\n    <p class=\"note\">This is Your Number from the audit: the monthly profit before tax that funds the life you designed.<\/p>\r\n    <div class=\"field first\"><label>Your Number<span class=\"h\">monthly profit before tax<\/span><\/label><div class=\"in\"><span class=\"pre\">\u00a3<\/span><input id=\"profit\" type=\"number\" min=\"0\" step=\"100\" value=\"5000\"><\/div><\/div>\r\n    <a class=\"auditBtn\" href=\"quality-of-life-audit.html\">Do the quality of life audit<\/a>\r\n    <div class=\"from\" id=\"fromNote\"><\/div>\r\n  <\/div>\r\n\r\n  <div class=\"togglab\">How do you want to work out your costs<\/div>\r\n  <div class=\"toggle\" id=\"method\">\r\n    <button data-m=\"build\" class=\"on\">Build it up (overheads and cost of sale)<\/button>\r\n    <button data-m=\"margin\">Quick (profit margin)<\/button>\r\n  <\/div>\r\n\r\n  <div class=\"card\">\r\n    <div id=\"buildInputs\">\r\n      <div class=\"field first\"><label>Monthly overheads<span class=\"h\">fixed costs: rent, software, insurance, marketing<\/span><\/label><div class=\"in\"><span class=\"pre\">\u00a3<\/span><input id=\"overheads\" type=\"number\" min=\"0\" step=\"100\" value=\"2000\"><\/div><\/div>\r\n      <div class=\"field\"><label>Cost of sale<span class=\"h\">what each sale costs you to deliver, as a share of the price<\/span><\/label><div class=\"in\"><input id=\"cos\" type=\"number\" min=\"0\" max=\"95\" step=\"1\" value=\"30\"><span class=\"suf\">%<\/span><\/div><\/div>\r\n    <\/div>\r\n    <div id=\"marginInputs\" style=\"display:none\">\r\n      <div class=\"field first\"><label>Your profit margin<span class=\"h\">profit as a share of revenue. A rough sense is fine<\/span><\/label><div class=\"in\"><input id=\"margin\" type=\"number\" min=\"1\" max=\"99\" step=\"1\" value=\"50\"><span class=\"suf\">%<\/span><\/div><\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"headline\">\r\n    <div class=\"cap\">Revenue you must generate<\/div>\r\n    <div class=\"big\" id=\"revBig\">\u00a30<\/div>\r\n    <div class=\"u\">a month, to be left with your profit<\/div>\r\n  <\/div>\r\n\r\n  <div class=\"pulse\">\r\n    <div class=\"cap\">Your weekly pulse<\/div>\r\n    <div class=\"big\" id=\"weekBig\">\u00a30<\/div>\r\n    <div class=\"u\">a week. This is the one number to check.<\/div>\r\n  <\/div>\r\n\r\n  <div class=\"where\">\r\n    <div class=\"wheretitle\" id=\"whereTitle\">Where your revenue goes<\/div>\r\n    <div class=\"moneybar\" id=\"moneybar\"><\/div>\r\n    <div class=\"buckets\" id=\"buckets\"><\/div>\r\n  <\/div>\r\n\r\n  <button class=\"workedToggle\" id=\"workedToggle\">See how this is worked out<\/button>\r\n  <div class=\"worked\" id=\"worked\"><\/div>\r\n\r\n  <div class=\"diagnostic\">\r\n    <h3>Why this one number is so powerful<\/h3>\r\n    <p>Once you check your revenue against this target each week, it tells you exactly where to look:<\/p>\r\n    <p><span class=\"tag\">Revenue on target, but profit is down?<\/span> That is a cost problem. Sales are fine, something is eating the margin.<\/p>\r\n    <p><span class=\"tag\">Revenue below target?<\/span> That is a sales problem. Focus there first.<\/p>\r\n    <p>No more vague worry. One number, and you always know which lever to pull.<\/p>\r\n  <\/div>\r\n\r\n  <div class=\"toDash\">\r\n    <div class=\"t\"><b>Send this to your dashboard.<\/b> Your weekly revenue target becomes the pulse your weekly check measures against.<\/div>\r\n    <button id=\"sendDash\">Add to dashboard<\/button>\r\n    <span class=\"done\" id=\"dashDone\" style=\"display:none\"><\/span>\r\n  <\/div>\r\n  <p class=\"next\">Next: the <a href=\"pricing-for-profit.html\">pricing tool<\/a> turns this revenue into what to sell, and at what price.<\/p>\r\n\r\n  <div class=\"strivex\">\r\n    <div class=\"k\">Build it backwards \u00b7 striveX<\/div>\r\n    <h3>Turn the target into a plan<\/h3>\r\n    <p>When you want this built into a full forecast, tracked and reviewed with you month to month, that is the work we do at striveX.<\/p>\r\n    <a class=\"cta\" href=\"https:\/\/strivex.co.uk\/become-a-client-accounting\/\" target=\"_blank\" rel=\"noopener\">Become a client<\/a>\r\n  <\/div>\r\n\r\n  <p class=\"foot\">A planning guide, not personal advice. Revenue is worked out from your profit and your costs. Your numbers stay in your own browser.<\/p>\r\n<\/div>\r\n\r\n<script>\r\n  function gbp(n){ return '\\u00A3' + Math.round(n).toLocaleString('en-GB'); }\r\n  function num(id){ var e=document.getElementById(id); if(!e)return 0; var n=parseFloat(e.value); return (isNaN(n)||n<0)?0:n; }\r\n  var method='build';\r\n\r\n  function pull(){\r\n    var found=false;\r\n    try{ var d=JSON.parse(localStorage.getItem('bib_dashboard')); if(d&&d.foundations&&d.foundations.yourNumber){ document.getElementById('profit').value=Math.round(d.foundations.yourNumber); found=true; } }catch(e){}\r\n    document.getElementById('fromNote').innerHTML = found ? 'Filled with Your Number from the audit. Change it if you like.' : 'Tip: the audit works this out for you. Do it first and this fills itself.';\r\n  }\r\n  pull();\r\n\r\n  function model(){\r\n    var profit=num('profit'), revenue, over, cos, mar;\r\n    if(method==='build'){\r\n      over=num('overheads'); var c=Math.min(95,num('cos'))\/100;\r\n      revenue = (over + profit) \/ (1 - c);\r\n      cos = revenue * c;\r\n      return {profit:profit, revenue:revenue, over:over, cos:cos, method:'build'};\r\n    } else {\r\n      mar=Math.max(1,Math.min(99,num('margin')))\/100;\r\n      revenue = profit \/ mar;\r\n      return {profit:profit, revenue:revenue, costs:revenue-profit, method:'margin', marginPct:mar*100};\r\n    }\r\n  }\r\n\r\n  function renderWhere(m){\r\n    var base=Math.max(m.revenue,1), bar=document.getElementById('moneybar'), b=document.getElementById('buckets');\r\n    document.getElementById('whereTitle').textContent='Where your '+gbp(m.revenue)+' of revenue goes';\r\n    var segs;\r\n    if(m.method==='build'){\r\n      segs=[{k:'profit',label:'Your profit',v:m.profit,s:'what your life needs'},{k:'over',label:'Overheads',v:m.over,s:'fixed running costs'},{k:'cos',label:'Cost of sale',v:m.cos,s:'to deliver the work'}];\r\n    } else {\r\n      segs=[{k:'profit',label:'Your profit',v:m.profit,s:'what your life needs'},{k:'over',label:'All your costs',v:m.costs,s:'overheads and delivery'}];\r\n    }\r\n    bar.innerHTML=''; segs.forEach(function(s){ bar.innerHTML+='<div class=\"seg '+s.k+'\" style=\"width:'+(Math.max(0,s.v)\/base*100)+'%\"><\/div>'; });\r\n    b.innerHTML=''; segs.forEach(function(s){ b.innerHTML+='<div class=\"bucket '+s.k+'\"><span class=\"dot\"><\/span><div class=\"cap\">'+s.label+'<\/div><div class=\"v\">'+gbp(s.v)+'<\/div><div class=\"s\">'+Math.round(Math.max(0,s.v)\/base*100)+'% of revenue \u00b7 '+s.s+'<\/div><\/div>'; });\r\n  }\r\n\r\n  function renderWorked(m){\r\n    var w=document.getElementById('worked'), week=m.revenue*12\/52;\r\n    if(m.method==='build'){\r\n      var cpct=Math.round(m.cos\/Math.max(m.revenue,1)*100);\r\n      w.innerHTML='You need <b>'+gbp(m.profit)+'<\/b> of profit and carry <b>'+gbp(m.over)+'<\/b> of overheads, so <b>'+gbp(m.profit+m.over)+'<\/b> has to be left after delivery costs.<br><br>'\r\n        +'Delivery eats about <b>'+cpct+'p of every \\u00A31<\/b> of sales, leaving '+(100-cpct)+'p. So your revenue is '+gbp(m.profit+m.over)+' \\u00F7 0.'+(100-cpct)+' = <b>'+gbp(m.revenue)+'<\/b> a month.<br><br>'\r\n        +'Weekly: '+gbp(m.revenue)+' \\u00D7 12 \\u00F7 52 = <b>'+gbp(week)+' a week<\/b>.';\r\n    } else {\r\n      w.innerHTML='At a profit margin of <b>'+Math.round(m.marginPct)+'%<\/b>, every \\u00A31 of sales leaves you '+Math.round(m.marginPct)+'p of profit.<br><br>'\r\n        +'So to be left with <b>'+gbp(m.profit)+'<\/b>, your revenue is '+gbp(m.profit)+' \\u00F7 0.'+String(Math.round(m.marginPct)).padStart(2,'0')+' = <b>'+gbp(m.revenue)+'<\/b> a month.<br><br>'\r\n        +'Weekly: '+gbp(m.revenue)+' \\u00D7 12 \\u00F7 52 = <b>'+gbp(week)+' a week<\/b>.';\r\n    }\r\n  }\r\n\r\n  function render(){\r\n    document.getElementById('buildInputs').style.display = method==='build'?'block':'none';\r\n    document.getElementById('marginInputs').style.display = method==='margin'?'block':'none';\r\n    document.querySelectorAll('#method button').forEach(function(b){ b.classList.toggle('on', b.getAttribute('data-m')===method); });\r\n    var m=model(), week=m.revenue*12\/52;\r\n    document.getElementById('revBig').textContent=gbp(m.revenue);\r\n    document.getElementById('weekBig').textContent=gbp(week);\r\n    renderWhere(m); renderWorked(m);\r\n    window._rev=Math.round(m.revenue); window._week=Math.round(week);\r\n  }\r\n\r\n  document.querySelectorAll('#method button').forEach(function(b){ b.addEventListener('click',function(){ method=b.getAttribute('data-m'); render(); }); });\r\n  document.querySelectorAll('input').forEach(function(i){ i.addEventListener('input',render); });\r\n  document.getElementById('workedToggle').addEventListener('click',function(){\r\n    var w=document.getElementById('worked'), open=w.style.display!=='none';\r\n    w.style.display=open?'none':'block'; this.textContent=open?'See how this is worked out':'Hide the working';\r\n  });\r\n  document.getElementById('sendDash').addEventListener('click',function(){\r\n    var ok=false;\r\n    try{ var d=JSON.parse(localStorage.getItem('bib_dashboard'))||{foundations:{},week:{},history:[]}; if(!d.foundations)d.foundations={}; d.foundations.revenueTarget=window._rev; d.foundations.weeklyRevenueTarget=window._week; localStorage.setItem('bib_dashboard',JSON.stringify(d)); ok=true; }catch(e){ok=false;}\r\n    var done=document.getElementById('dashDone'); done.style.display='inline';\r\n    done.textContent = ok?('\\u2713 Weekly target set to '+gbp(window._week)):('Saved for this session. It will sync once hosted.');\r\n  });\r\n\r\n  render();\r\n<\/script>\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Your revenue target \u00b7 Build It Backwards Build it backwards \u00b7 toolkit Your revenue target Your Number tells you the profit your life needs. But profit is not revenue. This turns that profit into the sales you must actually generate, and into one weekly number to watch. Start here The profit your life needs This [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"_acf_changed":false,"_eb_attr":"","_templately_pack_id":"","_templately_imported_at":"","_templately_source":"","_templately_import_session_id":"","footnotes":""},"class_list":["post-3194","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.bare-digital.com\/ashe\/wp-json\/wp\/v2\/pages\/3194","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bare-digital.com\/ashe\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.bare-digital.com\/ashe\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.bare-digital.com\/ashe\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bare-digital.com\/ashe\/wp-json\/wp\/v2\/comments?post=3194"}],"version-history":[{"count":4,"href":"https:\/\/www.bare-digital.com\/ashe\/wp-json\/wp\/v2\/pages\/3194\/revisions"}],"predecessor-version":[{"id":3200,"href":"https:\/\/www.bare-digital.com\/ashe\/wp-json\/wp\/v2\/pages\/3194\/revisions\/3200"}],"wp:attachment":[{"href":"https:\/\/www.bare-digital.com\/ashe\/wp-json\/wp\/v2\/media?parent=3194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}