How We Calculate Contractor Ratings on Our Website: A Comprehensive Guide for Industry Professionals

Publication Date: January 2025

Table of Contents

  1. Introduction
  2. Data Collection and Processing
  3. Rating Calculation Principles
  4. Example Calculation and Report Analysis
    1. Calculation Blocks by Individual Metrics
    2. Final Report
  5. Constants Used in Calculations
  6. List of All Data Fields and Their Characteristics
  7. Weighted Average: Definition and Importance
  8. Recommendations for Improving Your Company’s Rating
  9. Conclusion

1. Introduction

This article is intended for company executives and professionals in the countertop manufacturing industry. Here, we explain in detail how contractor ratings are calculated on our website, outlining the types of data we use and how that information is processed. You will learn about the concept of a weighted average, why it is essential for providing an objective comparison between companies, and what steps you can take to improve your company’s rating.

2. Data Collection and Processing

Our rating algorithm is based on two main sources of information:

  • Direct Data from Our Operators:

    Our team regularly contacts companies and asks them over 30 questions covering parameters such as “Friendliness”, “Expertness”, “Payment Terms”, “Response Time for a Quote”, and more. Each parameter has a unique identifier (e.g., friendliness, expertness), a “normal” value (for example, 5 on a 5-point scale), and an assigned weight that reflects its importance.

  • Aggregated Data from External Sources:

    In addition, we gather information from services such as Google Maps, Yelp, Facebook, and our own site (CoCo). This includes ratings, review counts, contact information, portfolios of completed work, and other data that verifies a company’s reputation.

For each parameter, we define the following characteristics:

  • Normal Value: The maximum expected value for that parameter.
  • Weight: The importance of the parameter in determining the overall rating.
  • Curve: A set of points that converts the raw numerical value into a score on a 0–100 scale. For example, a rating of 4 out of 5 might be converted to 80 out of 100.

3. Rating Calculation Principles

All parameters are divided into two main groups:

  • Scoring Fields (scoring_fields):

    These include data provided directly by our operators (such as the company’s founding year, payment terms, or quote response time). This group accounts for 80% of the overall rating.

  • Review Fields (review_fields):

    This group consists of aggregated user reviews (ratings from Google, Yelp, Facebook, and CoCo). It contributes 20% to the overall rating. If the number of reviews is below a set threshold (the constant enough_reviews, currently 11), the final score is proportionally adjusted based on the review count.

Data Processing Steps:

  1. Digitization: Convert the raw values into numerical form. For example, the date “2024-02-01” for foundation_year becomes 2024, and from a payment term string like “40/60”, the value 60 is extracted. In the absence of data, a value of 0 is assumed.
  2. Conversion via the Curve: The numerical value is then mapped to a score on a 0–100 scale using the predefined curve.
  3. Weighting and Normalization: The curve-derived score is divided by 100, multiplied by the parameter’s weight, and then divided by the total weight of all parameters in the group. The result is further multiplied by the group’s influence (80% for scoring fields or 20% for review fields) and by the global constant points_range (currently 100).
  4. Mystery Shopper Module: A separate rating is calculated based on evaluations by a “mystery shopper,” who assesses the company on 10 key parameters using a 5-point scale and their own set of weights. This score is used to further validate and adjust the overall rating.

4. Example Calculation and Report Analysis

4.1. Calculation Blocks by Individual Metrics

Below is an excerpt from a sample report for the company “Accent Countertops.” Each block shows:

  • The digitization method (e.g., digitizing_from_float_value);
  • The digitized numerical result (e.g., 4);
  • The weight assigned to that metric;
  • The score derived from the curve (e.g., 80/100);
  • The result considering the mystery shopper data;
  • The final points awarded.
Generic Report (Scoring Calculation)
Title of Contractor: Accent Countertops
The sum of all weights excluding user ratings: 510
Percentage of influence of regular positions: 80%
User rating influence percentage: 20%
The calculation of the number of points for each item is based on a maximum final score of 100.

Group: scoring_fields

  Position: Friendliness
  - Digitizing method: digitizing_from_float_value
  - Digitized result: 4
  - Weight of position: 30
  - Source value: 4
  - Chart position: 80/100
  - "Mystery Shopper": 0.33333333333333
  - Rating (5-point scale): 4
  Points: 3.7647058823529/4.7058823529412

  Position: Expertness
  - Digitizing method: digitizing_from_float_value
  - Digitized result: 4
  - Weight of position: 60
  - Source value: 4
  - Chart position: 80/100
  - "Mystery Shopper": 0.66666666666667
  - Rating (5-point scale): 4
  Points: 7.5294117647059/9.4117647058824

  Position: Foundation
  - Digitizing method: digitizing_foundation
  - Digitized result: 30
  - Weight of position: 10
  - Source value: 1985
  - Chart position: 100/100
  - "Mystery Shopper": 0.13888888888889
  - Rating (5-point scale): 5
  Points: 1.5686274509804/1.5686274509804

  … (similar blocks for other positions) …

