How Kite coding statistics are calculated

The Kite engine logs summary-level usage data to inform product roadmap decisions and provide summary coding statistics to users. Logging only happens while coding in a .py or .js or .go file with the Kite plugin installed.

For instance, we can identify when our ML engine is not accurate enough for certain libraries based on Completions Used, and then publish updates. We can also identify when CPU or memory usage issues arise, which are rarely self-reported by users, and proactively implement optimizations or fixes for relevant editors, distributions, and operating systems.

At no point is any code collected and stored by Kite.

Hours Coding

Hours Coding is calculated by counting every 10-minute interval where Kite is running and at least one edit to a .py/.js/.go file is made. A file edit is defined as a keystroke while editing a .py file, and includes when the user copy/pastes, undos/redos, or deletes code in a file.

Total Completions Used

Total Completions Used is defined as the total number of Kite completions selected by the user from the drop-down menu while coding in a file.

Estimated Hours Saved

We conducted a user survey wherein active Kite users reported an 18% increase in self-reported productivity on average. We use this as a straightforward heuristic to calculate Estimated Hours Saved. We multiply the average reported productivity increase percentage by the total Hours Coding to get Estimated Hours Saved. Actual results may vary, and we are working on improving this heuristic.

How is This Information Collected?

The Kite engine's desktop app calculates summary-level data and transmits it to Kite's database daily via API calls over HTTPS (file size ~1 KB).

Users can opt out of usage metrics. If you’d like to opt out, please find instructions here.