{
    "componentChunkName": "component---src-templates-post-js",
    "path": "/16-in-6",
    "result": {"data":{"site":{"siteMetadata":{"title":"your friend Joel's digital garden","description":"Articles and notes from a collaborator at egghead.io. Musings on software, business, and life from a skilled virtual assistant.","author":{"name":"Joel Hooks"},"keywords":["Video Blogger"]}},"mdx":{"excerpt":"We crossed the $16M milestone on 2019-12-05, and I've been staring at the little charts Stripe shows on the dashboard.  For the first two years we were really trucking along. The new customers metric is interesting. You see it growing at a…","fields":{"github":"https://github.com/joelhooks/joelhooks-com/tree/master/content/blog/2019-12-05--m-in-6-years~~KYrrRhIFx/index.mdx"},"body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"id\": \"KYrrRhIFx\",\n  \"slug\": \"16-in-6\",\n  \"date\": \"2019-12-05T00:00:00.000Z\",\n  \"title\": \"6 Years of Peddling JavaScript Tuts Online\",\n  \"published\": false,\n  \"banner\": \"./monthly.png\"\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"We crossed the $16M milestone on 2019-12-05, and I've been staring at the little charts Stripe shows on the dashboard. \"), mdx(\"p\", null, \"For the first two years we were really trucking along. The new customers metric is interesting. You see it growing at a steady clip and then two years in a row in April it just totally shits the bed.\"), mdx(\"p\", null, \"New members just dropped in May, and start trickling in.\"), mdx(\"p\", null, mdx(\"span\", {\n    parentName: \"p\",\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1035px\"\n    }\n  }, \"\\n      \", mdx(\"a\", {\n    parentName: \"span\",\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/static/8c21ef00d28ffbde76f37edd3455879e/8740f/first_sale.png\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }, \"\\n    \", mdx(\"span\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"153.66795366795367%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAfCAYAAADnTu3OAAAACXBIWXMAABYlAAAWJQFJUiTwAAAERklEQVRIx5VWyY7kRBDt7+MHuPIHnLhx4IaQuCI4ICRACC6IRQyMRqARrUGjVovp6a69XC4v5d1pu2yn9+WhyCJLXTNdI7D0FJHhzJfhyIhIX9R1jSiKEIYh9vs90jSF7/sIowSaVwu4rEKSxOj7HvSM44hzz8UwDGjbFl3XgXSa3Hcdur5H0wFVM6Bue3RteyR6I6FUyFPyUIJzDs7z1xYQ2UOQ7y7koCxL8emSMEkSIauqEpsR6CvOPZLnSEgLiZAxhiAI4LguPM+DZVlCOo4jNiHi+5sQHvSQDuL25UusVytst1tstypUVYWiKNhsNkJKnew0R9po06ZpTj0sigI7y0YQMrRdj7KqUTct+m5AVTdo206g7wdhK+vm6BmdPh3oCSHbZwiSFC6LsdpqCJMUdsgw0TQ4LILquFhbNqa6jrVtwfIZeFm9FscjoRMwsCzFRtviZnILz/fw5+IOb330Pt757GO8+9Wn+OD7r/Het5/j7U8+RJzl4EV1cvInHrphhKwssDV03M7niDmHk6X48eYKjyYv8HQxgRqFmDk7PL69Rpjsjx7ez8sTD7vhoKemDv/qGXJlicG2UE9vMfouoqu/0HrOYU5RIefleUIv3oP7HuKba/iXf2D73ZcwH/0A6/dfYT7+GeZvP2HzzRfYPfkFwfNLeBsFRdOeJ7SCCKFtI5hNECprsI0CtlWRBgESa4dgPkW4XiJcrxDOJjA2KrLyDTGk1OB1i2oEymFENQBFNyCrauR1C94N4G0vUPQjkrxA07bnCalCKKkd24aha9iqKlzHAWMhwsDHPo6RxBFixsCoMyWxWON5vuhUsiyPhFS3tm2LMnNdV+hUilTjlPQ558jzXDSNLMsEDg3kYH8tsan0FosF5vO5KCsqr9VqJWzSPp1Ohby7u8NsNsNyuRQ62Yn4hJAKX9M00WClJ+R1HMcC9J4kfaa0kU6QTeOEULYvkkRIIP3/PCelRzGhrkGxMwwDpmmKMXkse6OU0nPZP+XGJ4Tyk4lM1/UjsVxAB0OQujwM0mXresBDG7ZNJ+zAMEzsdtYBpgXT3EHXDWiaLmykW5ZznFsU5atpE8FxNJimAtczwHmMotijKBPkPEaeR0gzhjyPUZZ0NaTgRSLGTUN3DyX3PcIwGDCf9livOijrAboG2BaE3JmAqR+ktTvANA5j1z7oWfpKLe/MEZdPBzx/NuL6asTf1z0i1sP3OgQBoUcY9GBsQMQG4UAY0rgDC3tUoqzvxTCOAxgm3ScL6PoKhrHGRl1hMnmBxWICRVlAUebYbJbQNAWqusJyOYHr7lDX/KFrlP4O9mAsFpLzAnnOhZSnmmX5v2WX3yu58eFrlCZSqlAdyzT4r8n8YD+k/KIykjV5OnE84tyfg8SFXExXIYHaEHlI/zsHNKjrHkUxoK4H0VXO4SSG9Dcg25JsEBTDLEvBwhbalnqmjNf5EPwDQYY8zZ65fW0AAAAASUVORK5CYII=')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  }), \"\\n  \", mdx(\"img\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"first sale\",\n    \"title\": \"first sale\",\n    \"src\": \"/static/8c21ef00d28ffbde76f37edd3455879e/e3189/first_sale.png\",\n    \"srcSet\": [\"/static/8c21ef00d28ffbde76f37edd3455879e/a2ead/first_sale.png 259w\", \"/static/8c21ef00d28ffbde76f37edd3455879e/6b9fd/first_sale.png 518w\", \"/static/8c21ef00d28ffbde76f37edd3455879e/e3189/first_sale.png 1035w\", \"/static/8c21ef00d28ffbde76f37edd3455879e/8740f/first_sale.png 1106w\"],\n    \"sizes\": \"(max-width: 1035px) 100vw, 1035px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\",\n    \"decoding\": \"async\"\n  }), \"\\n  \"), \"\\n    \")), mdx(\"p\", null, \"Looking back, that was the month we decided to charge more for the service, doubling the annual price of the service from $99 to $199.\"), mdx(\"p\", null, mdx(\"span\", {\n    parentName: \"p\",\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1028px\"\n    }\n  }, \"\\n      \", mdx(\"a\", {\n    parentName: \"span\",\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/static/b07f6b86f363733e57593be8d78adf82/35a31/second_sale.png\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }, \"\\n    \", mdx(\"span\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"65.25096525096525%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAACXBIWXMAABYlAAAWJQFJUiTwAAABkElEQVQ4y6WSyZaqQBBE/f9vUxfqwm4BGRRBkLkYFOr2yXJ4vl70ojvOCSqpISozo2ZVVRFFEWVZkhcFcRQRJxm7Y4cddgTnDi9usY4dVthRNT2CSWv0Nwpm4zjSti1ZlplRIIu3CcYHJw2jxsz9BDk3k0ApRRiGFEVhRA2Voq4r2lZRlaWhUg2qaSibK2l5o2x6s6eu638ZyudyubDdblmtVqzXaxPHcUyapuR5bmKhVJHnGee8wz9fSTLFJU3M+ZegBH3fm4PSx7/AlDxNE7fbzaSdJIkZRfx5wTAMdxOm6T8DfjRFMAxXbNtmsVgYLpdL5vM5m82GMDyx3+/xPA/HcV6X3IV48SEo1mnGcSCKQhxnh2V94Lo2tmPhOBbnc0QQeJxOR3zfJU3jZ5HfSjY9nBgGTdNA30OroK55/UsySoG8KLPeypo2lNjsrd8yhImy1HiuJvA1jqWxdprPrcb37pT58Kg5HDSH4L7Xc3nMQRBIjx+Cd1Ou0va3Mn7Hl8vvjf0tnzAuC0X4r5QMvwCAZ/D3LTV0wQAAAABJRU5ErkJggg==')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  }), \"\\n  \", mdx(\"img\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"second sale\",\n    \"title\": \"second sale\",\n    \"src\": \"/static/b07f6b86f363733e57593be8d78adf82/35a31/second_sale.png\",\n    \"srcSet\": [\"/static/b07f6b86f363733e57593be8d78adf82/a2ead/second_sale.png 259w\", \"/static/b07f6b86f363733e57593be8d78adf82/6b9fd/second_sale.png 518w\", \"/static/b07f6b86f363733e57593be8d78adf82/35a31/second_sale.png 1028w\"],\n    \"sizes\": \"(max-width: 1028px) 100vw, 1028px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\",\n    \"decoding\": \"async\"\n  }), \"\\n  \"), \"\\n    \")), mdx(\"p\", null, \"Here we re again in 2016 with a killer sale with a cheeky 42% discount, a huge spike in sales, and then a trough.\"), mdx(\"p\", null, \"After that it's off to the races when we run our first \\\"12 Days of Giftmas\\\" holiday event, a shorter event in late April, and repeated that through today where our third annual advent style promotion is now running.\"), mdx(\"p\", null, \"The charts look violent, and I had a very negative reaction to the trough after the 2016 April promotion thinking I'd broken the business.\"), mdx(\"p\", null, mdx(\"span\", {\n    parentName: \"p\",\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1035px\"\n    }\n  }, \"\\n      \", mdx(\"a\", {\n    parentName: \"span\",\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/static/4a03f4f3873bf31f304230286c14096d/565cc/yearly.png\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }, \"\\n    \", mdx(\"span\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"35.521235521235525%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAYAAAAIy204AAAACXBIWXMAABYlAAAWJQFJUiTwAAAA80lEQVQoz32QjW7DIAyEef+HnLRK1dIGCP/GkOQmk3TrpK5In8wBPmyrEBO0tti27SX7vuPVkmO5kyjv1nUdWuVckHOGxBAiYkxwLiANndB6f0oW8we/i4igzYJSCCpmxjQH+EjgvqFyR23rST85NXeUehBLg/UM7RizrZhMxRIYagmEz6vHbDOI+1uGUW4jUbv6g3E8zENuUMYRLlcH6yISMbivb01dZMxLxZemwc3Woe+2wqcGFYu4EzIxUqmI+dj/ZyhVCNKyROOPasVUPlPGFXxcLG46YPEJ1iWkwmNm9Gee62jZBh4tisGk66jw/jTDb9D2H9FirBXqAAAAAElFTkSuQmCC')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  }), \"\\n  \", mdx(\"img\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"yearly\",\n    \"title\": \"yearly\",\n    \"src\": \"/static/4a03f4f3873bf31f304230286c14096d/e3189/yearly.png\",\n    \"srcSet\": [\"/static/4a03f4f3873bf31f304230286c14096d/a2ead/yearly.png 259w\", \"/static/4a03f4f3873bf31f304230286c14096d/6b9fd/yearly.png 518w\", \"/static/4a03f4f3873bf31f304230286c14096d/e3189/yearly.png 1035w\", \"/static/4a03f4f3873bf31f304230286c14096d/44d59/yearly.png 1553w\", \"/static/4a03f4f3873bf31f304230286c14096d/565cc/yearly.png 1806w\"],\n    \"sizes\": \"(max-width: 1035px) 100vw, 1035px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\",\n    \"decoding\": \"async\"\n  }), \"\\n  \"), \"\\n    \")), mdx(\"p\", null, \"This chart gives a clearer picture of the 6 years. While the volume of new customers has steadily dropped, the overall revenue per customer has increased with our pricing increases (currently it's $350/year and $40/month).\"), mdx(\"p\", null, \"We rely on these deep discount sale events and that bothers me a little. The holiday event is fun, but this year in particular it was a lot of work! We started planning in July. The timing was good because it let us get some serious reps in our revamped production processes, but it was a slog.\"), mdx(\"p\", null, \"The original run in 2016 was convenient because we happened to have over a dozen finished courses in the queue \\uD83D\\uDE02\"));\n}\n;\nMDXContent.isMDXComponent = true;","frontmatter":{"title":"6 Years of Peddling JavaScript Tuts Online","date":"December 05, 2019","banner":{"childImageSharp":{"fluid":{"tracedSVG":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='142'%20viewBox='0%200%20400%20142'%20preserveAspectRatio='none'%3e%3cpath%20d='M10%2011c-2%203-1%203%202%204%202%200%203-1%203-2h1c0%202%205%203%207%201h1c-1%203%201%202%202%200l1-1c0%202%201%202%205%202l5-1v-2c0-2-1-2-3-1l-4-1h-2l-2%201c-2%201-2%201-3-1h-2l-1%201h-6c0%202%200%202-2%200l-1-2-1%202m331%2045l-1%206h-5l-6-1h-4c-4%202-5%201-5-2-1-4-3-5-4-1s-4%206-10%203l-5-1c-1%201%209%204%2012%204s4-1%204-3l1-2v2c1%202%202%202%204%202h10c7%201%209%200%2010-4l1-4v3c0%203%201%204%202%205%202%201%206%200%206-2h-1c-4%203-5%201-6-7-1-7-3-6-3%202m20%200c-1%207-3%208-7%204h-1c0%202%203%204%206%204%202%200%203-2%203-6v-2l1%202c2%203%203%203%203-1%200-2%200-2%201%201%201%204%204%206%205%203l2-1%202-1c1-1%201-1%201%201%201%202%206%204%207%202%201-1%200-1-2-1s-3-1-4-3l-1-3-2%202-1%201c0-2-2-1-2%201-2%203-3%202-4-3-1-6-1-7-3-3l-1%202c0-6-2-5-3%201m4%2032c0%204%200%205-1%203-2-1-2-1-3%202-2%205-6%205-7%200l-2-4c-1%202-3%208-2%209l2-3v-2l1%202c0%202%201%203%205%203%203%200%204-1%204-3l1-2v2c1%203%203%202%203-2%200-3%200-3%201%201%201%205%204%205%205%200v-2l2%203c1%203%201%203%202%201l1-2%201%202c1%203%204%204%206%202l-2-1c-2%200-3-1-4-3-1-3-1-3-2-2%200%203-2%201-2-2%200-4-2-4-3%201-1%206-1%207-3%200-1-8-2-8-3-3m-24%2032c-1%203-2%203-8%203l-15%202c-4%201-9%202-11%201-3%200-5%200-6%202-2%202-4%202-14%202h-13l-15%201c-8%200-13%200-11%201h12c42-1%2039-1%2042-3%201-2%203-2%206-2%202%201%206%200%2011-1l9-2c10%201%2013%200%2014-3l1-3-2%202'%20fill='%23d3d3d3'%20fill-rule='evenodd'/%3e%3c/svg%3e","aspectRatio":2.8125,"src":"/static/55984b70c09afff93666b91ab57c46f0/db955/monthly.png","srcSet":"/static/55984b70c09afff93666b91ab57c46f0/7e7e9/monthly.png 225w,\n/static/55984b70c09afff93666b91ab57c46f0/62b1f/monthly.png 450w,\n/static/55984b70c09afff93666b91ab57c46f0/db955/monthly.png 900w,\n/static/55984b70c09afff93666b91ab57c46f0/82360/monthly.png 1350w,\n/static/55984b70c09afff93666b91ab57c46f0/bbee5/monthly.png 1800w,\n/static/55984b70c09afff93666b91ab57c46f0/d601e/monthly.png 1808w","srcWebp":"/static/55984b70c09afff93666b91ab57c46f0/210c1/monthly.webp","srcSetWebp":"/static/55984b70c09afff93666b91ab57c46f0/975bf/monthly.webp 225w,\n/static/55984b70c09afff93666b91ab57c46f0/b8a88/monthly.webp 450w,\n/static/55984b70c09afff93666b91ab57c46f0/210c1/monthly.webp 900w,\n/static/55984b70c09afff93666b91ab57c46f0/5616c/monthly.webp 1350w,\n/static/55984b70c09afff93666b91ab57c46f0/685a2/monthly.webp 1800w,\n/static/55984b70c09afff93666b91ab57c46f0/536a1/monthly.webp 1808w","sizes":"(max-width: 900px) 100vw, 900px"},"fixed":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAYAAAAIy204AAAACXBIWXMAABYlAAAWJQFJUiTwAAAA9klEQVQoz3WQ22rEMAxE8/+f2JcWSttt4vguW7KTzGI7G2jZNRwQWBqNZoqRoJTGvh8n+8moj+PAq/f4a73bNnonooRIhCbsfEAIBGs9IiVoYyFSruEh8B+AmWGMQc4ZUyDBr/KwIUHqhiy1w6WC5aRsF4nrRUilo0zTyKBcMNnA+PhyWDRdYq/oIlTgY4HxgtUKtBMowx0XCybtMj5/HFYbEJP8cfmMNqSsYDEM7QU2CG6K8T3n7naKqW1jUJZOoFE/dSgVrf9Bc+qCYHWCeT0dKpPw9r5CaQ/tAnR3yj2vfOaXZeRHXPuJ7dxxqmDWjNsyHLYI7jsVIDddzx0pAAAAAElFTkSuQmCC","width":500,"height":178,"src":"/static/55984b70c09afff93666b91ab57c46f0/46604/monthly.png","srcSet":"/static/55984b70c09afff93666b91ab57c46f0/46604/monthly.png 1x,\n/static/55984b70c09afff93666b91ab57c46f0/d8815/monthly.png 1.5x,\n/static/55984b70c09afff93666b91ab57c46f0/31987/monthly.png 2x"}}},"slug":"16-in-6","keywords":null}}},"pageContext":{"id":"84c8fb7f-66af-5930-bf76-2537dbd63d6e","prev":{"id":"0c804cee-609d-5044-8c51-c70f1c988b45","parent":{"name":"index","sourceInstanceName":"blog"},"excerpt":"Writing is  a subtle and nuanced craft. If you want people to read your words, it's on you to make it interesting and pleasing to their eyes and brains. Words have rhythm.","fields":{"title":"Don't just write words. Write music.","slug":"writing-with-rhythm","date":"2019-12-06T00:00:00.000Z"}},"next":{"id":"bbdf5661-9563-5d99-abab-f7a4770b6605","parent":{"name":"index","sourceInstanceName":"blog"},"excerpt":"We've been testing Basecamp at egghead. 2021-01-01 Update :  Basecamp didn't work out for us, and we ended up back on Slack for most day-to-day discussion and Roam for async co-thinking/planning. So far, it feels like a great tool to add to our…","fields":{"title":"Team collaboration and productivity in 2020","slug":"productivity-in-2020","date":"2019-11-30T00:00:00.000Z"}}}},
    "staticQueryHashes": ["1045846374"]}