Skip to content

Guia de Testes - Simulação de RTP

Índice

  1. Introdução
  2. O que é RTP?
  3. Metodologia do Teste
  4. Resultados da Simulação
  5. Análise Detalhada por Caixa
  6. Sistema FLIP
  7. Distribuição de Raridades
  8. Análise de Lucratividade
  9. Como Executar o Teste
  10. Interpretação dos Resultados

Introdução

Este documento descreve o teste de simulação de RTP (Return to Player) executado no sistema CSGOFlip. O objetivo é validar que as probabilidades configuradas nas caixas estão funcionando corretamente e analisar a lucratividade do sistema.

Data do Teste: 09/12/2025 Ambiente: Desenvolvimento Range Provably Fair: 1 a 10.000.000


O que é RTP?

RTP (Return to Player) é a porcentagem do dinheiro apostado que retorna aos jogadores ao longo do tempo.

RTPSignificadoExemplo
100%Break EvenJogador aposta R$ 100, recebe R$ 100 em média
95%Casa lucra 5%Jogador aposta R$ 100, recebe R$ 95 em média
80%Casa lucra 20%Jogador aposta R$ 100, recebe R$ 80 em média
120%Casa perde 20%Jogador aposta R$ 100, recebe R$ 120 em média

House Edge = 100% - RTP (margem da casa)

RTPs Típicos da Indústria

Tipo de JogoRTP Típico
Slots Online94-98%
Blackjack99%+
Roleta94-97%
Sites de Caixas CS70-85%

Metodologia do Teste

Parâmetros da Simulação

Simulações por caixa: 1.000
Total de caixas testadas: 10
Total de aberturas simuladas: 10.000
Range do Provably Fair: 1 a 10.000.000

Processo de Simulação

  1. Para cada caixa ativa no banco de dados:

    • Executa 1.000 aberturas simuladas
    • Cada abertura gera seeds aleatórios (serverSeed + clientSeed)
    • Calcula o roll usando HMAC-SHA256
    • Verifica se FLIP é ativado (roll >= flipThreshold)
    • Seleciona o item baseado no roll e hashRanges
    • Acumula valores apostados e ganhos
  2. Cálculo do Roll:

typescript
function calculateRoll(serverSeed, clientSeed, nonce) {
  const combined = `${serverSeed}:${clientSeed}:${nonce}`;
  const hash = crypto.createHmac('sha256', serverSeed).update(combined).digest('hex');
  return (parseInt(hash.substring(0, 8), 16) % 10000000) + 1;
}
  1. Seleção de Item:
typescript
function selectItem(caseItems, roll) {
  return caseItems.find(item => 
    roll >= item.hashRangeStart && roll <= item.hashRangeEnd
  );
}
  1. Sistema FLIP:
typescript
const flipThreshold = Math.min(...rareItems.map(item => item.hashRangeStart));
const isFlip = roll >= flipThreshold;

Resultados da Simulação

Resumo Executivo

MétricaValor
Total ApostadoR$ 13.609.390,00
Total Ganho (Players)R$ 10.817.646,82
Lucro da CasaR$ 2.791.743,18
RTP Geral79.49%
House Edge20.51%

Visualização do RTP por Caixa

RTP (Return to Player) - Quanto % volta para os jogadores
100% = Break Even | <100% = Casa lucra | >100% = Casa perde

🟡 Invisible        | █████████████████████████████████████████████████ 98.8%
✅ Gamma Era        | ██████████████████████████████████████████ 84.9%
✅ Audemars Piguet  | ████████████████████████████████████████ 80.5%
✅ Chrome Hearts    | ████████████████████████████████████████ 79.8%
✅ Mona Lisa        | ████████████████████████████████████████ 79.2%
✅ Fever knives     | ███████████████████████████████████████ 78.4%
✅ Haze Mining      | █████████████████████████████████████ 73.6%
✅ Blue gem mania   | █████████████████████████████████████ 73.2%
✅ Doppler Era      | ██████████████████████████████████ 68.7%
✅ Flora mining     | ██████████████████████████████ 60.4%

