We had a vision for the iGaming industry - a simple, yet effective product that can bridge the collaboration between Affiliates and Operators and show the benefits of that cooperation. For this purpose we devised Reportbook, an Affiliate Platform where both Operator and Affiliate can track how much traffic has been brought/generated by a single partner. Our product facilitates the tracking, analysis, and optimization of performance, collects data and then presents it in an understandable manner, and above all allows for the scaling of business for our clients.
Who uses our software?
Operator | Our end client who employs the platform in order for his partners (affiliates) to use it |
Affiliate | People sending traffic to the end client |
Admins (Affiliate Managers, HoA) | Any user from the end client’ side who manages and supports the affiliates |
The Basics
1. The Platform is split into 2 sub platforms as following:
- Admin View (Intended for the Operator )
- Affiliate View (Intended for the partners who deliver traffic)
The purpose of this is to differentiate between what information is avaialble for the interested parties, with the intention to give master access rights to the end client and limit the partners to see data only relevant to their performance.
2. Data Export in CSV format
- The export is performed by generating two CSV files once in 24 hours and uploading them through SFTP to the IncomeAccess server. The files are: 1. Registrations of players marked with btag and 2. Transactions made by players. Exported data spans previous 24 hours.
3. General information on tracking and integration
- The process consists of three parts: 1. Tracking, 2. Player data export, 3. Import of affiliate rewards
4. Types of Product flows
- Admin Flow – Has full rigths and can create new admin accounts
- Affiliate Manager Flow – Accounts to manage Affiliates but with less rights than the admins
- Brand Flow – One Operator may have multiple brands and they need to be under the same platform

- Affiliate Flow – For the partners delivering traffic to the end client

5. Cycle of the Affiliate Platform
5,1 Platform Setup
- Provision of CSV files with the needed data (registrational details, customer activity) by the Operator
- Column adjustments to match that data
- Completion of the integration with the Operator to verify that it is successful and works as intended
- Creation of the Admin Account for the Operator
5.2 Setting up a partner for the Operator
- The Affiliate completes the registration form
- The Affilaite then appears in the Waiting list
- The Admin either approves, or rejects the Affiliate application
- Approved – Affiliate logs in to their account and is set under the default deal provided by the Operator; receives unique tracking code that identifies the generated traffic from that user
- Declined – Affilaite is blocked from logging in to their account
5.3 Traffic flow
- The Affiliate’s tracking link is placed on their site
- Customer clicks on the link
- This click is counted and visualized in the Affiliate Platform
- The customer completes their registration and puts their first deposit
- This customer’s action is provided to us over the CSV files
6. Integrations
6.1 File imports
- Registration file – used to import the data of any customer that has signed in a given period; contains the general customer details
- Activity file – provides data on the activities of registered Customers; on this basis further calculations and affiliate costs are made
6.2 File migrations
- Registration file – migrating all Customer data
- Activity file – migrating the activities of already migrated customers from the Registration file
- Affiliates – migrating affiliates that were onboarded in another Platform
How we did it?
1. Tools
We used the Time Tracker app Clockify to achieve:
- Estimations enhancement
- Client transparency
- Increased investment by increasing your time/efficiency metrics
We used Postman for our API workflow for the purpose of:
- Team play
- Shared collections
- Dynamic environment
???? We used Git for Version Control it has/allows:
- Sufficient branching capabilities
- Easy to merge branches
- Simultaneous work on non-linear development
- Isolated environment for every change in the codebase

We used Loom for internal alignment as:
- It allows us to make a screen recording, explain our issues, and keep it in the related tasks or documents
????️ We used Jira for branch naming:
- We employed the following modified branch strategy

