Analysis of Solving Topics from Google Search Console Data

The goal of the SymPy 2022 Season of Docs project, is to create documentation so that users can easily learn how to solve their mathematical problems.

Analysis of the Google search terms (below) reveals that searchers conceive of "solving" more broadly than SymPy's various solving functions; for example, searchers may want to "solve" an integral. So to best meet users' needs, this project will include any type of highly-sought "solving".

The new solving main page will thus help direct users to the type of solving they need, whether it be one of SymPy’s solvers or “solving” an integral, etc. The sub-pages will contain step-by-step guides for how to solve each type of mathematical problem.

We will prioritize the types based on interest. Because the SymPy community has opted not to have direct analytics installed on its documentation site due to user privacy concerns, we cannot track which page a user goes to next after a search leads them to a page on our site. Thus, we use more indirect analytics like Google Search Console. We extracted one year's worth of that data ending on April 15, 2022. Each search query, for example "sympy solve", is aggregated across the year with the following data:

Note: SymPy has a function called solve which is designed to find the roots of an equation or system of equations. SymPy solve may or may not be what users need for a particular problem, so this project's goal is to document commonly-requested types of "solving" regardless of the SymPy function best suited to the task.

Search Queries Involving "solv" Categorized by Type of Solving

Because the focus of the Season of Docs 2022 project is improving SymPy's solving documentation (broadly conceived), I filtered the 1000 top queries down to those containing the stem "solv" (to capture "solve", "solver", "solving", etc.), which gave 127 queries. I categorized each query into one of 15 categories. The categories were designed to represent searchers' conception the type of solving requested. The goal is to present a visitor to the docs.symy.org new solving page with a reasonable number of solving types, so the visitor can quickly find the type of solving they need and go to that sub-page. Any such categorization is subjective and may contain overlap between categories. The "general" category includes queries where the searcher's exact intent is unclear, for example "sympy solve" and "python solver".

For each category, I summed the clicks and impressions, and took the mean of the click-through rate (ctr) and position. To prioritize the categories, I sorted by impressions. I chose impressions rather than clicks because impressions counts the number of times docs.symy.org pages were deemed relevant by the search engine. Clicks, by contrast, also take into account whether the searcher chose the docs.symy.org link, which is affected by the page title, summary, etc.

The project will focus on those categories, prioritizing in roughly the order in the table the

Individual Top Queries

For completeness, all 127 top queries containing "solv" are below, including their categorization.