Legenda:
🟡 = Margem baixa (RTP > 95%)
✅ = Margem saudável (RTP 60-95%)
❌ = Casa perde (RTP > 100%)

Análise Detalhada por Caixa

Tabela Completa

CaixaPreçoRTPHouse EdgeApostado (1000x)RetornadoLucro Casa
InvisibleR$ 100,0098.85%1.15%R$ 100.000,00R$ 98.849,29R$ 1.150,71
Gamma EraR$ 185,8084.88%15.12%R$ 185.800,00R$ 157.699,32R$ 28.100,68
Audemars PiguetR$ 4.986,0980.49%19.51%R$ 4.986.090,00R$ 4.013.521,29R$ 972.568,71
Chrome HeartsR$ 499,0979.80%20.20%R$ 499.090,00R$ 398.288,24R$ 100.801,76
Mona LisaR$ 5.835,6979.18%20.82%R$ 5.835.690,00R$ 4.620.601,50R$ 1.215.088,50
Fever knivesR$ 1.428,3978.36%21.64%R$ 1.428.390,00R$ 1.119.334,54R$ 309.055,46
Haze MiningR$ 8,4473.61%26.39%R$ 8.440,00R$ 6.212,73R$ 2.227,27
Blue gem maniaR$ 334,4873.23%26.77%R$ 334.480,00R$ 244.951,99R$ 89.528,01
Doppler EraR$ 222,9768.66%31.34%R$ 222.970,00R$ 153.094,35R$ 69.875,65
Flora miningR$ 8,4460.35%39.65%R$ 8.440,00R$ 5.093,57R$ 3.346,43

Análise por Faixa de RTP

RTP Alto (>95%) - ATENÇÃO

CaixaRTPRisco
Invisible98.85%Margem muito baixa, quase break even

RTP Médio-Alto (80-95%) - SAUDÁVEL

CaixaRTPStatus
Gamma Era84.88%OK
Audemars Piguet80.49%OK
Chrome Hearts79.80%OK
Mona Lisa79.18%OK
Fever knives78.36%OK

RTP Médio-Baixo (60-80%) - MUITO LUCRATIVO

CaixaRTPStatus
Haze Mining73.61%Muito lucrativo
Blue gem mania73.23%Muito lucrativo
Doppler Era68.66%Muito lucrativo
Flora mining60.35%Extremamente lucrativo

Sistema FLIP

O sistema FLIP dá aos jogadores uma "segunda chance" quando o roll cai na faixa de itens raros.

Como Funciona

  1. Cada caixa tem um flipThreshold = menor hashRangeStart dos itens raros
  2. Se roll >= flipThreshold, FLIP é ativado
  3. Uma segunda roleta é exibida apenas com itens raros
  4. Um segundo roll determina qual item raro o jogador ganha

Resultados do FLIP

CaixaFlip ThresholdFLIPs (1000 aberturas)% RealChance Teórica
Mona Lisa8.678.55513813.8%13.21%
Audemars Piguet8.805.50612812.8%11.94%
Doppler Era8.629.25612712.7%13.71%
Chrome Hearts9.185.292858.5%8.15%
Invisible9.323.950646.4%6.76%
Gamma Era9.319.015606.0%6.81%
Haze Mining9.964.30540.4%0.36%
Flora mining9.999.88600.0%0.00%
Fever knivesN/A00.0%N/A
Blue gem maniaN/A00.0%N/A

Observação: Caixas sem itens marcados como isRare não ativam FLIP.

Validação

Os resultados reais estão muito próximos das chances teóricas, validando que o sistema Provably Fair está funcionando corretamente.


Distribuição de Raridades

Drops Globais (10.000 aberturas)

RaridadeQuantidadePorcentagem
CONSUMER1.46314.63%
INDUSTRIAL1.62716.27%
MIL_SPEC3.72537.25%
RESTRICTED7017.01%
CLASSIFIED1.92819.28%
COVERT4814.81%
EXTRAORDINARY750.75%

Visualização