2. Story Points
- What is a Story Point?
- We use it as a unit of estimation rather than limiting ourselves in hourly constraints. Story points allow us to gauge the complexity and effort required for a task or user story, taking into account factors like risks, dependencies, and uncertainties
- Story Point formula
- Time/complexity/unknowns
3. Reportbook logic
3.1 General
Types of assignments | Definition | Defined by | Subclasses |
Epic | Assignment that represents the whole Feature | Business department | Single (one main independent functionality), Complex (contains smaller features), Technical (reliability, development experience) |
Story | Assignment given by the Business Division | Business department | No |
Task | Assignment given by the Technical Division | Technical department | No |
3.2 Versioning
Version of | Purpose | Definition |
Epic | Internal Use | Identifies the version of the Epic to help us track the development, focus and progress on it over time. Used for reporting purposes. |
Releases | External Use | Identifies the deployment on production. It may contain multiple features or bug fixes. |
Business requirements/functionalities
Once we had the general vision about what our product would be, we had to carefully define all of its functionalities on each layer/view.
- Admin view
Dashboard
- Purpose – to provide an overview of the Operator performance and give insights through decent visualization by using all collected data
2. Affiliate view
Signup/Login
- Purpose [signup] – to enable Affiliates to be able to register on their own
- Purpose [login] – to enable Affiliates to be able to login to their account
My Account
- Purpose – contains the Affiliate details provided during the registration marked to be visible; enables the execution of certain actions (change password, change email)
Dashboard
- Purpose – the overall results are divided into 3 main components (Month to Date Highlights, 12 Months Progress, Overall Results)
Reports
- Purpose – shows 3 main sections which display the data on 3 different layers: Daily (Total of all customer activity), Monthly (Total of all customer activity), and By Player (Monthly report showing the Total results from all players during the period)
- Daily – breaks down the data that the Affiliate sees day by day (current month’s data by default); can be filtered by month or by brand
- Monthly – breaks down the data that the Affiliate sees month by month; presents the all time results for each calendar month as well as the current month totals\
- By Player – shows all data that the Affiliate sees on a player level; by default it only shows the total current month data by player; can be filtered by by brand
3. Affiliate Account view
- Purpose – serves as the main station from which the Operator manages their Affilaites; some of the key actions available would be seeing Affiliates’ details, setting deals, and giving Affiliates’ proper tracking links
Subpages – Affiliate details, Tracking link, Deal manager, Postback, Account history, Fix agreements, Balance correction, Campaigns management
- Affiliate details – displays all details that the Affiliate has used to register
- Tracking link – provides a list of landing pages that the Operator has created in advance
- Deal manager – main page for the manager when it comes to deal management
From here the manager should be able to execute the following actions:- Create new Deal Groups
- Edit existing group
- Set different deals to the different deal groups
- Change the deals
- See detailed history of each deal group
- Quick overview on the groups and deals that the Manager has in place with the Affiliate
- Postback – transfers information from the Affiliate System to the Affiliate Tracking System
- Account History, i.e. Backlog – higfhlights every change within the Affiliate accoun
The change includes: - Date & Time
- Person who initiated the change
- Type of the change
- Details – for each action there should be a predefined text identifying the made changed
- Fix agreements – keeps track of ad hoc campaigns done with a certain Affiliate; these campai9ns usually represent a temporary push with better exposure in exchange of a flat fee
- Balance correction – enables the Admin to make manual adjustments to the Affiliate Balance
- Campaigns management – enables the Admin to see and manage the campaigns set by the Affiliates
4. Newton – serves as a BI and Business Assistant
Newton – Highlights | The purpose of this page is for the user to receive brief highlights of the performance. Two Highlights Sections will be identified: By Traffic Source and By Countries – both show the Admins and Managers the ROI amount for all partners based on their traffic source and highlights which is the most profitable source |
Newton – Traffic Insider | Shows data based on specific criteria set through the required filters. There are four tables in total: Table 1) Retention & ROI for the Past 12 Months – shows the Admins and Managers how the traffic performs in terms of Retention and ROI, when it pays off and what % of the customers continue to use the service after they have signed. Tables with results – shows all results from all markets and traffic sources, i.e. Conversions, Monthly performance, Performance by player |
MTD Comparison | Provides an overview showing the difference in the performance of all partners Month to date vs Last Month same period. This page contains the following content: Back Button Title of the Analysis Filter Table with Totals Table with Affiliates Back Button - this button returns you to the page with the list of Analysis Filters: By Manager By Brand By Traffic Source Table with Totals This table gives the total sum of FTD’s based on the filters. Similar to the Dashboard you should receive the following information in each column: Month to date FTD’s Same period last month FTD’s Difference of FTD’s = (Month to Date) – (Same Period Last Month) Delta = Difference / Same Period Last Month Run Rate = (Month to Date) / (Count of Days) * (Days of the Calendar) * 1.92 Table with Affiliates Same as the table with totals, however here it is split by affiliates. Each row represents an Affiliate based on the filters setup. Specifications: Here are listed only Affiliates with 1 or more FTD’s in columns: Month to date Last month same P No Pagination should apply Sorting option on the following columns: Month to date Last month same Period Difference |
Weekly Comparison | The majority of the specifics correspond to those listed in the MTD’s Comparison, with the only difference that there is an extra filter that loads relevant data upon selection. Specifications: Filter for weeks applies only after pressing the button (Compare) |