Application #NUM to Agreement on consulting services: SLA (Service Level Agreement)

 

What is the service 

 

Getrealprice provides online product prices data that is being pulled from publicly available online shops and mobile applications. This is an external service (Getrealprice Team located outside CLIENT_NAME).

 

Data is being provided via 3 methods: 

 

1. HTTPS


Getrealprice sends URL that follows to the file(s) with resulting data. 

 

2. SFTP, GCS, MS AZURE

 

Getrealprice places file(s) with resulting data into CLIENT_NAME SFTP folder. 

 

3. HTTPS Web-app Dashboard

 

Getrealprice datasets can be accessed by using browser at https://Getrealprice.com and logging into protected client-data area. 

 

Depending on CLIENT_NAME needs in future, Getrealprice can transfer data using other methods (GCS, API, etc.).

 

Service Levels

 

Getrealprice provides services in 2 areas: 

 

- data provision

- communication with contact person(s) / tech support

 

Data provision

Communication with contact person(s)

Delivering data according to defined schedule

E-mail

Online meetings

Gitlab/tickets

 

Both sides agreed the following rules to be applied during cooperation on order to keep this SLA running:

 

Data provision

Common schedule 

[change this according to your needs] Data provision has weekly cycles. 

 

Weekly cycles mean that for most platforms the data freshness should be not longer that 24*7=168 hours. 

 

In other words, Getrealprice provides updated price data every 168 hours or near that. 

On the beginning of the week the bigger platforms are started to be crawled since they take more time and effort to download the data.

 

by:

 

14:00 CET Friday (xx) 
or 
14:00 CET Sunday (zz), 

 

all or most of all platforms are already downloaded and stored in Getrealprice storage drives. At 14:00 CET each Friday Getrealprice transmits data to CLIENT_NAME SFTP and in addition sends an e-mail with duplicate/reserve way of downloading data with following email subject(s):

 

CLIENT_NAME - All catalogs

- email 

 

CLIENT_NAME - Other Package

- email

- email

- email ...

 

In addition, Getrealprice provides EAN scanning: 

 

Daily SKUSET1 price update

- email

Weekly SKUSET2 price update


- email
 

CLIENT_NAME informs Getrealprice if the report recipients must be updated (replaced/deleted/added).

Service availability

Access to data storage

 

Getrealprice grants 24x7x365 access to downloading files from [hidden now for public version]

Access to Getrealprice dashboard

 

Getrealprice able to provide access to “Getrealprice:RetailMaster” dashboard with price history and crawling statistics detailed information.

 

Resolution time of an incident

Typical incident is a broken parser/crawler

 

If the web shop adds new code into the html / selectors / whatever, the previous data collection code will stop working. Getrealprice catches intercepts such situations and fix them in a regular manner.

 

Normally Getrealprice resolves the incidents with the following duration: 

 

  • Simple selector change and re-crawl: 1-3 days

 

  • Any incident with heavy platform (such as xx, zz, tt, etc): 1-5 days, rare: 10-15 days

 

  • Handling added anticrawling defense: 2-7 days

 

  • Changing technology from https to api/mobile/selenium: 2-7 days 

 

  • Changing data collection method by CLIENT_NAME input: 5-12 days 

 

  • Changing report template(s): 5-14 days

    Some of the incidents can not be resolved at all because of their behavior. 

 

  • Getrealprice informs CLIENT_NAME if understands that capturing data from desired platform is no longer technically possible. 

    How resolition time affects on monthly billing: 

 

  • if resolution time does not exceeds 1 reporting cycle (by default, it’s 1 week, starting from 00:00 Sunday till 00:00 Sunday) - no cost changes on monthly totals;

 

  • if resolution time exceeds 1 reporting cycle (1 week, starting from 00:00 Sunday till 00:00 Sunday) - might affect on cost changes on monthly totals

 

  • each 1 week delay on data provision affects to decrease tull monthly cost (4/4) by 1/4 of monthly cost of competitor prices update.
     

Uptime

Crawling is always on. 

 

Evaluated average crawling time in ideal conditions: 

 

[platformname/platformlist] DE: 2 days

[platformname/platformlist] AT: 2 days

[platformname/platformlist] CN: 2 days

[platformname/platformlist] ES: 1.5 days

[platformname/platformlist] AE: 1.3 days

[platformname/platformlist] IT: 2-5 days

Others platforms, average: 2-10 hours.

 

Getrealprice performs most of the web shops crawling in parallel mode. 

 

Unplanned attempts to speed up crawling (decrease crawling time) might affect to lose the information and trigger platform(s) to implement additional anti-crawling defense. In order to keep good speed, Getrealprice always makes a preliminary research of data crawling comfort speed. 

 

Data accuracy 

