Let's talk (+48) 733 355 596 Estimate project

B2B Commerce

E-commerce strategy

TIM SA is the biggest electro-technical goods distributor in Poland. The company has 25 years of experience on the market and it’s been on GPW stock market for nearly 17 years. Their target audience are clients from the construction business area. For the last few years, TIM SA’s strategy has depended on construction businesses and

the new opportunities there. That was one of the reasons they invested in Rotopino SA, Polish biggest e-store selling tools (narzędzia.pl). With an expanding product range and new product categories, TIM SA is trying to reach other market segments. At this moment, TIM has over 170.000 products in Warehouses.

To accomplish our goals associated with diversification of trade markets, we are implementing customer service strategy in many different sales channels. Customers, apart from the support of 30 Departments and Trade Offices, have been also able to shop fully online in a high-class internet store since August 2013. An extra customer support for both online and offline sales is provided by Contact Center.

Dawid Sadulski
E-commerce Director
TIM SA

The whole strategy is supported by intense investments in IT and warehouse area. The top cherry of the company is CRM program Pivotal, implemented in 2013. TIM can now safely and efficiently implement the strategy of reaching many target audiences with diversified offer. Central Warehouse is still expanding. TIM’s strategy includes product delivery in the shortest amount of time possible. In most cases, it takes no longer than 24 hours after ordering. This is possible thanks to the modern warehouse.

After successful implementation of www.bankkabli.pl, the company decided to continue cooperation with Divante and created a B2B e-store as well. Divante was responsible for this implementation from scratch.

Choosing the technology

Producer’s support and elastic license model are just another encouragement.

The software provides a rich set of functions ready to use, deals with millions of product data and over 80 000 orders per hour.

System designing

Extensive system implementation with a specific budget and deadline is always a risk. To minimize it, you need to create a good and functional prototype. Any changes during prototyping are much cheaper than during the implementation and development. Using mockups, you can easily verify your ideas in a cheap and fast way.

Furthermore, interactive prototypes show how the application will work, which allows for a fast verification of the designer’s idea with client’s expectations and his target audience – in e-commerce,it is very important.

tim-2

 

User testing

Based on interactive prototypes, we have tested how potential customers will work with the e-store. Testing was a challenge because potential customer representatives were people having very different experience with online stores. People from a few regions of Poland were recruited and tested.

Preparing graphic designs and documentation with description of processes was the final part of the designing stage. After the final version of prototypes had been approved, we prepared a single graphic line (look&feel).

After the acceptance of the home page, we designed screens for all functional mock-ups. It took us one month to finish all of the graphic work.

Simultaneously, we proceeded with implementation, to shorten the final time of product delivery.

After graphic designing, our webmaster created HTML and CSS templates which were implemented into the final project in the next stage. The “PSD2HTML” stage took nearly 4 weeks of full-time webmaster’s work and was also partially done in parallel with development.

At the same time, we analyzed integration and migration of data, plus we prepared some proper technical documentation as a base for implementation work.

It’s worth mentioning that during TIM SA – Divante cooperation, all of the popular UX tools and techniques were used.

 

Implementation and start-up

B2B system requirements for such business model are always challenging. Implementation took over 14 months. Development was done on both sides: Divante (implementation of dedicated functional modules for Magento) and TIM (preparing integration systems) and partners – including Pivotal CRM.

The software was expanded with many dedicated functions. All the modifications were added as extra Magento modules. Using EAV mechanisms (object database of Magento), event-driven-development kept full actualization of the platform and software architecture. TIM has always prioritized computerization and automation of process. Fitting a solution of this caliber into current company’s infrastructure required creating and testing of many new integrations.

Nowadays the platform is connected to the following systems:

Integration with CRM system

  • Sending client’s data
  • Downloading client’s data
  • Cart synchronization (price)
  • Cart downloading
  • Cart reservation
  • Sending orders
  • Sending RFPs
  • Downloading offers for a customer
  • Downloading product price
  • Downloading product price for a customer
  • Downloading invoices data and invoices in pdf
  • Downloading order’s history
  • Downloading order’s data and WZ document
  • Product Management Program

Product Management Program

  • Downloading data on products and categories
  • Downloading catalogue cards of products and pictures

Warehouse Integration

  • Downloading product availability
  • Downloading cable segments

FactFinder Integration

  • Sending product database
  • Downloading search results

CRM integration plays the key role in the system. Thanks to bilateral integration in a real time, the merchants in TIM’s central can edit the shopping carts of the customers that are currently logged on. This combination gives rare trade possibilities.

E-store system is integrated with Pivotal CRM system by a dozen Webservices. Those services use the SOAP protocol to send messages via Gearman server. The main areas of data exchange are data synchronization with customers’ addresses in both ways and exchanging current information about the customers’ merchant limit.

Marcin Dykas
Development Leader
Divante Group OEX

