diff --git a/SKO.md b/SKO.md index 542b2550..9a1861be 100644 --- a/SKO.md +++ b/SKO.md @@ -15,11 +15,42 @@ Develop a 3-5 minute “Shark Tank Style” elevator pitch for Northpass. Your p ### Response +Sharks, I am seeking from you a $300,000 investment and a 2% in our next generation customer education SaaS company. + +You're probably rolling your eyes right now, knowing there's no money in education. If people want information, they +will just google it, right? Sure, they could, but then you'd be relying on Marketing to do the heavy lifting of +SEO - basically, a glorified word search game for kids. + +You may also be thinking back to days in college classrooms with horrible scan-trons and final exams. All these types of +educational environments are conducive to only one thing: secrecy and negative competition. Unless you're the NSO and +selling Pegasus 2.01, why would you want your clients to be secretive and combative with their learning? + +Northpass is so much more than learning. It is an invaluable tool to deepen brand loyalty, increase market share, and +strengthen the bonds between your internal and external stakeholders. + +Take a look at your own companies, Sharks. Where does "learning" fall in your tech stack? If you run your companies +anything like my clients, where over 60% have admitted to having lukewarm executive buy-in, you have placed an integral +part of your customer experience at the bottom of the stack. But you know what? That's okay if Customer Education is +sitting at the bottom of the stack. That's because it is my firm believe that customer education is the cornerstone of +any well-adjusted growing tech company. + +As tech-entrepreneurs we have put all the value on educating ourselves on how to run companies and grow teams, but +except our clients to just understand our app and technology. + +From the most technical of companies, like Recast Software, educating their clients on Microsoft Endpoint Solutions and +Server Management, or Skuid, a code-less solution for data connecting workflows, to Big Ideas Learning, a Saas solution +for the-always-busy public school teacher, customer education is the current that flows underneath all your other +systems. + +The value is simple. Give your customers right-on-time experiences with your brand and product in an asynchronous +format so that when + ## Why Now? ### Instructions -Develop a 3-5 minute “Shark Tank Style” elevator pitch for investing in Northpass and digital customer education now. Your pitch should: +Develop a 3-5 minute “Shark Tank Style” elevator pitch for investing in Northpass and digital customer education now. +Your pitch should: * Detail the investment you’re seeking for Northpass * Identify the problem Northpass is solving @@ -28,11 +59,18 @@ Develop a 3-5 minute “Shark Tank Style” elevator pitch for investing in Nort ### Response +Sharks, you've learned a lot about Customer Education and the learning +management system ecosystem today. There are a ton of competitors in the market + ## AI & LI ### Instructions -Use OpenAI’s ChatGPT, develop 20 topics for a customer education Linkedin post. Then, pick a topic and use ChatGPT to craft your first social-selling Linkedin post. Make sure that you use the OpenAI output as a basis, but then they truly make it your own with your words and personality. It needs to be something that, when you read it out loud, you would feel very natural with and happy about. +Use OpenAI’s ChatGPT, develop 20 topics for a customer education Linkedin post. +Then, pick a topic and use ChatGPT to craft your first social-selling Linkedin +post. Make sure that you use the OpenAI output as a basis, but then they truly +make it your own with your words and personality. It needs to be something that, +when you read it out loud, you would feel very natural with and happy about. ## Customer Success Stories diff --git a/Scripts/GoogleScripts/Artera_wowprog/Code.js b/Scripts/GoogleScripts/Artera_wowprog/Code.js index b8438f93..eb67be50 100644 --- a/Scripts/GoogleScripts/Artera_wowprog/Code.js +++ b/Scripts/GoogleScripts/Artera_wowprog/Code.js @@ -49,7 +49,7 @@ function findRow(course, avgProgress, lastColumn) { } } writeSheet.getRange(numRows, 1).setValue("Average Progress across all Courses"); - writeSheet.getRange(numRows, lastColumn+1).setValue(avgProgress(progArray)); + writeSheet.getRange(numRows, lastColumn+1).setValue(averageProgress(progArray)); } function percentDiff(prevVal, avgProgress){ @@ -71,7 +71,7 @@ function percentDiff(prevVal, avgProgress){ return percentChange } -function avgProgress(progArray) { +function averageProgress(progArray) { var progCalc = progArray => progArray.reduce((a,b) => a + b, 0) / progArray.length return progCalc } diff --git a/Scripts/WalmartExcel/walmart.py b/Scripts/WalmartExcel/walmart.py index f4a29352..9280f7d1 100644 --- a/Scripts/WalmartExcel/walmart.py +++ b/Scripts/WalmartExcel/walmart.py @@ -1,6 +1,7 @@ import os from datetime import date import glob +import re import shutil import pandas as pd @@ -12,26 +13,31 @@ basefile = "Walmart_Weekly_Base.xlsx" def copytemplate(rootdir, basefile): + segments = ["Group1", "Group2", "Group3", "Group4", "Group5"] today = date.today() today = today.strftime("%m.%d.%Y") template = rootdir + basefile - # todayFile = f"Walmart-{today}.xlsx" - todayFile = "Walmart-Chris-Template.xlsx" + listfiles = glob.glob(downloadir + "WeeklyMCA*.csv") + if os.path.exists(rootdir): - shutil.copy2(template, rootdir + todayFile) - # dirfiles = os.listdir(rootdir) - # print(dirfiles) - # currentDash = rootdir + f"Walmart-{today}.xlsx" - currentDash = rootdir + "Walmart-Chris-Template.xlsx" - # print(currentDash) - findlatestExport(currentDash) - - -def findlatestExport(currentDash): - listfiles = glob.glob(downloadir + "*.csv") - latestdownload = max(listfiles, key=os.path.getctime) - # print(latestdownload) - copytoDash(latestdownload, currentDash) + for segment in segments: + todayFile = f"Walmart-{segment}-{today}.xlsx" + shutil.copy2(template, rootdir + todayFile) + currentDash = rootdir + f"Walmart-{segment}-{today}.xlsx" + for latestdownload in listfiles: + if re.search('(?:Group1)', currentDash) and re.search('(?:Group1)', latestdownload): + copytoDash(latestdownload, currentDash) + elif re.search('(?:Group2)', currentDash) and re.search('(?:Group2)', latestdownload): + copytoDash(latestdownload, currentDash) + elif re.search('(?:Group3)', currentDash) and re.search('(?:Group3)', latestdownload): + copytoDash(latestdownload, currentDash) + elif re.search('(?:Group4)', currentDash) and re.search('(?:Group4)', latestdownload): + copytoDash(latestdownload, currentDash) + elif re.search('(?:Group5)', currentDash) and re.search('(?:Group5)', latestdownload): + copytoDash(latestdownload, currentDash) + else: + print("No matching Looker Pulls or Templates Found!") +# TODO: Update these if statements to loop through the groups in a better fashion def copytoDash(latestdownload, currentDash): @@ -76,3 +82,15 @@ def cleanitUp(currentDash): if __name__ == "__main__": copytemplate(rootdir, basefile) + +# TODO: Dataset is too large. Add the math from the excel into the script so that the dataset references the final data and a much smaller set. Commented below is the math as far as I can tell. +""" +Math: + Courses: + Enrolled: For each unique course name, count number of "Enrolled" (Col. C) fields if != null. + Started: For each unique course name, count number of "Attempt Start" (Col. D) fields if != null. + Completed: For each unique course name, count number of "Progress" (Col. G) fields if == 100% + Activity Completions: + Started first activity == Started number above in Course + Activity >= 1 Completions: +""" diff --git a/Timetagger/_timetagger/users/norm~bm9ybQ==.db b/Timetagger/_timetagger/users/norm~bm9ybQ==.db index 939bd2fc..f0550d7a 100644 Binary files a/Timetagger/_timetagger/users/norm~bm9ybQ==.db and b/Timetagger/_timetagger/users/norm~bm9ybQ==.db differ