Getrealprice makes self-check regarding how accurate the data. What is a subject of self-check: 

 

For each platforms crawling results (read-out reports) Getrealprice applies data check scripts that calculate the following: 

 

Total Products in report this week: 7725

Recent Products (last 5 days): 5962

Percentage of available items: 77.18%


if Percentage of available items is less than critical level, Getrealprice marks such report as suspicious and makes additional data check. 

 

Critical level can be different for different platforms because they all have different weekly range volatility. 

 

Example of weekly data accuracy report:

Country A

Country B

Platform_name_.xlsx

- Result: good

- Percentage: 77.18%

- Total Products: 7725

- Recent Products (last 5 days): 5962

 

Platform_name_ (Frechen).xlsx

- Result: good

- Percentage: 85.30%

- Total Products: 179635

- Recent Products (last 5 days): 153228

 

Platform_name_ (Praha).xlsx

- Result: good

- Percentage: 96.07%

- Total Products: 56793

- Recent Products (last 5 days): 54562

 

Platform_name_ (Steyr).xlsx

- Result: good

- Percentage: 94.92%

- Total Products: 124093

- Recent Products (last 5 days): 117789

 

Platform_name_ (Szigetszentmiklos).xlsx

- Result: good

- Percentage: 94.86%

- Total Products: 39770

- Recent Products (last 5 days): 37727

 

Platform_name_ (Brunn am Gebirge).xlsx

- Result: good

- Percentage: 100.00%

- Total Products: 27648

- Recent Products (last 5 days): 27648

 

Platform_name_.xlsx

- Result: good

- Percentage: 95.90%

- Total Products: 31939

- Recent Products (last 5 days): 30628

 

Platform_name_(Volklingen).xlsx

- Result: good

- Percentage: 93.04%

- Total Products: 104081

- Recent Products (last 5 days): 96839

 

Platform_name_.xlsx

- Result: good

- Percentage: 78.68%

- Total Products: 144067

- Recent Products (last 5 days): 113349

 

Platform_name_ (Oberhausen).xlsx

- Result: good

- Percentage: 75.16%

- Total Products: 144024

- Recent Products (last 5 days): 108245

 

Platform_name_ AUT (Korneuburg).xlsx

- Result: good

- Percentage: 83.47%

- Total Products: 87473

- Recent Products (last 5 days): 73011

 

Platform_name_ (Mettmann).xlsx

- Result: good

- Percentage: 93.14%

- Total Products: 71752

- Recent Products (last 5 days): 66829

 

Platform_name_ (Bratislava).xlsx

- Result: good

- Percentage: 95.61%

- Total Products: 175205

- Recent Products (last 5 days): 167508

 

Platform_name_ (Goeppingen).xlsx

- Result: good

- Percentage: 93.46%

- Total Products: 448062

- Recent Products (last 5 days): 418772

 

Platform_name_ (Praha).xlsx

- Result: good

- Percentage: 96.10%

- Total Products: 184284

- Recent Products (last 5 days): 177089

 

Platform_name_ (Wien).xlsx

- Result: good

- Percentage: 96.58%

- Total Products: 257480

- Recent Products (last 5 days): 248678

 

Platform_name_ (Duesseldorf).xlsx

- Result: good

- Percentage: 96.27%

- Total Products: 36158

- Recent Products (last 5 days): 34809

 

Platform_name_.xlsx

- Result: badly

- Percentage: 57.58%

- Total Products: 12768

- Recent Products (last 5 days): 7352

 

Platform_name_ (Budapest).xlsx

- Result: good

- Percentage: 95.36%

- Total Products: 33731

- Recent Products (last 5 days): 32166

 

Platform_name_(Rheinfelden).xlsx

- Result: good

- Percentage: 85.71%

- Total Products: 146821

- Recent Products (last 5 days): 125836

 

Platform_name_.xlsx

- Result: good

- Percentage: 100.00%

- Total Products: 18621

- Recent Products (last 5 days): 18621

 

Platform_name_.xlsx

- Result: good

- Percentage: 82.05%

- Total Products: 8174

- Recent Products (last 5 days): 6707

 

Platform_name_.xlsx

- Result: good

- Percentage: 81.29%

- Total Products: 17557

- Recent Products (last 5 days): 14272

 

Platform_name_.xlsx

- Result: good

- Percentage: 92.78%

- Total Products: 23237

- Recent Products (last 5 days): 21559

 

Platform_name_ (Dalmine).xlsx

- Result: good

- Percentage: 84.05%

- Total Products: 37054

- Recent Products (last 5 days): 31143

 

Platform_name_.xlsx

- Result: good

- Percentage: 73.26%

- Total Products: 6751

- Recent Products (last 5 days): 4946

 

Platform_name__only_himself.xlsx

- Result: badly

