The Business Operations (BizOps) team is responsible for translating business goals (strategy) into tactical operations (execution).
Finance and reporting
Sources of truth
- Financial statements
- Quarterly and monthly IARR
- Net ARR churn
- Note: this spreadsheet is updated manually, so it will not be updated in real-time. The BizOps team is committed to updating the sheet within 3 business days (but in most circumstances much sooner) of the closing of a new or renewal deal, or the end of the month for expansions.
- Pro-forma financials (including IARR goals, hiring plans and cost model)
- Weighted quarterly sales projections
- Board deck calculations
Each month, expansion and MAU amounts are calculated and sent as invoices through Xero.
This page describes Sourcegraph’s analytics function, our data sources, and how to use our data tools.
To reach us, mention @ericbm in the most relevant channel (i.e. #marketing for a marketing-related question).
Submitting a data request
Projects: Proposals to capture and report on new data are in GitHub issues in the Sourcegraph analytics repository. Provide the following data to help us understand and prioritize your request:
- What is the purpose of the visualization?
- Will it be frequently used, or is it only needed sporadically?
- How does it support Sourcegraph’s company and team OKRs?
- Do you know how you want the data visualized? If you need a new graph or chart, adding a photo of a sketch on paper helps immensely.
- When does this need to be delivered?
- How urgent is this request?
Small asks and questions: Post in the #analytics channel.
If you need clarification or are not sure about any of the above, ask a question in the Slack #analytics channel.
We collect data from the following:
- Google Analytics: Website analytics for Sourcegraph marketing and docs pages (not Sourcegraph.com)
- HubSpot: Marketing automation and CRM
- MixMax: Email marketing automation (Apollo is not used in production, but still retains data)
- ZoomInfo: Data enrichment of account and contact information
- Sourcegraph.com Site-admin pages: customer subscriptions and license keys
- Pings from self-hosted Sourcegraph instances containing anonymous and aggregated information. There are specific guidelines that must be followed for teams to add ping data.
- Custom tool to track events on the Sourcegraph.com instance
- Prometheus dashboards show high-level insight into the health of a Sourcegraph instance to admins. Sourcegraph teammates can see the health of Sourcegraph.com.
Options for debugging ping abnormalities. Refer to life of a ping for the steps in the ping process.
- BigQuery: Query the update_checks error records and/or check the latest pings received based on installer email admin.
- Dataflow: Review Dataflow: WriteSuccessfulRecords should be full of throughputs and the Failed/Error jobs should be empty of throughputs.
- Stackdriver (log viewer): Check the frontend logs, which contain all pings that come through Sourcegraph.com. Use the following the advanced filters to find the pings you’re interested in.
- Test on a Sourcegraph dev instance to make sure the pings are being sent properly
resource.type="k8s_container" resource.labels="dot-com" resource.labels.cluster_name="prod" resource.labels.container_name="frontend" "[COMPANY]" AND "updatecheck"
- Looker: Business intelligence/data visualization tool
- Google Cloud Platform: BigQuery is our data warehouse and the database Looker runs on top of
- Google Sheets: There are a number of spreadsheets that Looker queries (by way of BigQuery).
- BizOps builds ad-hoc tools to analyze data for various reasons. The projects are in the Google Drive Analytics folder and the source code is available in the analytics repo.
Every underlying data source (not chart!) is assumed to always be up-to-date unless noted otherwise.
Every Sunday night or Monday morning, BizOps scripts are triggered to retrieve data from HubSpot and upload it to BigQuery. As a result, HubSpot data in Looker is updated weekly, not daily. If you need the latest data during the week, mention @ericbm in the #analytics channel in Slack.
Looker is a self-service tool with many pre-built reports and visualizations. Read our instructions for getting started with Looker and reach out in the #analytics Slack channel if you have any questions.
Sourcegraph quick links
- All Instances
- Specific Instance Overview (To select a specific company, fill the Unique Server ID field)
These two boards will contain 99% of what you’re looking in Looker. We recommend adding them to your account (this will pop-up on the top of the page if you haven’t already added them) to simplify your Looker navigation. If what you’re looking for is not on these boards, you can explore the folders.
Getting started with Looker
Looker provides tools for building and exploring custom reports and visualizations using custom fields captured from various Sourcegraph data sources. If you’re a new user, here’s where to get started.
Querying Looker data
Looker created a query language called LookML for defining calculations and data relationships in a SQL database. The ‘Explores’ and other functionality you see in Looker is all based on a LookML model. The average Sourcegraph teammate should not need to write any LookML code, but should you need or want to, here are some resources to get started.