Analise What-If com ML Studio: Testando Cenarios de Negocio
Introducao
Um modelo implantado responde a pergunta "o que acontecera dados esses inputs?" Mas os stakeholders de negocio raramente param por ai. Querem saber o que aconteceria se mudassem os inputs. E se aumentarmos o preco em 15%? E se aprovarmos este emprestimo a uma taxa de juros menor? E se a temperatura de fabricacao fosse 5 graus mais alta?
Essas sao perguntas What-If, e responde-las de forma sistematica e a ponte entre um modelo que simplesmente existe em producao e um modelo que impulsiona decisoes de negocio reais. O ML Studio do CorePlexML oferece um ambiente dedicado para criar, executar e comparar cenarios What-If contra qualquer modelo implantado.
Visao Geral do ML Studio
O ML Studio se organiza em torno de tres conceitos: sessoes, cenarios e baselines.
Uma sessao esta vinculada a um modelo implantado especifico. Quando voce cria uma sessao, o ML Studio traca a linha de procedencia completa desde o deployment ate o modelo, experimento e versao do dataset para extrair o esquema de features.
Um baseline e o ponto de partida: um conjunto de valores de features que representam o estado atual ou uma observacao tipica. O ML Studio executa o baseline atraves do modelo para produzir uma predicao de referencia.
Um cenario e uma variacao do baseline. Voce muda um ou mais valores de features e o ML Studio produz uma nova predicao. O poder reside em comparar multiplos cenarios contra o baseline para entender como diferentes inputs afetam o resultado.
Criacao de uma Sessao What-If
from coreplexml import CorePlexMLClient
client = CorePlexMLClient(
base_url="https://api.coreplexml.io",
api_key="sk_your_api_key"
)
# Create a session linked to a deployment
session = client.studio.create_session(
deployment_id="dep_xyz789",
name="Churn Pricing Analysis"
)
print(f"Session ID: {session['session_id']}")
print(f"Features: {[f['name'] for f in session['schema']]}")
Estabelecendo o Baseline
baseline = client.studio.set_baseline(
session_id=session["session_id"],
features={
"tenure": 24,
"MonthlyCharges": 70.0,
"Contract": "Month-to-month",
"InternetService": "Fiber optic",
"TechSupport": "No",
"PaymentMethod": "Electronic check"
}
)
print(f"Baseline prediction: {baseline['prediction']}")
# Output: Baseline prediction: 0.72 (high churn probability)
Execucao de Cenarios
# Scenario 1: What if this customer signs a two-year contract?
scenario_1 = client.studio.create_scenario(
session_id=session["session_id"],
name="Two-Year Contract",
features={
"Contract": "Two year"
}
)
print(f"Prediction: {scenario_1['prediction']}")
# Output: Prediction: 0.18
# Scenario 2: What if we also add tech support?
scenario_2 = client.studio.create_scenario(
session_id=session["session_id"],
name="Two-Year + Tech Support",
features={
"Contract": "Two year",
"TechSupport": "Yes"
}
)
print(f"Prediction: {scenario_2['prediction']}")
# Output: Prediction: 0.12
# Scenario 3: What if we increase monthly charges by 20%?
scenario_3 = client.studio.create_scenario(
session_id=session["session_id"],
name="Price Increase 20%",
features={
"MonthlyCharges": 84.0
}
)
print(f"Prediction: {scenario_3['prediction']}")
# Output: Prediction: 0.78
Comparacao de Cenarios
comparison = client.studio.compare(session_id=session["session_id"])
for scenario in comparison["scenarios"]:
delta = scenario["prediction"] - comparison["baseline"]["prediction"]
direction = "lower" if delta < 0 else "higher"
print(f"{scenario['name']}: {scenario['prediction']:.2f} "
f"({abs(delta):.2f} {direction} than baseline)")
Na interface, o grafico de comparacao utiliza um grafico de barras codificado por cores:
- As barras azuis representam a predicao do baseline
- As barras verdes indicam cenarios onde a predicao esta acima do baseline
- As barras vermelhas indicam cenarios abaixo do baseline
- As barras cinzas aparecem quando a predicao e identica ao baseline
Compreendendo as Contribuicoes SHAP
Quando voce executa um cenario, o ML Studio tambem pode retornar valores de contribuicao SHAP (SHapley Additive exPlanations) para cada feature. Os valores SHAP decompoe uma predicao na contribuicao aditiva de cada feature de entrada.
scenario = client.studio.create_scenario(
session_id=session["session_id"],
name="Contract Change Analysis",
features={"Contract": "Two year"},
include_contributions=True
)
for feature, contribution in scenario["contributions"].items():
direction = "+" if contribution > 0 else ""
print(f" {feature}: {direction}{contribution:.4f}")
Limitacao importante: As contribuicoes SHAP nao estao disponiveis para modelos StackedEnsemble. Se seu deployment utiliza um stacked ensemble, o campo de contribuicoes estara vazio. Modelos individuais (XGBoost, GBM, Deep Learning, GLM) suportam contribuicoes.
Exemplos de Casos de Uso de Negocio
Otimizacao de Precos
Uma empresa de telecomunicacoes quer entender como mudancas de preco afetam o churn de clientes. Usando o ML Studio, a equipe de precos cria um perfil de cliente base e executa cenarios em diferentes pontos de preco. O grafico de comparacao revela imediatamente o ponto de inflexao onde a probabilidade de churn aumenta acentuadamente.
Avaliacao de Riscos
Uma seguradora utiliza um modelo de predicao de sinistros. A equipe de subscricao cria cenarios para um potencial segurado, variando o valor de cobertura, franquia, localizacao e antiguidade do veiculo.
Controle de Qualidade na Manufatura
Uma fabrica utiliza um modelo de predicao de defeitos treinado com dados de sensores. A equipe de operacoes estabelece um baseline com as condicoes de operacao atuais e executa cenarios variando temperatura, umidade e velocidade de linha.
Analise de Aprovacao de Emprestimos
Uma equipe de credito avalia como mudar os termos do emprestimo afeta a probabilidade de inadimplencia. As contribuicoes SHAP revelam quais fatores impulsionam o risco para este solicitante especifico.
Melhores Praticas
Comece com mudancas de uma unica feature. Quando voce muda multiplas features ao mesmo tempo, e dificil atribuir a mudanca na predicao a uma variavel individual. Comece variando uma feature por vez para entender seu efeito isolado.
Valide com conhecimento do dominio. Se um cenario produz um resultado contra-intuitivo, investigue antes de agir. O modelo pode ter aprendido uma correlacao espuria.
Documente seus cenarios. De a cada cenario um nome descritivo e registre a pergunta de negocio que responde. As sessoes do ML Studio persistem, entao voce pode retornar a uma analise anterior meses depois.
Compare entre segmentos de clientes. Execute o mesmo conjunto de cenarios com diferentes perfis base. Um aumento de preco que mal afeta clientes de baixa antiguidade pode impactar significativamente os de alta antiguidade.
Use valores de features realistas. Definir uma feature em um valor extremo que nunca ocorre nos dados de treinamento produz predicoes extrapoladas que podem nao ser confiaveis.
Combine com A/B testing. A analise What-If gera hipoteses. O A/B testing as valida. Use o ML Studio para identificar as intervencoes mais promissoras, depois projete experimentos controlados para confirmar os efeitos previstos na pratica.
O ML Studio transforma seus modelos implantados em ferramentas interativas de apoio a decisao. Em vez de tratar predicoes como saidas opacas, voce pode explorar a fronteira de decisao, entender as contribuicoes de features e construir casos de negocio baseados em evidencias, tudo sem escrever uma unica linha de codigo de modelo.