The Neural Networks of Pez.AI

Hello Daisy, I’m crazy for you

Fears of rogue AI are once again center stage, thanks to Microsoft’s infamous, and now ignominious AI. If HAL ever wanted a robot partner in crime, her name is Tay. So you might be wondering if Pez.AI could ever go rogue? After all, the promise of Pez.AI is to respond appropriately to user and customer requests, so a Tay-style melt down is thoroughly unacceptable.

They all appear harmless at first

Rest assured Pez.AI will not disappoint and cannot be manipulated like Tay. The reason is the design. Tay is designed to learn online, with each and every interaction. This can quickly yield unintended — and unacceptable — consequences as we saw. Pez.AI learns as well, but the learning happens offline, to avoid uncontrollable situations like this. It also gives our researchers time to evaluate, tune, and tweak models as they evolve — before being deployed to customer installations. This ensures that we control what Pez.AI learns, so that it always responds appropriately to your customer requests.

Less human, more reliable

Where is Pez.AI now? The launch for our original conversational interface to Google Analytics is imminent! Included in the initial launch are some exciting use cases that highlight the power of the complete Pez.AI computing platform. We are in the final stretch of testing, and registered beta users can expect an announcement soon. If you haven’t signed up for the beta, do so here. Once you receive the beta invitation, simply click the Add to Slack button in the email to begin the integration. Don’t worry, integration is quick and painless. You only need to authorize Pez.AI to your Slack team and link your Google Analytics account. From there, you’re off to the races and the envy of all your friends.

What else is going on with Pez.AI? We started off with a simple idea to provide a conversational interface to analytics. The demand for a conversational AI has exceeded our expectations, and we are working with a number of businesses spanning messaging, customer service, insurance, and financial services to automate customer service with Pez.AI. With an analytics backbone, Pez.AI presents numerous opportunities for sophisticated inline inference and prediction while interacting naturally with users. Expect to hear a few exciting announcements in the coming months.

Brian Lee Yung Rowe is Founder and Chief Pez Head of Pez.AI // Zato Novo, a conversational AI platform for guided data analysis and automated customer service. Learn more at Pez.AI.

Panoptez is now Pez.AI

Panoptez is now Pez.AI. Why the change? We’ve added a conversational AI interface on top of our data analysis platform to improve the experience for non-technical people. That means you can talk to Pez.AI in Slack like you would talk to a business analyst or data scientist. Based on the conversation, Pez.AI identifies what you want and executes code to get your answers. Under the hood, the same Pez language you’ve grown to love powers the analysis and platform, giving you the best of both worlds.

Our first conversational application targets Google Analytics. You’ll be able to ask Pez.AI questions about your web traffic stats and trends in plain English. Pez.AI does all the hard work of constructing GA queries and summarizing the results right in Slack. And since Pez.AI is always there for you, you can get insights whenever you need them.

Everyone on the beta list will have early access to the GA application. We’ll be rolling out instances within the next few weeks. We’ve streamlined the installation to under 30 seconds, so you’ll be able to get insights quickly.

In other news, we also have a few partnerships in the works for more enterprise applications in the finance and customer service verticals. If you are interested in a partnership opportunity or would like custom AI development, give us a shout.

How to calculate monthly recurring revenue (MRR) in Slack instead of Excel

FastCompany wrote an article about Slack, which cited some subscriber numbers. This got me wondering what their monthly recurring revenue (MRR) is based on these figures. The MRR is a key metric that helps determine if your company is cashflow positive or not. Knowing the MRR also gives you insight into a SaaS company’s P/E ratio. Since we don’t know if Slack is profitable, we can’t compute the P/E. We can, however, use price-to-revenue as a naive proxy. In this article, I show how to use Panoptez within Slack to calculate the MRR and P/R instead of Excel (or other spreadsheet program).

A spreadsheet (e.g. Excel, Google Sheets) is often the go-to tool when you want to make a quick back-of-the-envelope calculation. In isolation this is sufficient, but when sharing your calculation with others, it becomes more involved. Within a team, it’s also likely that you want to share your methodology or the function you wrote to your colleagues. In a spreadsheet this becomes a bit more challenging since usually it means writing a function in Visual Basic or something comparable and then figure out how to distribute that among your colleagues. For this article, we’ll ignore the sharing aspect and focus on only the calculations. Our baseline will be using Google Sheets to implement these values.

The Data

First, we need the raw data. In this case, it comes from FastCompany, which says Slack has 370,000 paid subscribers. Slack has two tiers of pricing, but FastCompany doesn’t break this out for us. The pricing itself comes from Slack, where they list the price of the standard and plus plans.


