Analysis overview and configuration
| Parameter | Value | _row |
|---|---|---|
| top_n | 30 | top_n |
| min_impressions | 10 | min_impressions |
| significance_level | 0.05 | significance_level |
| position_change_threshold | 2 | position_change_threshold |
This analysis compares search performance across two time periods to identify ranking shifts, click impact, and page portfolio changes for MCP Analytics. It establishes a baseline understanding of how the site's visibility and traffic have evolved, providing the foundation for understanding which content categories are gaining or losing search traction.
The analysis reveals a mixed performance picture. While one-third of tracked pages improved their search rankings and impressions increased substantially, the overall click decline suggests either increased competition at better positions, lower click-through rates, or content relevance misal
Data preprocessing and column mapping
| Metric | Value |
|---|---|
| Initial Rows | 908 |
| Final Rows | 318 |
| Rows Removed | 590 |
| Retention Rate | 35% |
This section documents the data filtering applied before SEO performance analysis. The 65% data reduction indicates aggressive filtering criteria were applied to focus on meaningful comparisons, which directly impacts the reliability of conclusions about ranking changes and click performance across the matched page set.
The aggressive filtering prioritizes analysis reliability by excluding noise from low-traffic pages where position changes lack statistical significance. This aligns with the stated objective of analyzing meaningful SEO performance shifts. The 35% retention rate ensures that position changes (mean -1.3, median -0.48) and click patterns reflect substantive ranking movements rather than random fluctuation in marginal traffic sources.
No train/test split is documented, suggesting this is exploratory analysis rather than predictive modeling. The filtering decisions directly explain why 590 pages appear in unmat
| Metric | Value |
|---|---|
| Matched Pages | 318 |
| Winners | 103 (32.4%) |
| Losers | 74 (23.3%) |
| Overall Health | Mixed |
| Total Clicks Change | -65 |
This analysis compares SEO ranking performance across 318 matched pages between two periods to assess whether recent changes improved organic search visibility and traffic. The mixed health status indicates uneven performance requiring strategic intervention to reverse declining traffic trends.
The portfolio shows a paradox: one-third of pages improved rankings substantially, yet total organic clicks declined. This disconnect suggests either that ranking improvements occurred in lower-traffic keywords, that click-through rates dropped despite better positions, or that impression gains came from lower-intent queries. The stable majority losing clicks indicates potential
Distribution of ranking changes across all pages
This section visualizes the distribution of ranking position changes across all 318 matched pages, revealing whether the overall portfolio experienced improvements or declines. It serves as a foundational view of aggregate performance shifts, helping identify whether changes are concentrated in specific ranges or broadly distributed across the dataset.
The data reveals a portfolio with modest net ranking improvements offset by high variability. While the mean is negative (favorable), the median near zero indicates that most pages remained relatively stable, with performance gains concentrated among a smaller subset of high-movers. The wide range and right-skewed distribution (skew=-0.64) suggest that dramatic improvements are more common than dramatic declines, though the majority of
Categorization of pages into winners, losers, and stable
This section categorizes 318 matched pages into three performance tiers based on search position changes, using a 2.0-position threshold as the classification boundary. It provides a snapshot of overall SEO health by quantifying how many pages improved, declined, or remained relatively stable during the comparison period—essential context for understanding whether the domain experienced net positive or negative momentum.
The distribution reveals a mixed SEO performance picture: while winners outnumber losers (103 vs. 74), the stable majority (44.3%) masks concerning click losses. Winners' modest position improvements (+7.3 average
Top ranking winners and losers with largest position changes
This section isolates the 60 pages with the most dramatic ranking shifts to enable targeted investigation of outlier performance. By examining extreme movers—both winners and losers—you can identify what factors drive significant ranking changes and understand whether position improvements translate to meaningful click gains or losses.
The top movers dataset reveals that ranking position changes don't automatically drive click changes. Pages improving 40+ positions show zero click gains, while pages declining 10+ positions maintain stable clicks. This suggests either a lag effect in click response, or that position alone doesn't guarantee traffic conversion
Relationship between position changes and traffic impact
This section examines whether ranking improvements translate into traffic gains—a critical measure of SEO effectiveness. The correlation analysis reveals the strength of the relationship between position changes and click changes, helping determine if ranking movements are actually driving user engagement or if other factors are influencing traffic.
The near-zero correlation reveals a disconnect between ranking performance and traffic outcomes. While 32.4% of pages improved rankings (winners), the aggregate click loss suggests external factors—content relevance, search intent misalignment, or competitive dynamics—may be limiting traffic gains from better positions. This pattern indicates ranking improvements alone are insufficient to explain traffic changes in this dataset.
This analysis assumes position and clicks are the primary SEO metrics; other factors like impressions (which increased by 2,656) or conversion quality are not captured here.
Detailed metrics for top ranking winners
| page_url | page_full | position | position.1 | position_change | clicks_change | impressions_change | clicks | clicks.1 |
|---|---|---|---|---|---|---|---|---|
| what-we-learned-analyzing-shopify-stores-with-p... | https://mcpanalytics.ai/blogs/what-we-learned-analyzing-shopify-stores-with-product-price-elasticity-analysis.html | 52.6 | 7.7 | -44.9 | 0 | -8 | 0 | 0 |
| whitepaper-multi-echelon-optimization | https://mcpanalytics.ai/whitepapers/whitepaper-multi-echelon-optimization | 56.2 | 12.6 | -43.6 | 0 | -144 | 0 | 0 |
| t-test-guide | https://mcpanalytics.ai/articles/t-test-guide | 65.5 | 26.2 | -39.3 | 0 | -77 | 0 | 0 |
| blog-shopify-product-bundle-affinity-analysis | https://mcpanalytics.ai/blogs/blog-shopify-product-bundle-affinity-analysis | 37.4 | 6.7 | -30.7 | 0 | -51 | 0 | 0 |
| ab-testing | https://mcpanalytics.ai/ab-testing | 33.5 | 7.2 | -26.2 | -1 | -104 | 1 | 0 |
| blog-squarespace-shipping-cost-efficiency | https://mcpanalytics.ai/blogs/blog-squarespace-shipping-cost-efficiency | 36 | 10.9 | -25.1 | 0 | -21 | 0 | 0 |
| whitepaper-fee-breakdown | https://mcpanalytics.ai/whitepapers/whitepaper-fee-breakdown | 38.6 | 15.7 | -22.9 | 0 | -34 | 0 | 0 |
| hybrid-recommender-system-practical-guide-for-d... | https://mcpanalytics.ai/articles/hybrid-recommender-system-practical-guide-for-data-driven-decisions | 51.3 | 28.5 | -22.9 | 0 | 11 | 0 | 0 |
| linear-discriminant-analysis-lda-practical-guid... | https://mcpanalytics.ai/articles/linear-discriminant-analysis-lda-practical-guide-for-data-driven-decisions.html | 31.4 | 13.6 | -17.8 | 0 | -3 | 1 | 1 |
| cash-flow-forecasting-practical-guide-for-data-... | https://mcpanalytics.ai/articles/cash-flow-forecasting-practical-guide-for-data-driven-decisions | 24.1 | 8.7 | -15.4 | 0 | -9 | 0 | 0 |
| whitepaper-propensity-score-matching.html | https://mcpanalytics.ai/whitepapers/whitepaper-propensity-score-matching.html | 25.7 | 11.2 | -14.5 | 0 | -4 | 0 | 0 |
| blog-woocommerce-order-value-segmentation-analysis | https://mcpanalytics.ai/blogs/blog-woocommerce-order-value-segmentation-analysis | 21 | 6.7 | -14.3 | 0 | 76 | 0 | 0 |
| blog-shopify-average-order-value-analysis | https://mcpanalytics.ai/blogs/blog-shopify-average-order-value-analysis | 22.1 | 8.2 | -13.9 | 0 | -27 | 0 | 0 |
| how-to-use-inventory-status-in-shopify-step-by-... | https://mcpanalytics.ai/tutorials/how-to-use-inventory-status-in-shopify-step-by-step-tutorial.html | 22.8 | 9 | -13.7 | 0 | 3 | 0 | 0 |
| blog-ebay-ebay-orders-status-tracking | https://mcpanalytics.ai/blogs/blog-ebay-ebay-orders-status-tracking | 22.7 | 10.4 | -12.3 | 0 | 9 | 0 | 0 |
| the-woocommerce-mistake-thats-costing-you-money... | https://mcpanalytics.ai/blogs/the-woocommerce-mistake-thats-costing-you-money-and-how-to-fix-it | 17.3 | 5.4 | -11.9 | 0 | 3 | 0 | 0 |
| whitepaper-synthetic-control | https://mcpanalytics.ai/whitepapers/whitepaper-synthetic-control | 15.1 | 5.2 | -9.9 | 0 | 14 | 0 | 0 |
| ab-testing-statistical-significance | https://mcpanalytics.ai/articles/ab-testing-statistical-significance | 25.4 | 15.7 | -9.7 | 0 | -122 | 0 | 0 |
| how-to-use-failed-payment-recovery-analysis-in-... | https://mcpanalytics.ai/tutorials/how-to-use-failed-payment-recovery-analysis-in-stripe-step-by-step-tutorial.html | 18.2 | 8.9 | -9.3 | 0 | -77 | 0 | 0 |
| how-to-use-discount-effectiveness-in-etsy-step-... | https://mcpanalytics.ai/tutorials/how-to-use-discount-effectiveness-in-etsy-step-by-step-tutorial | 17.6 | 8.3 | -9.3 | 1 | 178 | 0 | 1 |
| whitepaper-factor-analysis.html | https://mcpanalytics.ai/whitepapers/whitepaper-factor-analysis.html | 22 | 12.8 | -9.2 | 0 | 134 | 0 | 0 |
| customer-lifetime-value-ltv-practical-guide-for... | https://mcpanalytics.ai/articles/customer-lifetime-value-ltv-practical-guide-for-data-driven-decisions | 17.5 | 8.6 | -8.9 | 0 | -44 | 0 | 0 |
| cox-proportional-hazards-practical-guide-for-da... | https://mcpanalytics.ai/articles/cox-proportional-hazards-practical-guide-for-data-driven-decisions.html | 30.2 | 21.4 | -8.8 | 0 | 543 | 0 | 0 |
| gaussian-mixture-models-practical-guide-for-dat... | https://mcpanalytics.ai/articles/gaussian-mixture-models-practical-guide-for-data-driven-decisions.html | 24.2 | 15.7 | -8.5 | 2 | 129 | 0 | 2 |
| analytics__economics__elasticity__price | https://mcpanalytics.ai/services/analytics__economics__elasticity__price | 15 | 6.5 | -8.5 | -1 | 15 | 1 | 0 |
| logistic-classification-practical-guide-for-dat... | https://mcpanalytics.ai/articles/logistic-classification-practical-guide-for-data-driven-decisions.html | 18.9 | 10.8 | -8.1 | -1 | 50 | 1 | 0 |
| commerce__square__customers__repeat_customer_an... | https://mcpanalytics.ai/analysis/reports/commerce__square__customers__repeat_customer_analysis | 23.5 | 15.6 | -7.9 | 0 | -3 | 0 | 0 |
| how-to-use-discount-effectiveness-in-etsy-step-... | https://mcpanalytics.ai/tutorials/how-to-use-discount-effectiveness-in-etsy-step-by-step-tutorial.html | 16.9 | 9 | -7.8 | -1 | 48 | 1 | 0 |
| whitepaper-fishers-exact.html | https://mcpanalytics.ai/whitepapers/whitepaper-fishers-exact.html | 20.3 | 13.1 | -7.2 | 1 | 157 | 1 | 2 |
| whitepaper-market-basket.html | https://mcpanalytics.ai/whitepapers/whitepaper-market-basket.html | 13.4 | 6.3 | -7.1 | 0 | 17 | 0 | 0 |
This section isolates the 30 pages with the largest ranking improvements to identify replicable SEO success patterns. Winners demonstrate which content strategies, updates, or optimizations drove measurable position gains—providing a blueprint for applying similar tactics across the broader site portfolio.
Winners achieved significant ranking improvements, but the weak correlation between position gains and click increases suggests either: (1) pages are still below optimal click-through positions, (2) query intent misalignment persists, or (3) ranking improvements are recent and haven't fully matured. The diversity in baseline positions (13
Detailed metrics for top ranking losers
| page_url | page_full | position | position.1 | position_change | clicks_change | impressions_change | clicks | clicks.1 |
|---|---|---|---|---|---|---|---|---|
| whitepaper-spectral-clustering.html | https://mcpanalytics.ai/whitepapers/whitepaper-spectral-clustering.html | 11.3 | 25.2 | 13.9 | 0 | 17 | 0 | 0 |
| articles | https://mcpanalytics.ai/articles/ | 10.4 | 22.3 | 11.9 | 0 | 8 | 0 | 0 |
| support-vector-machine-svm-practical-guide-for-... | https://www.mcpanalytics.ai/articles/support-vector-machine-svm-practical-guide-for-data-driven-decisions.html | 8.8 | 20 | 11.2 | -2 | -471 | 2 | 0 |
| whitepaper-spectral-clustering | https://mcpanalytics.ai/whitepapers/whitepaper-spectral-clustering | 11.1 | 21.8 | 10.7 | 0 | 43 | 0 | 0 |
| whitepaper-neural-networks | https://mcpanalytics.ai/whitepapers/whitepaper-neural-networks | 7.5 | 18 | 10.5 | 0 | -10 | 0 | 0 |
| porter-five-forces-analysis-practical-guide-for... | https://mcpanalytics.ai/articles/porter-five-forces-analysis-practical-guide-for-data-driven-decisions | 6.3 | 16.4 | 10.1 | 1 | -16 | 0 | 1 |
| whitepaper-group-lasso | https://mcpanalytics.ai/whitepapers/whitepaper-group-lasso | 4.2 | 14.1 | 9.9 | 0 | -168 | 0 | 0 |
| whitepaper-lda | https://mcpanalytics.ai/whitepapers/whitepaper-lda | 6.8 | 16.2 | 9.4 | 0 | 8 | 0 | 0 |
| what-we-learned-analyzing-etsy-stores-with-prod... | https://mcpanalytics.ai/blogs/what-we-learned-analyzing-etsy-stores-with-product-mix.html | 8 | 16.8 | 8.8 | 0 | -5 | 0 | 0 |
| whitepaper-chi-square.html | https://mcpanalytics.ai/whitepapers/whitepaper-chi-square.html | 3.9 | 12.1 | 8.1 | 0 | 169 | 0 | 0 |
| how-to-use-geographic-sales-analysis-in-woocomm... | https://mcpanalytics.ai/tutorials/how-to-use-geographic-sales-analysis-in-woocommerce-step-by-step-tutorial.html | 10.5 | 18.3 | 7.8 | -1 | -19 | 1 | 0 |
| whitepaper-naive-bayes | https://mcpanalytics.ai/whitepapers/whitepaper-naive-bayes | 5.9 | 13.6 | 7.7 | 0 | 0 | 0 | 0 |
| whitepaper-vehicle-routing | https://mcpanalytics.ai/whitepapers/whitepaper-vehicle-routing | 5.7 | 13 | 7.2 | 0 | -14 | 0 | 0 |
| support-vector-machine-svm-practical-guide-for-... | https://mcpanalytics.ai/articles/support-vector-machine-svm-practical-guide-for-data-driven-decisions | 9 | 16.1 | 7.1 | 2 | 46 | 0 | 2 |
| k-means-clustering-practical-guide-for-data-dri... | https://mcpanalytics.ai/articles/k-means-clustering-practical-guide-for-data-driven-decisions | 8.3 | 15.4 | 7.1 | 1 | -108 | 0 | 1 |
| anova-practical-guide-for-data-driven-decisions | https://mcpanalytics.ai/articles/anova-practical-guide-for-data-driven-decisions | 7.5 | 14.5 | 7 | 0 | -197 | 0 | 0 |
| whitepaper-voting-ensemble | https://mcpanalytics.ai/whitepapers/whitepaper-voting-ensemble | 7.3 | 13.4 | 6.1 | 0 | 40 | 0 | 0 |
| whitepaper-fishers-exact | https://mcpanalytics.ai/whitepapers/whitepaper-fishers-exact | 13 | 19 | 5.9 | 2 | 293 | 1 | 3 |
| xgboost-practical-guide-for-data-driven-decisio... | https://mcpanalytics.ai/articles/xgboost-practical-guide-for-data-driven-decisions.html | 14.6 | 20.5 | 5.9 | -2 | 367 | 2 | 0 |
| what-we-learned-analyzing-square-stores-with-ho... | https://mcpanalytics.ai/blogs/what-we-learned-analyzing-square-stores-with-hourly-performance-analysis | 5.8 | 11.5 | 5.7 | 0 | -28 | 0 | 0 |
| whitepaper-glm | https://mcpanalytics.ai/whitepapers/whitepaper-glm | 5.7 | 11.3 | 5.7 | -3 | -15 | 4 | 1 |
| whitepaper-revenue-analysis | https://mcpanalytics.ai/whitepapers/whitepaper-revenue-analysis | 5.8 | 11.3 | 5.5 | 0 | 9 | 0 | 0 |
| difference-in-differences-practical-guide-for-d... | https://mcpanalytics.ai/articles/difference-in-differences-practical-guide-for-data-driven-decisions.html | 4.8 | 10.1 | 5.3 | 0 | -172 | 0 | 0 |
| whitepaper-propensity-score-matching | https://mcpanalytics.ai/whitepapers/whitepaper-propensity-score-matching | 10 | 15.3 | 5.2 | 0 | 77 | 0 | 0 |
| whitepaper-vehicle-routing.html | https://mcpanalytics.ai/whitepapers/whitepaper-vehicle-routing.html | 7.2 | 12.3 | 5.1 | 2 | 57 | 0 | 2 |
| whitepaper-feature-importance | https://mcpanalytics.ai/whitepapers/whitepaper-feature-importance | 7.8 | 12.8 | 5 | -3 | 12 | 3 | 0 |
| how-to-use-item-modifier-analysis-in-square-ste... | https://mcpanalytics.ai/tutorials/how-to-use-item-modifier-analysis-in-square-step-by-step-tutorial | 9.7 | 14.8 | 5 | 0 | -80 | 0 | 0 |
| whitepaper-pca | https://mcpanalytics.ai/whitepapers/whitepaper-pca | 10.4 | 15.2 | 4.7 | 0 | -11 | 0 | 0 |
| whitepaper-pca.html | https://mcpanalytics.ai/whitepapers/whitepaper-pca.html | 9.7 | 14.1 | 4.4 | 0 | -7 | 0 | 0 |
| whitepaper-kaplan-meier | https://mcpanalytics.ai/whitepapers/whitepaper-kaplan-meier | 6.8 | 11.1 | 4.4 | 0 | -45 | 0 | 0 |
This section isolates the 30 pages with the largest ranking declines to enable targeted recovery efforts. By examining pages that lost the most search visibility, the analysis identifies which content requires immediate investigation for technical issues, competitive displacement, or algorithmic impact. This complements the overall analysis by highlighting underperformance patterns that offset gains from winning pages.
The losers represent a paradox: significant ranking deterioration without proportional click losses. This suggests these pages ranked for competitive, lower-intent keywords where position matters less, or they occupy lower-CTR positions (10+). The concentration of whitepapers indicates potential content freshness or topical authority issues in technical domains