Customers have access to order information and history downloaded from CRM. Also the only place where they have access to invoices is their account in the e-store. Information about their payment status and invoice files is downloaded directly from the CRM system.

800x450x2-1024x576.png.pagespeed.ic.HzbTpTZtL8 (1)

What’s the most unique about this implementation is a live integration with CRM system (product prices and whole carts). These days, the system offers 170 000 products and the number is still growing.

There are 3841 attributes grouped in 1706 sets in the database. The number of categories is bigger than 5000. Such an expanded catalogue and customer orders are served by 250 000 web-service inquiries daily.

3 (1)

At the same time, a few hundred users use the system to place a few hundreds orders.

The characteristic of the traffic is unusual. Normally, 70% of database traffic in an online store are single requests – people are checking the offer and in the end, they place an order. With TIM it’s different. Customers are using the store’s database all the time, changing their own carts and preparing offers for their contractors. Because of that, as well as the increasing range of products and user traffic, the performance of the application was quite challenging.

Piotr Karwatka
CEO
Divante Group OEX

As a part of the system’s architecture, many improvements that had influence on scalability and performance were made. A few examples:

  • replication of database master-master (backups) and master-slave to speed up reading operation and balanced traffic to database, service is available by default in Magento
  • using a scattered cache system – in this case Memcached during its optimization was replaced by Redis
  • using a scattered system of files (GlusterFS),
  • using an http-reverse-proxy system Varnish that speeds up loading pages and statistic files
  • using PerconaDB instead of MySQL for database

The architecture of the application is currently fully scalable and allows for a quick addition of application servers which, together with installed database replicas, provide a resistant and redundant environment for the application to work. Data exchange is served by the line system -which additionally allows for scaling systems independent from the platform. In case there is a big amount of inquiries or a crash of WMS, PIM or CRM systems, the line system doses communicatesand repeats inquiries until realization.

After every round of changes, there is performance testing to check and prove that application is working better using JMeter, Siege and Apache Bench tools.

tim3

TESTING

 

E-commerce systems are those with increased degree of required availability. In case of TIM, the extra risk factor that influenced the system’s stability was a big number of integrations. As for tests, we wrote the whole testing scripts for UAT (User Acceptance Tests – functional tests) and plans for performance testing and the rest.

Tests that were performed:

  • functional/ acceptable tests – based on scripts that became a foundation for the rest of the smoke tests and tests performed during development, after implementation
  • integration tests – based on the testing scripts prepared before, in cooperation with TIM’s employees, we checked if data synchronized in required range and time, and what performance and failure frequency of the system was
  • safety tests – two-staged tests were performed, stage one was using automatic tools for typical vulnerability (XSS, SQL Injection, CSRF), in stage two Magento’s added functionalities were revised and rated
  • performance tests – Siege and JMeter tools were used to application’s key paths.

As part of maintainability agreement, the application ensured times of response and implementation of users goals. Performance tests showed that the goals were implemented and the application was able to keep up with the traffic and sales volume. Written reports from all the tests were prepared for the client. Implementation was started only after their acceptance.

 

ENSURING QUALITY

 

To keep the quality of the implementation, we used the standard solutions of Divante:

  • version control system – in this case the SVN version with tagging, development planning a system of recording requests – Redmine, where all communication with the client is carried out. Redmine is used to plan the next releases of the software,
  • monitoring system – Incinga, monitoring all the parameters of the operating system and application availability monitoring (HTTP),
  • separate environment: developers, test and production
  • transactional system of deployment – using SVN (transactions) and procedures – versions are planned for each time taking into account the implementation of UAT  tests and our functional testing and regression testing.

 

SYSTEM DEVELOPMENT

 

For the last 10 months, the system has been live and constantly developed by a team consisting of experts from both TIM and Divante. In addition to the development of the system, Divante provides SLA – including response times and bugfixing options. They are very restrictive because each downtime of the system is a large measurable loss. Reaction times range from 0.5 to 1 hour and fixing times of 2-3 hours, respectively.

divante-swat-group

 

For the last 10 months, the system has been live and constantly developed by a team consisting of experts from both TIM and Divante. In addition to the development of the system, Divante provides SLA – including response times and bugfixing options. They are very restrictive because each downtime of the system is a large measurable loss. Reaction times range from 0.5 to 1 hour and fixing times of 2-3 hours, respectively.

 

In cases like TIM SA we need to provide good process to make the platform accessible. Bunch of integrations and configurations makes the system a complex solution and each actualisation needs to be done safely. A full monitoring of the application was applied – both in terms of server parameters, as well aschecking the availability of functions and log analysis.

 

BUSINESS EFFECTS:

  • increase in sales through the on-line channel from 0% to 78% (since Divante and TIM started cooperation in 2011),
  • IN 2016:

    • 21% increase in sales through the on-line channel (compared to 2015),
    • Almost 144 000 000 EUR revenue (including 100 000 000 EUR revenue from online channels).

    Read more about this project.