To get a single value for the MRR, we need to know how many people pay for the standard versus the plus tier. We also need to know how many pay month-to-month versus annually. Since these numbers aren’t available, we have to make assumptions for the proportion of subscribers in each plan as well as the ratio of subscribers paying month-to-month versus annually. My hand-waving guess is 70% pay for the standard tier and 30% pay for plus. I also assume that 70% of the standard tier pay month-to-month and 30% pay annually. For the plus tier I assume the opposite. If you have better assumptions, please let me know in the comments!

Spreadsheet Calculation

In a spreadsheet, the normal procedure is to populate cells with these values and add some labels for the rows and columns. Next we create a formula to hold some intermediate results. In our case this is the weighted monthly value of a user in the standard and plus tiers. The formula bar shows the computed value for the standard tier.


To get the MRR we tally those up and multiply by the number of paid subscribers. This gives us $3.44 million per month, or $41.3 million per year.


That means with a private valuation of $2.8 billion, the P/R is about 68. Remember, this doesn’t equate to the P/E, since we aren’t accounting for expenses, so the P/E will likely be much higher. This is a detail overlooked in the Business Insider article that you shouldn’t ignore.

Using Panoptez

Now let’s see how to do the same thing in Panoptez. First, we create a nearly identical table. Remember that since this is in Panoptez, once this table is created, any colleague on Slack can access this same table to use as they wish. We’ll create a data frame using { } notation and assign it to the variable slack_stats. In case you’re wondering, a “data frame” is a fancy way of saying “table”.


Here’s a text version so you can copy and paste into your Panoptez-enabled Slack.

Each list within the data frame represents a column of the table. In our spreadsheet, the first column of data represented the standard pricing tier. To reference it, we would create a range from B2:B6. Our data frame holds the same data, except we reference it as slack_stats$standard. The @index at the end of the data frame sets the row names for the table. If we don’t specify this, the rows will simply be numbered numerically.

To calculate the weighted value of each tier, we’ll create a temporary function. Since Panoptez tracks all variables created in your workspace, it can fill up with a bunch of garbage quickly. To reduce clutter, you can use what’s known as a “let expression” to create temporary variables that will disappear after the expression has been evaluated. The basic structure of a let expression is let x in y. In this example, we create a temporary function f and then apply it to slack_stats$standard. The function itself is doing the same thing as in the spreadsheet formula =B2 * (B3*B5 + B4*B6), except we use the dot product (the ** operator) instead of explicitly summing the two products. The value at x[1] corresponds to B2 in the spreadsheet, since that is the range we are passing to the function. If we had used slack_stats$plus instead, then x[1] would correspond to C2.


Putting it all together, we can take our let expression and use it inside a function! That means we can create a temporary function to simplify the overall calculation. This last step creates a function that accepts the number of paying users and calculates the MRR. Notice that the expression following the in is essentially the same as in the spreadsheet, which was =F2*(B8+C8). The difference is that instead of cell positions, we are using variables and functions. The variable u is equivalent to F2, while f(slack_stats$standard) evaluates to the same value as B8.


This is the code to try in your Panoptez-enabled Slack session.

To get the final result, we simply call this function like !pez slack_mrr 370000. The nice thing about having a function is that as Slack’s user base changes, we can call this function again to get the latest MRR.



In this post, I’ve shown how to use Panoptez to calculate an estimate of Slack’s MRR. I’ll leave it to reader to write an expression that calculates the P/R ratio from this. In a subsequent post, we’ll look at changing the assumptions used in this example.

Panoptez is a collaborative data analysis and visualization platform accessible via chat systems, like Slack. Request an invite to the beta or contact us for preferred access.

Data-driven collaboration just got a whole lot easier


Today’s Holy Grail is the data-driven organization. Like the Grail, nobody knows what it looks like, though many are on the difficult quest to find it. Becoming data-driven is hard, and many obstacles prevent organizations from reaching this goal. Two major obstacles include data inaccessibility and limited collaboration. The SaaS duo of Slack and Panoptez offers a shortcut around these challenges, getting you faster to data-driven bliss.

The Promise of Being Data-Driven

Data-driven organisations offer numerous advantages over traditional businesses. The promise is that data is a strategic asset that can “inform decision-making processes and drive actionable results” (IBM). When everyone has access to organizational data and analytical tools, “data empowers people to make decisions without having to consult managers three levels up” (VentureBeat). Taking advantage of data means that hunches can be replaced by hard data enabling even “junior employees to make decisions” (VentureBeat). Consequently, employees are empowered to make decisions and react faster to the market.