CONSUMER       ████████████████ 14.63%
INDUSTRIAL     ██████████████████ 16.27%
MIL_SPEC       █████████████████████████████████████████ 37.25%
RESTRICTED     ████████ 7.01%
CLASSIFIED     █████████████████████ 19.28%
COVERT         █████ 4.81%
EXTRAORDINARY  █ 0.75%

Análise de Lucratividade

Top 5 Caixas Mais Lucrativas (por House Edge)

RankCaixaHouse EdgeLucro/1000 aberturas
1Flora mining39.65%R$ 3.346,43
2Doppler Era31.34%R$ 69.875,65
3Blue gem mania26.77%R$ 89.528,01
4Haze Mining26.39%R$ 2.227,27
5Fever knives21.64%R$ 309.055,46

Top 5 Caixas com Maior Volume de Lucro

RankCaixaLucro AbsolutoMotivo
1Mona LisaR$ 1.215.088,50Preço alto (R$ 5.835)
2Audemars PiguetR$ 972.568,71Preço alto (R$ 4.986)
3Fever knivesR$ 309.055,46Preço médio-alto + bom HE
4Chrome HeartsR$ 100.801,76Preço médio + bom HE
5Blue gem maniaR$ 89.528,01House Edge alto (26.77%)

Maiores Ganhos (Big Wins)

CaixaItemValorLucro do Jogador
Gamma EraKarambit Gamma DopplerR$ 16.167,52+R$ 15.981,72
Gamma EraKarambit Gamma DopplerR$ 16.167,52+R$ 15.981,72
Gamma EraButterfly Knife Gamma DopplerR$ 13.586,22+R$ 13.400,42
InvisibleAWP The PrinceR$ 12.020,09+R$ 11.920,09
Gamma EraM9 Bayonet Gamma DopplerR$ 10.743,14+R$ 10.557,34

Como Executar o Teste

Pré-requisitos

  • Node.js instalado
  • Banco de dados PostgreSQL configurado
  • Caixas com itens e ranges configurados

Comando

bash
cd /caminho/para/csgoflip
node scripts/rtp-simulation.js

Parâmetros Configuráveis

No arquivo scripts/rtp-simulation.js:

javascript
const SIMULATIONS_PER_CASE = 1000;  // Número de simulações por caixa
const TOTAL_RANGE = 10000000;        // Range do Provably Fair (NÃO ALTERAR)

Saída

O script gera:

  1. Output no console com progresso
  2. Arquivo docs/RTP_ANALYSIS.md com relatório completo

Interpretação dos Resultados

RTP Saudável

Para sites de caixas CS, um RTP entre 70-85% é considerado saudável:

  • Oferece margem suficiente para a casa
  • Mantém jogadores engajados com wins ocasionais
  • Permite big wins que geram marketing orgânico

Alertas

SituaçãoAção Recomendada
RTP > 100%URGENTE: Ajustar probabilidades imediatamente
RTP > 95%ATENÇÃO: Margem muito baixa, considerar ajuste
RTP < 60%CUIDADO: Pode afugentar jogadores, considerar melhorar

Caixa "Invisible" (RTP 98.85%)

Esta caixa tem margem extremamente baixa. Recomendações:

  • Revisar se os preços dos itens estão corretos
  • Considerar aumentar o preço da caixa
  • Ou ajustar as probabilidades dos itens de alto valor

Conclusão

O sistema de probabilidades está funcionando corretamente:

  1. Provably Fair validado: Rolls estão dentro do range 1-10.000.000
  2. FLIP funcionando: Porcentagens reais próximas das teóricas
  3. Distribuição correta: Raridades seguem as probabilidades configuradas
  4. RTP geral saudável: 79.49% está dentro do esperado para a indústria

Pontos de Atenção

  1. Invisible precisa de ajuste (RTP 98.85% muito alto)
  2. Flora mining pode ser agressiva demais (RTP 60.35%)

Relatório gerado automaticamente pelo script rtp-simulation.jsÚltima atualização: 09/12/2025

Documentação Técnica CSGOFlip