4.2. Final Report

The result of all calculations excluding positions with zero weights

1    Friendliness:                       3.764706 /  4.705882 - Deviation: -20.0%
2    Expertness:                         7.529412 /  9.411765 - Deviation: -20.0%
3    Foundation:                         1.568627 /  1.568627 - Maximum 
4    Has his own office?:                3.137255 /  3.137255 - Maximum 
5    Has its own production?:            7.843137 /  7.843137 - Maximum 
6    Are there veteran discounts?:       1.568627 /  1.568627 - Maximum 
7    Production time:                    7.843137 /  7.843137 - Maximum 
8    Terms of payments:                  0.941176 /  4.705882 - Deviation: -80.0%
9    Time to create an estimate (quota): 6.274510 / 6.274510  - Maximum 
10   Price level:                       12.805454 / 14.117647 - Deviation: -9.3%
11   Completed work:                     1.411765 /  3.137255 - Deviation: -55.0%
12   Amount of all social reviews:      15.048366 / 15.686275 - Deviation: -4.1%
13   Google rating:                     18.199027 / 19.360667 - Deviation: -6.0%
14   Yelp rating:                        0.396386 /  0.639333 - Deviation: -38.0%
------------------------------------------
Total points: 88.331586899685
Total "Mystery Shopper" points (star scale): 4.34
Checksum of all maximum points: 100 (or 80 if there are no review scores)
Date of calculation of the scoring value: January 29, 2025

5. Constants Used in Calculations

Below is a list of the key constants used in our algorithm (values are taken from our configuration file):

  • total_review_weight_percentage: 20
    The percentage weight of user reviews in the overall rating.
  • points_range: 100
    The global maximum score for a contractor (used for visual display of the rating).
  • max_curve_value: 100
    The maximum value on the conversion curve (0–100 scale).
  • thumb_up_value: 5
    The value used for positive review calculations.
  • enough_reviews: 11
    The minimum number of reviews required for full weight in the scoring calculation.
  • max_social_count_review: 1500
    The maximum total number of reviews from all sources that is considered in the calculation.

6. List of All Data Fields and Their Characteristics

Below is a complete list of all the data fields (parameters) used in the calculations, along with their descriptions and current weights. Fields with a weight of zero are also included for completeness.

Scoring Fields (scoring_fields)

  • points_friendliness
    Title: Friendliness
    Description: Assesses courtesy on a 1–5 scale.
    Weight: 30
  • points_expertness
    Title: Expertness
    Description: Evaluates expertise on a 1–5 scale.
    Weight: 60
  • points_foundation_year
    Title: Foundation
    Description: Indicates how long the company has been in business.
    Weight: 10
  • points_has_its_own_office
    Title: Has his own office?
    Description: Indicates whether the company has its own office.
    Weight: 20
  • points_has_its_own_production
    Title: Has its own production?
    Description: Indicates whether the company has its own production facility.
    Weight: 50
  • points_discounts_for_veterans
    Title: Are there veteran discounts?
    Description: Indicates if discounts are offered for veterans.
    Weight: 10
  • points_production_time
    Title: Production time
    Description: Duration required to manufacture the countertop.
    Weight: 50
  • points_terms_of_payment
    Title: Terms of payments
    Description: Payment conditions (e.g., “50”, “50/50”, “40/10/50”).
    Weight: 30
  • points_time_to_answer_for_quota
    Title: Time to create an estimate (quota)
    Description: The response time for quote requests (calculated from the request and response dates).
    Weight: 40
  • points_price_level
    Title: Price level
    Description: Indicates the contractor’s pricing level based on deviations in material prices across different cities.
    Weight: 90
  • points_email
    Title: Email present
    Description: Presence of an email address.
    Weight: 0
  • points_google_map
    Title: Presents on Google Maps
    Description: Indicates whether the contractor is listed on Google Maps.
    Weight: 0
  • points_premium
    Title: Premium Contractor
    Description: Indicates premium (advertised) status.
    Weight: 0
  • points_verified
    Title: Verified Contractor
    Description: Indicates whether the contractor has been verified by our team.
    Weight: 0
  • points_phone
    Title: The phone is present
    Description: Presence of a contact phone number.
    Weight: 0
  • points_address
    Title: The Address is present
    Description: Presence of a mailing address (automatically populated if the contractor is on Google Maps).
    Weight: 0
  • points_facebook
    Title: Facebook page present
    Description: Presence of a Facebook page link.
    Weight: 0
  • points_whatsapp
    Title: Whatsapp link present
    Description: Presence of a Whatsapp link.
    Weight: 0
  • points_telegram
    Title: Telegram link present
    Description: Presence of a Telegram link.
    Weight: 0
  • points_completed_work
    Title: Completed work
    Description: Number of portfolio photos (completed projects).
    Weight: 20
  • points_logo
    Title: Logo present
    Description: Presence of a company logo.
    Weight: 0
  • points_price
    Title: Price table present
    Description: Presence of a price list.
    Weight: 0
  • points_boss_photo
    Title: Photo of Boss present
    Description: Presence of a photo of the company leader.
    Weight: 0
  • points_boss_name
    Title: Name of Boss is present
    Description: Presence of the name/surname of the company leader.
    Weight: 0
  • points_audio
    Title: Audio interview is present
    Description: Presence of an audio interview.
    Weight: 0
  • points_articles
    Title: Articles
    Description: Number of articles about the company (under development).
    Weight: 0
  • points_video
    Title: Videos
    Description: Number of video materials (under development).
    Weight: 0
  • points_all_social
    Title: All social rating
    Description: The weighted average of ratings from all social networks and CoCo.
    Weight: 0
  • points_all_social_count
    Title: Amount of all social reviews
    Description: Total count of reviews from social networks and CoCo.
    Weight: 100