Competitive edge is often a byproduct of superior information. While all organizations are producing reams of data around their business and operational processes, data-driven organizations are capturing this data to make it usable. By quantifying processes and collecting this data, inefficiencies can be rooted out and new opportunities discovered. This is usually easy within an organizational silo, but it gets increasingly complicated as you span silos. Paradoxically, these insights typically have the most power. Examples include:

  • How do social media impressions affect sales inquiries?
  • Does content marketing engagement boost registrations?
  • How does lead velocity compare with expectations?
  • How do meetings affect productivity?
  • How do software releases affect customer support volume?
  • Do managers actually matter? (via Google)

Obstacles Along The Way

Most of the benefits of a data-driven organization are only possible when data is transparent and accessible to everyone in the organization. When data is not accessible, it’s near impossible to conduct a holistic analysis. Requests can easily be lost in a swamp of bureaucracy leading to lost opportunities. Furthermore, it creates bottlenecks in the decision-making process when only a handful of people can provide specific datasets.

But why is it so hard to become data-driven? Most IT systems were not designed for interoperability and data sharing, so getting data out of these systems is difficult. According to McKinsey, “existing IT architectures may prevent the integration of siloed information, and managing unstructured data often remains beyond traditional IT capabilities.

The traditional solution to this problem is to embark on a strategic IT project to integrate data together. While strategic initiatives can benefit a company in the long-term, you can’t hold your breath and wait for these projects to be completed. It’s quite often that “fully resolving these issues often takes years” (McKinsey). Protracted timelines are anathema to data-driven organizations — who has time to wait years for an answer?


What we really need is to quickly conduct an ad hoc analysis: immediate answers to immediate questions. In finance, desk quants served this purpose, answering complex analytical questions in near real-time. Not everyone needs the fire power of a quant but many do need immediate answers with the help of analytics.

When IT involvement is not an option, many people resort to spreadsheets as a way to get quick answers. Nowadays it’s fairly easy to collaborate on spreadsheets and get data into them. However, not all data is easily accessible. Operational data is largely buried in legacy systems lacking friendly APIs. Getting data out of spreadsheets for use in other analyses can also be tricky. Dashboards are similarly flawed since data is not easily shared across reports. Interactivity is also typically limited to drill-downs. But what if you want to quickly explore the relationship of one variable with another that might not be in the report? Now you have to ask the analyst that created the dashboard, which again creates bottlenecks!

Slack as a Data Hub

Thanks to Slack service integrations, all sorts of operational data are now appearing in Slack. Spanning all silos of an organization, this operational data feed in from sales, marketing, customer service, product development, etc. The key is that all these operational events transform Slack into a de facto data hub. Hence, data accessibility no longer requires a strategic initiative: any Slack user has access to organizational data immediately.

If an organization is using Slack, then a lot of attention is already in Slack making it a great canvas for collaboration. What if it were possible to conduct an analysis and visualize it directly in Slack? Then your colleagues don’t need to switch apps nor download anything because it’s right there. Now imagine if your colleague has an idea on how to improve the analysis. What if she could modify your analysis straight from Slack?

Panoptez for Collaborative Analytics

Slack can make data accessible to all, but to truly democratize data, it needs to be usable. Enter Panoptez. Panoptez is a collaborative analytics environment that integrates with messaging systems like Slack. As part of the offering, Panoptez automatically parses messages from service bots and transforms them into data structures. Without ceremony nor strategic initiatives, you get your operational data in usable form — as they are created.


And since it’s all accessible in your Panoptez environment, you can instantly conduct cross-silo analyses. Want to know how social media marketing campaigns affect customer service inquiries? How do customer support requests affect the velocity of development? Which projects are most tightly coupled? Are development priorities aligned with marketing messages? How much do meetings affect development velocity?

Here’s an example that compares the size of our Kanban Review queue, with the number of commits to bitbucket. The idea is that high commit activity might indicate hastily written code or bug fixes.


At the beginning and end of this series there appears to be outsized commit activity versus the change in the Review queue. Perhaps something in the Active queue is causing this issue? We can add that series to the plot and render it.


The other half of being data-driven is collaboration. Most analytics platforms claim collaboration but what they mean is presentation. Dashboards, videos, narratives are for presentation. Collaboration is about working together to arrive at a solution. Panoptez moves beyond comments and annotations on a report. Instead, business users and analysts can share actual data and functions so they can collaboratively conduct an analysis.

In our example, if a product manager wanted to dig deeper into the data, it’s right there in Slack. This statement gets the last few events on our Trello engineering board and has links to the cards in question.


In short, not only is your visualization instantly available to any user in your Slack channel, so are the commands and data to create the visualization. Panoptez democratizes your data and your analytics tools, so everyone within your organization is empowered to make decisions. With Panoptez, becoming data-driven doesn’t have to be an epic journey.

Learn More

Watch my webinar to learn more about how Panoptez makes collaboration easy. Ready to give Panoptez a test drive? Request an invite to our free 30 day trial while we’re in beta.