- Percentage: 0.00%

- Total Products: 122669

- Recent Products (last 5 days): 0

 

Platform_name_(Roma).xlsx

- Result: good

- Percentage: 96.15%

- Total Products: 61884

- Recent Products (last 5 days): 59502

 

Platform_name_.xlsx

- Result: good

- Percentage: 90.69%

- Total Products: 6060

- Recent Products (last 5 days): 5496

 

Platform_name_.xlsx

- Result: good

- Percentage: 100.00%

- Total Products: 63457

- Recent Products (last 5 days): 63457

 

 

 

Data storage

In 2024: Getrealprice stores all built reports for 1 year. 
In 2025: Getrealprice stores all built reports for 6 months by default. 

System throughput

30-150 MBPS

 

Communication with contact person(s)

General rules

Both sides provide clear and enough-detailed communication. If there is an incident arised, requesting side should provide full details regarding what happened. For example: 

 

Compose email with topic-related email subject and a question with attached sample SKU or few SKU's inside email body, including: 

 

- report/platform/competitor name

- screenshot of visual part (if applicable)

- SKU code if applicable

- previous state of same data 

Amount of contact persons from each side

From Getrealprice side: 2 contact persons: 

 

CP-1 for technical issues, 

CP-2 for organizational, financial and planning issues

 

From CLIENT_NAME side: 1 contact person for all issues – or – specify ___.

Requirements to knowledge and professional communication level

Both side contact person(s) aware about: 

 

- current/agreed parsing schedule 

- theoretical and real parsing speed / capacity of each web shop 

- logic of collecting data over each column for each competitor 

- limits of data collection possibilities while using special methods (API, mobile app, etc.)

 

Contact persons from both sides do not apply manipulative methods of communication (emotional, threatening, hinting, ambiguous, etc.)

 

The contact persons of both parties cannot set direct tasks to each other, since they work for different companies. At the same time, the parties can agree on changes, additional actions or works. The initiator of such changes or additional actions or works prepares the necessary materials and documents for the implementation of these actions.

Incident types

  • Web shop not parsed – needs re-crawl

  • Web shop not parsed – needs new method

  • Web shop partially parsed – needs re-crawl

  • I/O error in transferring SFTP data

  • I/O error in providing HTTPS data

  • Unknown incident 
    Change rules/methods request 

  • Request for consultation/explanation

Incident reporting rules 

If the incident happens, Getrealprice makes internal ticket for handling the incident according forecasted restore time. If CLIENT_NAME needs to be informed about the incident, Getrealprice informs CLIENT_NAME. By default, Getrealprice informs CLIENT_NAME regarding data quality once a week on Friday’s with regular data check results.

Incident handling rules

Since different incidents trigger different handling duration, forecasting of resolution time is always approximate. Sanctions are not applied if the incident real resolve time became longer than incident forecasted resolve time. 

New platforms plug in request

Should contain clear addressing: 

 

Web shop address full URL 

or

Category/Categories address full URL list 

 

Should contain clear method of data handling:

 

  • Frequency (daily/weekly/biweekly/etc)

  • EAN or Full Catalogue or Linkset or Matched or Variable

 

Should contain clear price cluster name and URL: 

City name and Inside-city-name-shopname is specified in written form, a screenshot of selected store with visible name and address is attached

 

If web shop contains non-standard data to be captured,this needs to be mentioned. The additional PDF/PPTX is provided with commented/explained screenshot(s) regarding data capturing nuances. If not provided, Getrealprice will set up format at it’s discretion guided by logic and existing experience.

Existing platforms plug off request

Specify date when Getrealprice must stop updating data. 

 

Additional charges can be applied in rare cases for some big platforms, because Getrealprice makes prepayment for traffic and other expenses related to the provision of long-term price updates.

Change data collection method request 

Same logic as “New platforms plug in request”

Rules of using verified communication channels

E-mail

Online meetings

Gitlab/tickets

Each email should have email subjectrelated to the body text.

 

Email processing time: 1-8 hours. 

 

If the email is urgent and contain “URGENT” tag in email subject, such emails are processed faster. Additional charges can be applied if urgent issues raised regarding new issues (not related with existing issues or rules).

 

If the email message is unclear, or email message is contradictory or elsehow needs more time to process, additional charges can be applied. 

Contact persons can meet online after agreeing date/time suitable for both sides. 

 

Initiator prepares detailed written agenda of existing issues/questions planned to discuss and resolve and presents such agenda at least 1 day before the assigned meeting.

Getrealprice can provide access to issue/ticket-management software (Gitlab), located https://***.getrealprice.com. To start working with Gitlab, CLIENT_NAME needs to provide emails and usernames to use issue/ticket-management software and have 1-hour online meeting with guideline announcement about Gitlab usage.