Review Fields (review_fields)

  • points_google_review
    Title: Google rating
    Description: Google Maps rating and reviews (weight is dynamically determined by the number of reviews).
    Weight: 0
  • points_facebook_review
    Title: Facebook rating
    Description: Facebook rating and reviews (weight is dynamically determined by the number of reviews).
    Weight: 0
  • points_yelp_review
    Title: Yelp rating
    Description: Yelp rating and reviews (weight is dynamically determined by the number of reviews).
    Weight: 0
  • points_countertopscontractors_review
    Title: Countertopscontractors review
    Description: Rating and reviews from Countertopscontractors (weight is dynamically determined by the number of reviews).
    Weight: 0

Note: In the future, we may expand the list of data fields by adding new parameters and adjust the weights of existing ones. This will help to further refine the rating algorithm and better reflect market changes.

7. Weighted Average: Definition and Importance

The weighted average is a method of combining various metrics—each with a different level of importance—into one overall score. For each parameter, its score is multiplied by its weight, and the sum of these products is divided by the total weight. This approach allows us to:

  • Integrate Data from Various Sources: Combine expert evaluations (from our operators) with aggregated user reviews.
  • Reflect the Relative Importance: More critical metrics (e.g., expertness or response time) contribute more to the final score than less critical ones (e.g., presence of a logo or a price table).
  • Provide an Objective Comparison: The final rating enables users to quickly identify which company best meets their needs, while also highlighting areas for improvement for the companies themselves.

8. Recommendations for Improving Your Company’s Rating

To improve your company’s rating on our website, consider the following recommendations:

  • Update and Complete Your Contact Information: Ensure your address, phone number, email, and social media links are current and easily accessible.
  • Showcase Your History and Achievements: Include your company’s founding year, highlight successful projects, and emphasize the existence of your own office and production facilities.
  • Improve Response Times: Faster responses to quote requests directly improve your score. Quick turnaround times are rewarded in our system.
  • Enhance Your Portfolio: Upload photos of completed projects to improve your “Completed Work” metric and build trust with potential clients.
  • Encourage Customer Reviews: Positive reviews boost your aggregated review score. Remember, if you have fewer than 11 reviews, their impact on your rating is proportionally reduced.
  • Use Our Feedback Forms: Contact us through the dedicated feedback forms on our website to update or add information that could further enhance your rating.

9. Conclusion

Our rating algorithm combines expert data from our operators with aggregated user reviews. By applying a weighted average, we ensure that each metric contributes according to its importance, resulting in an overall score that is both objective and easy to interpret. This allows potential customers to quickly assess which contractor best meets their needs, while also giving companies clear insights into areas where improvements can be made.

If you have any questions or would like to update your company’s information to improve your rating, please contact us through the feedback forms available on our website. We are always here to help you enhance your visibility and competitiveness in the market.